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):
- Disabilitiamo l’attuale configurazione
sudo a2dissite 000-default.conf
- Creiamone una copia
sudo cp 000-default.conf new_def.conf
- 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>
- Abilitiamo quindi la nuova configurazione
sudo a2ensite new_def.conf
- Ricarichiamo e riavviamo Apache
sudo service apache2 reload
esudo 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
- Creiamo la nuova cartella che conterrà il sito web, ad esempio
/home/Nomeutente/www/test.host
- Accediamo alla cartella di gestione delle configurazioni ai apache2
cd /etc/apache2/sites-available
- Creiamo una copia della nostra nuova configurazione
sudo cp new_def.conf test_host.conf
- 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>
- Abilitiamo quindi la nuova configurazione
sudo a2ensite test_host.conf
- 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
- Dopo aver salvato il file ricarichiamo e riavviamo Apache
sudo service apache2 reload
esudo 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