Skip to content


HowTo: Configurazione dei Virtual Hosts (alias) con Apache 2 su Debian ETCH

Apache

Premessa

Questo tutorial non intende in nessun modo sostituire la reference ufficiale di Apache, per cui descrizioni dettagliate delle singole parti dei files di configurazione possono essere trovate nel sito ufficiale di Apache.

Introduzione

Nella guida precedente abbiamo parlato dell'installazione e la configurazione di un server LAMP con Debian, Apache2, MySQL e PHP, passiamo adesso alla configurazione dei singoli virtual hosts (ovvero degli hosts virtuali).

Il VirtualHosting consente la gestione di più domini basandosi sul loro nome ma non sul loro IP ed è una pratica ampiamente utilizzata in quanto è facile immaginare il gap di guadagno semplicemente immaginando il costo di una farm costituita da una serie di server che ospitano ciascuno un dominio diverso ed un solo server che ospita diversi domini diversi. L'unico appunto che può essere fatto a questa metodologia di gestione è che effettivamente se si ha un dominio molto attivo esso potrebbe monopolizzare le risorse di sistema lasciando solo la rimanenza delle risorse agli altri domini hostati difatti questo tipo di configurazione abitualmente è utilizzata per ospitare domini che non generano traffico eccessivo.

Se avete seguito la guida sull'installazione e la configurazione di un server LAMP con Debian non è necessario altro infatti l'intento di questo tutorial è dare le basi per la configurazione dei virtual hosts.

Azioni preliminari per configurare Apache

Per prima cosa prendiamo nota della DocumentRoot impostata nel file di configurazione di Apache2 digitando:

cat /etc/apache2/apache2.conf | grep DocumentRoot

di default la DocumentRoot è /var/www e utilizzerò questo riferimento nel resto del tutorial, tuttavia può essere facilmente modificata editando /etc/apache2/apache2.conf cercando la riga contenente DocumentRoot (per esempio con vim vi basterà digitare /DocumentRoot ) e modificando il percorso (ricordatevi che dovete creare la directory interessata prima di procedere al riavvio di apache tramite il comando /etc/init.d/apache2 reload ).
Cerchiamo di configurare l'ambiente per un dominio generico che con un po' di fantasia chiameremo miodominio.com . Adesso che conosciamo la nostra DocumentRoot possiamo creare una directory al suo interno:

mkdir /var/www/miodominio.com

che non renderemo pubblica ed una directory public che invece renderemo pubblica per cui:

mkdir /var/www/miodominio.com/public

creiamo anche una directory che useremo per l'utilizzo degli script CGI e vedremo in seguito come utilizzarla:

mkdir /var/www/miodominio.com/cgi-bin

I file di configurazione di Apache

Procediamo con la creazione del file di configurazione per il dominio che vogliamo configurare, quindi creiamo e cominciamo a compilare il file suddetto col comando

vim /etc/apache2/sites-available/miodominio.com

inserendovi il seguente testo che analizzeremo riga per riga:

<VirtualHost *:80 >
ServerAdmin webmaster@miodominio.com
ServerName www.miodominio.com
DocumentRoot /var/www/miodominio.com/public
Alias /phpmyadmin "/usr/share/phpmyadmin"
<Directory "/var/www/miodominio.com/public">
Order Deny,Allow
Allow from all
Options -Indexes
</Directory>
<Directory "/var/www/miodominio.com/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch -Indexes
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error_miodominio.net.log
LogLevel warn
CustomLog /var/log/apache2/access_miodominio.net.log combined
ServerSignature On
</VirtualHost>

procediamo all'analisi della configurazione di apache riga per riga:

<VirtualHost *:80 >
è il tag che indica che devono essere processate le richieste indirizzate alla porta 80 (che comunque è quella di default) di tutti gli IP configurati nella macchina

ServerAdmin webmaster@miodominio.com
serve per indirizzare correttamente le richieste di supporto in caso di errori (pagine mancanti, richieste con accesso negato, ecc)

ServerName www.miodominio.com
viene utilizzato per configurare il nome di dominio da gestire e che lo distinguerà dagli altri

DocumentRoot /var/www/miodominio.com/public
ci dice in quale directory saranno indirizzate le richieste di connessione per il nome di dominio specificato nella riga precedente ed è anche la directory che quindi dovrebbe contenere l'index

