Host, VirtualHost e LocalHost

Dopo aver spiegato velocemente come si installa il web server apache su linux per accedere a localhost e come attivare, se non già funzionante il mod_rewrite ovvero la funzione per gli url facili, continuiamo la preparazione della nostra macchina per ospitare i nostri siti da mettere successivamente online.

Sono pochi i passaggi da fare, ma per farli bisogna avere chiaro in testa il risultato finale:
a noi interessa poter accedere ad ogni sito web presente nella DCR, come fosse un sito a se stante e non una sottodirectory di http://localhost.

Creiamo il nostro virutal host

Come prima cosa meglio spostare la DCR all’interno della cartella /home ad esempio in /home/Nomeutente/www/ cosi anche in caso di azzeramento del sistema i dati saranno salvi (poi ci occuperemo anche del DB.)
Quindi creiamo la nostra cartella www ed assegnamo il nuovo virtual host modificano di file presenti nella cartella /etc/apache2/sites-available/ accedendovi; in sequenza facciamo (una volta all’interno della directory):

localhost e virtual host
  1. Disabilitiamo l’attuale configurazione sudo a2dissite 000-default.conf
  2. Creiamone una copia sudo cp 000-default.conf new_def.conf
  3. Tramite nano modifichiamo il file sudo nano new_def.conf come il seguente
<VirtualHost *:80>
	ServerAdmin webmaster@localhost
        ServerName localhost
     # Indexes + Directory Root.
        DirectoryIndex index.html index.htm index.php
        DocumentRoot /home/Nomeutente/www/
        Alias /phpmyadmin /usr/share/phpmyadmin
        Alias /mailmanager /var/www/mailmanager
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /home/Nomeutente/www>
	       	Options Indexes FollowSymLinks
       		AllowOverride None
		Require all granted
	</Directory>
     # CGI Directory
     # ScriptAlias /cgi-bin/ /home/Nomeutente/www/cgi-bin/
     # <Location /cgi-bin>
     #       Options +ExecCGI
     # </Location>
     # Logfiles
     # Ricordarsi di creare la directory
        ErrorLog  /home/Nomeutente/www/errohttp://localhost/floxim/install/index.phpr.log
        CustomLog /home/Nomeutente/www/access.log combined
</VirtualHost>
  1. Abilitiamo quindi la nuova configurazione sudo a2ensite new_def.conf
  2. Ricarichiamo e riavviamo Apache sudo service apache2 reload e sudo service apache2 restart

Ora se proviamo a digitare localhost nel browser verremo reindirizzati alla nuova DCR.

Abilitiamo tutti gli host creati su localhost

Come è facile intuire, per raggiungere il nostro obiettivo, ci basterà ripetere il tutto dal 2° passaggio, dopo aver creato la nostra cartella che conterrà il sito web.
Avendo diversi siti web in sviluppo, per comodità e per differenziarli da quelli online, io utilizzo l’estension .host

  1. Creiamo la nuova cartella che conterrà il sito web, ad esempio /home/Nomeutente/www/test.host
  2. Accediamo alla cartella di gestione delle configurazioni ai apache2 cd /etc/apache2/sites-available
  3. Creiamo una copia della nostra nuova configurazione sudo cp new_def.conf test_host.conf
  4. Tramite nano modifichiamo il file sudo nano test_host.conf come il seguente
<VirtualHost *:80>
	ServerAdmin webmaster@test.hostt
        ServerName test.host
        ServerAlias www.test.host
     # Indexes + Directory Root.
        DirectoryIndex index.html index.htm index.php
        DocumentRoot /home/Nomeutente/www/test.host/
        Alias /phpmyadmin /usr/share/phpmyadmin
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /home/Nomeutente/www/test.host/>
	       	Options Indexes FollowSymLinks
       		AllowOverride None
		Require all granted
	</Directory>
     # CGI Directory
     # ScriptAlias /cgi-bin/ /home/Nomeutente/www/test.host/cgi-bin/
     # <Location /cgi-bin>
     #       Options +ExecCGI
     # </Location>
     # Logfiles
     # Ricordarsi di creare la directory
        ErrorLog  /home/Nomeutente/www/test.host/error.log
        CustomLog /home/Nomeutente/www/test.host/access.log combined
</VirtualHost>
  1. Abilitiamo quindi la nuova configurazione sudo a2ensite test_host.conf
  2. A questo punto prima di digitare nel browser il nostro nuovo indirizzo locale, dobbiamo assegnare il corretto DNS al dominio. Per farlo dobbiamo semplicemente aggiungere una riga nel file /etc/hosts/. Apriamolo sudo nano /etc/hosts e modifichiamo cosi:
127.0.0.1       localhost
127.0.0.1       test.host
  1. Dopo aver salvato il file ricarichiamo e riavviamo Apache sudo service apache2 reload e sudo service apache2 restart

A questo punto possiamo accedere direttamente alla nuova cartella digitando l’indirizzo test.host nel nostro browser.

Risorse

Se volete invece volete questa configurazione su Windows potete leggere l’articolo dedicato

Lascia un commento