Visible light communications (VLC) is a communication medium using unlicensed vast visible light spectrum promising high data rates, and therefore can be a solution to the spectrum crunch problem in radio frequency networks. It has been studied thoroughly in recent years as an alternative or complementary technology to radio frequency communications. In this dissertation, we study some main challenges about VLC, which are light emitting diode (LED) assignment to users, analysis of random receiver orientation, beam steering, and mobile user localization and tracking. First, we study the problem of assigning multiple LEDs to each user in an environment where the number of LEDs is much larger than the number of users. Future LED illumination infrastructure is envisioned to have a large number of low power LEDs. The presence of many LEDs can be exploited for indoor VLC networks, to serve each user by multiple LEDs for improving link quality and throughput. In this study, we group LEDs and assign to the users based on the received signal strength from each LED, for which we propose different solutions to achieve maximum throughput, proportional fairness, and quality of service. Additionally, we investigate the power optimization of LEDs for a given assignment and derive Jacobian and Hessian matrices of the corresponding optimization problem. Lastly, an efficient calculation of channel response is presented to simulate the multipath VLC channel with low computational complexity. Second, we study the effects of random receiver orientation and mobility on the link quality of VLC. The reliability of VLC channels highly depends on the availability and alignment of the line of sight links. In this work, we study the effect of random receiver orientation for mobile users over VLC downlink channels, which affects the existence of the line of sight links and the receiver field of view. Based on the statistics of vertical receiver orientation and user mobility, we develop a unified analytical framework to characterize the statistical distribution of VLC downlink channels, which is then utilized to obtain the outage probability and the bit error rate. Our analysis is generalized for arbitrary distributions of receiver orientation/location for a single transmitter and extended to multiple transmitter case for certain scenarios. Third, we study VLC beam steering considering a scenario where VLC beam directions are assumed to be fixed during a transmission frame. We find the steering angles that simultaneously serve multiple users within the frame duration and maximize the data rates. Subsequently, we consider multiple steerable beams with a larger number of users in the network and propose an algorithm to cluster users and serve each cluster with a separate beam. We optimize the transmit power of each beam to maximize the data rates. Finally, we propose a non-orthogonal multiple access (NOMA) scheme for the beam steering and user clustering scenario to further increase the user data rates. Last, we study VLC user localization and tracking with adaptive Kalman filter. A VLC network can be used to localize mobile users in indoor environments, where the global positioning system (GPS) signals cannot penetrate. In this dissertation, we study tracking a VLC user when the availability of VLC access point (AP) link changes over the user's route. We propose a localization method for a single available AP and use known estimation methods when a larger number of APs are available. The generic Kalman filter does not consider instant changes in the measurement method. In order to include this information in the position estimation, we implement an adaptive Kalman filter by modifying the filter parameters based on the available AP configurations.