Alias /phpmyadmin "/usr/share/phpmyadmin"
in questo modo impostiamo un alias di dominio ovvero digitando sul browser www.miodominio.com/phpmyadmin verremo indirizzati a quella directory che contiene il software phpmyadmin e quindi potremo amministrare il database

<Directory "/var/www/miodominio.com/public">
con questo tag cominciamo la configurazione dei permessi della directory public

Order Deny,Allow
definisce l'ordine di processamento dei permessi; nella fattispecie prima le negazioni di servizio (nel caso ci dovessero essere) e poi gli accessi

Allow from all
siccome nel nostro esempio non ci preoccupiamo di negare l'accesso in quanto vogliamo che il sito sia perfettamente accessibile dall'esterno consentiamo l'accesso a tutti

Options -Indexes
serve per restituire un messaggio di errore se nella directory nella quale si tenta l'accesso non è presente un file index , ciò serve per evitare di rendere pubblico materiale al quale non sono presenti collegamenti diretti

</Directory>
chiude il tag aperto poco prima

<Directory "/var/www/miodominio.com/cgi-bin">
con questo tag cominciamo a configurare la directory che conterrà gli script cgi

AllowOverride None
con questa opzione diciamo esplicitamente ad apache di non leggere il file .htaccess anche se presente perchè di fatto in questa directory non serve

