In this tutorial you will learn how to set up Apache virtual hosts on Ubuntu Server.
Code used during this tutorial:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# Set up Apache virtual hosts on Ubuntu # The basic unit that describes an individual site or domain is called a virtual host # Allow the administrator to use one server to host multiple domains or sites off of a single interface or IP by using a matching mechanism # Install Apache sudo apt-get update sudo apt-get install apache2 # Local OS sudo vi /etc/hosts 192.168.56.101 http.liviubalan.com 192.168.56.101 liviubalan.ro 192.168.56.101 test.com ping http.liviubalan.com ping liviubalan.ro # Browser http://http.liviubalan.com/ http://liviubalan.ro/ # Create directory structure sudo mkdir /var/www/http.liviubalan.com sudo mkdir /var/www/liviubalan.ro # Alternative (cPanel mode): sudo mkdir -p /var/www/example.com/public_html # Grant permissions ls -l /var/www/ sudo chown -R $USER:$USER /var/www/http.liviubalan.com/ sudo chown -R $USER:$USER /var/www/liviubalan.ro/ ls -l /var/www/ ls -l /var/www/ sudo chmod -R 755 /var/www ls -l /var/www/ # My recommended way sudo rm -rf /var/www/http.liviubalan.com/ /var/www/liviubalan.ro/ sudo chown www-data:www-data /var/www sudo chmod 775 /var/www # Switch to a user with default group www-data su liviu.balan mkdir /var/www/http.liviubalan.com mkdir /var/www/liviubalan.ro # Create demo pages for each virtual host vi /var/www/http.liviubalan.com/index.html <html> <head> <title>Welcome to http.liviubalan.com!</title> </head> <body> <h1>Success! The http.liviubalan.com virtual host is working!</h1> </body> </html> vi /var/www/liviubalan.ro/index.html <html> <head> <title>Welcome to liviubalan.ro!</title> </head> <body> <h1>Success! The liviubalan.ro virtual host is working!</h1> </body> </html> # Default virtual host file used as inspiration sudo vi /etc/apache2/sites-available/000-default.conf # Create virtual host files sudo vi /etc/apache2/sites-available/http.liviubalan.com.conf <VirtualHost *:80> ServerAdmin admin@liviubalan.com ServerName http.liviubalan.com ServerAlias www.http.liviubalan.com DocumentRoot /var/www/http.liviubalan.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> sudo vi /etc/apache2/sites-available/liviubalan.ro.conf <VirtualHost *:80> ServerAdmin admin@liviubalan.ro ServerName liviubalan.ro ServerAlias www.liviubalan.ro DocumentRoot /var/www/liviubalan.ro ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> # Enable the new virtual host files sudo a2ensite http.liviubalan.com.conf sudo a2ensite liviubalan.ro.conf # Restart Apache to make these changes take effect sudo service apache2 restart # Browser http://http.liviubalan.com/ http://liviubalan.ro/ # Points to default /var/www/html/ http://test.com/ Useful links: https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts |
Useful links:
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts