19. Apache Config for Many web sites – sites-available and DNS HAVEFUTURE.BIZ

How easy to configure your Linux Apache for many different web sites at the same time.

sudo mkdir -p /var/www/example.com/public_html

sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chmod -R 755 /var/www

nano /var/www/example.com/public_html/index.html

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

sudo nano /etc/apache2/sites-available/example.com.conf

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

ServerAdmin admin@example.com

ServerName example.com
ServerAlias www.example.com

sudo nano /etc/apache2/sites-available/example.com.conf

<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

sudo a2ensite example.com.conf

sudo service apache2 restart

Step Six — Set Up Local Hosts File (Optional)
sudo nano /etc/hosts
127.0.0.1 localhost
127.0.1.1 guest-desktop
111.111.111.111 example.com
111.111.111.111 test.com