Options ExecCGI -MultiViews +SymLinksIfOwnerMatch -Indexes
la descrizione di questa direttiva è un po' più lunga delle altre perchè ci sono un paio di opzioni di cui parlare (rimando al sito ufficiale per la documentazione dettagliata ed in inglese). Con ExecCGI consentiamo l'esecuzione di scripts CGI se è abilitato il modulo mod_cgi; con -MultiViews facciamo in modo che quando viene richiamata tramite browser la directory /var/www/miodominio.net/cgi-bin/qualcosa e questa directory non esistesse apache NON (vedi il - antecedente l'opzione) cerca un qualunque file in /var/www/miodominio.net/cgi-bin/ del tipo qualcosa.* ; con +SymLinksIfOwnerMatch facciamo in modo che Apache segua i links simbolici di sistema contenuti in questa directory solo se il proprietario del file o della directory di destinazione è lo stesso utente proprietario del link ; la -Indexes l'abbiamo vista prima

Order allow,deny
Allow from all
</Directory>

queste tre righe le abbiamo analizzate prima

ErrorLog /var/log/apache2/error_miodominio.net.log
questa riga serve per specificare il file in cui scrivere gli errori di apache che vengono riscontrati dagli utenti in fase di navigazione; è bene impostare un nome di questo file diverso per ogni dominio per facilitarne la lettura

LogLevel warn
con questa opzione dichiariamo il livello "verbosità" dei log e possiamo scegliere tra debug, info, notice, warn, error, crit, alert, emerg

CustomLog /var/log/apache2/access_miodominio.net.log combined
questa direttiva serve per tenere traccia delle richiesta al server apache

ServerSignature On
indica al server di includere la "firma" nel footer dei messaggi di errore, che include il nome del server ed il tipo di sistema operativo che si sta utilizzando

</VirtualHost>
questa indica la chiusura del tag VirtualHost

Completamento della configurazione di Apache

Per abilitare finalmente il nostro dominio sul server bastano due soli comandi

a2ensite miodominio.com
/etc/init.d/apache2 reload

col primo abilitiamo il nostro dominio creando un symlink a /etc/apache2/sites-available/miodominio.com in /etc/apache2/sites-enabled/miodominio.com e per disabilitarlo possiamo utilizzare i comandi

a2dissite miodominio.com
/etc/init.d/apache2 reload

ricordiamo sempre di ricaricare la cache di configurazione di apache ogni volta che viene modificato un file di configurazione.

Fatto ciò se i DNS sono aggiornati il nuovo sito sarà raggiungibile all'indirizzo www.miodominio.com.

Be Sociable, Share!

Posted in Web Server.

Tagged with , , , , , , , , , .


77 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. mavic mountain bike shoes says

    Your styoe is very unique compared to other foolks I’ve read stuff from.

    Thanks for posting when you’ve got the opportunity, Guess I’ll just bookmark this site.

  2. iron railing spindles houston tx says

    Keep the layout you have ‘ One of the quickest ways to increase
    the cost of a kitchen remodel is by changing up the layout.
    Replacing a front door is not an expensive undertaking, so do so if it
    needs it. The scratches, stains, blemishes and damaged parts of the table are hidden behind
    the mirror.

  3. look What I Found says

    Thank you, Amada. The company’s cancer documents are stacked up, but more merry tears The passion of woodworking.That year, and
    while the Queen, the themes do change, so please wait just a clloudy day,
    Through this action, making the bad old days at a stage. From thhe moment off quiietness
    before I lived in the previous sabbat, and even the slyest fox,then Qiao Corp.
    His discretion, and real ugly. And I will tell all iin that district.

  4. Summer says

    Awesome post. You should use social websites to increase traffic.

    There are tools which automate this time consuming process.Visitors can flood your page in no time, just type in google for:
    Rixisosa’s Social Automation

  5. google play card codes says

    I don’t even know the way I ended up right here, but
    I thought this post was good. I don’t understand who you are however
    definitely you are going to a famous blogger should you aren’t already.
    Cheers!

  6. Bill says

    Different personal and public agencies – including Fannie Mae, Freddie Mac, the Federal Housing Administration, and the Department of Veterans Affairs – offer low deposit mortgages
    through.

  7. win playstation 4 says

    An outstanding share! I’ve just forwarded this onto a coworker
    who was doing a little research on this. And he actually bought me breakfast simply because I stumbled upon it
    for him… lol. So let me reword this…. Thanks for the meal!!
    But yeah, thanx for spending the time to discuss this topic here on your website.

  8. daun sirsak untuk keputihan says

    Woah! I’m really digging the template/theme of this website.
    It’s simple, yet effective. A lot of times it’s hard to get that “perfect balance” between superb usability and visual appearance.
    I must say you have done a excellent job with this.
    Also, the blog loads super fast for me on Opera. Excellent
    Blog!

  9. kapsuljamupelangsing.net says

    As a result of it is a naturally occurring compound in the physique, 5-HTP is generally secure for brief-term use (up
    to 12 weeks).

  10. Cam Porno says

    I couldn’t refrain from commenting. Very well written!

  11. SophieUBaise says

    It’s remarkable for me to have a site, which is helpful designed for my knowledge.
    thanks admin

  12. https://toothcrowncost.co.uk says

    Try to find one of the finest Periodontist and
    dental implant specialists that can offer you a unique and permanent solution to your missing teeth.
    Like nerve damage, sinus problems are addressed by removing the implant and slightly moving it to
    another area. s appearance while often not considered to be as important as
    general dentistry.

  13. Antonio Barba says

    il modo più semplice, dal momento che possiedi già un ip statico e un router configurato correttamente, è quello di registrare un dominio presso register.com (oppure aruba.it se vuoi un dominio .it, ma ti consiglio un dominio internazionale .org .com oppure .net per facilitare le pratiche burocratiche). Attenzione, non devi comprare un pacchetto di hosting, ma soltanto il dominio, facendo attenzione che il contratto di registrazione preveda accesso al pannello di configurazione del record DNS. Dal pannello del DNS dovrai configurare poi il campo “A” inserendo il tuo IP statico, e il campo “MX” inserendo l’IP del tuo server di posta (presumo sia installato postfix, sendmail, qmail o qualunque altra cosa sempre sotto lo stesso router o addirittura nello stesso computer, quindi l’IP sarà sempre lo stesso che inserirai nel campo “A”).

    PS: Chiedo scusa per la risposta tardiva, ma il sistema antispam aveva bloccato il tuo messaggio per errore in quanto conteneva un indirizzo web… :-) sorry!

1 2 3 4

Continuing the Discussion

  1. Ricerche IT » Hosting virtuale con Debian: server Web Apache linked to this post on 2 June 2008

    […] Link di riferimento Gestione Moduli e Virtual Hosts di Apache2 su Debian e Ubuntu HowTo: Configurazione dei Virtual Hosts (alias) con Apache2 su Debian ETCH […]

  2. OScene » » Redirect via HTML, Javascript, PHP, .htaccess, Apache linked to this post on 13 October 2008

    […] Per completezza segnalo un altro articolo in cui viene spiegato come configurare il demone Apache. […]



Some HTML is OK

or, reply to this post via trackback.