Name-based virtual hosting allows multiple websites to be hosted on a single server using a single IP address. To set this up, Apache must first be installed on the system. Virtual host files are then created for each domain and enabled in Apache's configuration. The host files on local and remote systems must also be edited to resolve website names to the server's IP address. Potential issues that could arise include problems with network interfaces, updating, installing Apache, or restarting Apache when hosting multiple sites.