22/11/2008 - Linux Feed

LINUX « E-Pillole



Gestione Moduli e Virtual Hosts di Apache2 su Debian e Ubuntu

Post inserito il 23/11/2007 da Fede in Server Side

Tra le distribuzioni Linux più comuni, la struttura data ad Apache2 da Debian e derivate, è probabilmente la più "contaminata" e quella che maggiormente si discosta da una classica installazione tramite sorgenti.

Personalmente, anche se la cosa fa storcere il naso a molti "puristi", considero l'organizzazione di Apache2 su Debian e Ubuntu, molto intuitiva, ben strutturata, e soprattuto, di "facile" gestione sia per chi ha poca dimestichezza con la "materia", sia per chi provenie da altre distribuzioni o da versioni precedenti di Apache :)

L'amministrazione e la gestione dei Moduli e dei Virtual Hosts, in particolare, riflettono pienamente quanto appena detto, e sfido chiunque a giudicare negativamente un'installazione di Apache2 via apt.

Debian Ubuntu Apache2

Vediamo quindi, analizzando prima di tutto la struttura delle directory interessate, come gestire comodamente Moduli e Virtual Hosts di Apache2 su Debian e Ubuntu, utilizzando gli strumenti a nostra disposizione e gentilmente forniti dagli sviluppatori Debian di Apache.

In sintesi...

DIRECTORIES MODULI:

- /etc/apache2/mods-available/ directory in cui vengono inseriti i files di configurazione di tutti i moduli installati.

- /etc/apache2/mods-enabled/ directory che contiene dei link simbolici ad ogni file presente nella cartella /etc/apache2/mods-available/. Ognuno di questi link simbolici, ha la facoltà di abilitare ognuno dei moduli presenti nella cartella mods-available.

GESTIONE MODULI:

- per abilitare ognuno dei moduli presente nella directory /etc/apache2/mods-available/ sarà sufficiente sfruttare lo script /usr/sbin/a2enmod e digitare:

sudo a2enmod modulo

Nel caso in cui non ricordiate precisamente il nome del modulo che volete abilitare, basterà digitare:

sudo a2enmod

e visualizzerete l'elenco di tutti i moduli disponibili, tra i quali potrete scegliere quale abilitare. Esempio:

fede@C-DEB-SERV:~$ sudo a2enmod
Which module would you like to enable?
Your choices are: actions alias asis auth_basic auth_digest authn_alias 
authn_anon authn_dbd authn_dbm authn_default authn_file authnz_ldap authz_dbm 
authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache 
cern_meta cgid cgi charset_lite dav_fs dav dav_lock dbd deflate dir disk_cache 
dump_io env expires ext_filter file_cache filter headers ident imagemap include 
info ldap log_forensic mem_cache mime mime_magic negotiation php5 proxy_ajp 
proxy_balancer proxy_connect proxy_ftp proxy_http proxy rewrite setenvif speling 
ssl status suexec unique_id userdir usertrack version vhost_alias
Module name? rewrite
Module rewrite installed; run /etc/init.d/apache2 force-reload to enable.

- per disabilitare ognuno dei moduli precedentemente abilitati, e rimuovere quindi il relativo symlink presente nella directory /etc/apache2/mods-eneabled/ sfrutteremo invece lo script /usr/sbin/a2dismod e digiteremo:

sudo a2dismod modulo

Nel caso in cui non ricordiate precisamente il nome del modulo che volete disabilitare, basterà digitare:

sudo a2dismod

e visualizzerete l'elenco di tutti i moduli abilitati, tra i quali potrete scegliere quale disabilitare. Esempio:

fede@C-DEB-SERV:~$ sudo a2dismod 
Which module would you like to disable?
Your choices are: alias auth_basic authn_file authz_default authz_groupfile 
authz_host authz_user autoindex cgi dir env mime negotiation php5 rewrite 
setenvif status userdir version
Module name? rewrite
Module rewrite disabled; run /etc/init.d/apache2 force-reload to fully disable.

DIRECTORIES VIRTUAL HOSTS:

- /etc/apache2/sites-available/ directory in cui vanno inseriti i files di configurazione di ogni virtual host che viene creato. Di predefinito, è presente solo ed esclusivamente il file default.

- /etc/apache2/sites-enabled/ directory che contiene dei link simbolici ad ogni file presente nella cartella /etc/apache2/sites-available/. Ognuno di questi link simbolici, ha la facoltà di abilitare ognuno dei virtual host definiti in precedenza nella directory sites-available.

GESTIONE VIRTUAL HOSTS:

- per abilitare ognuno dei virtual hosts presente nella directory /etc/apache2/sites-available/ sarà sufficiente sfruttare lo script /usr/sbin/a2ensite e digitare:

sudo a2ensite virtualhost

Come per la gestione dei moduli, nel caso in cui non ricordiate precisamente il nome del file di configurazione relativo al virtual host che desiderate abilitare, basterà digitare:

sudo a2ensite

e visualizzerete l'elenco di tutti i virtual hosts disponibili, tra i quali potrete scegliere quale abilitare. Esempio:

fede@C-DEB-SERV:~$ sudo a2ensite
Which site would you like to enable?
Your choices are: default repo pillole fincom portfolio lorenz
Site name? portfolio
Site portfolio installed; run /etc/init.d/apache2 reload to enable.

- per disabilitare ognuno dei virtual hosts precedentemente abilitati, e rimuovere quindi il relativo symlink presente nella directory /etc/apache2/sites-eneabled/ sfrutteremo invece lo script /usr/sbin/a2dissite e digiteremo:

sudo a2dissite virtualhost

Come sempre, nel caso in cui non ricordiate precisamente il nome del file di configurazione relativo al virtual host che desiderate disabilitare, basterà digitare:

sudo a2dissite

e visualizzerete l'elenco di tutti i virtual hosts abilitati, tra i quali potrete scegliere quale disabilitare. Esempio:

fede@C-DEB-SERV:~$ sudo a2dissite
Which site would you like to disable?
Your choices are: 000-default repo pillole fincom portfolio lorenz
Site name? portfolio
Site portfolio disabled; run /etc/init.d/apache2 reload to fully disable.

N.B. come suggerito dagli esempi precedenti (basterebbe anche solo reload ma non si sa mai), dopo aver abilitato/disabilitato ogni modulo e ogni virtual host, per rendere definitive le modifiche fatte, sarà necessario "riavviare" la configurazione di Apache2 digitando molto semplicemente:

sudo /etc/init.d/apache2 force-reload

E' tutto...

Sicuramente un pò fuori dagli standard, ma senza alcun dubbio semplice ed inuitivo come concetto :)

A presto, per alcune info più precise e dettagliate riguardo la creazione dei virtual hosts, e la gestione dei moduli più utili e comuni...


Post letto 4945 volte | Commenti (2) | Bookmark   del.icio.us    segnalo


Commento postato da herod2k il 23/11/2007
Compliementi, veramente bella questa guida, proprio un bel lavoro.

Commento postato da lastfeel il 27/03/2008
bella guida mi ha fatto vedere quanto e bello usare debian

Commenta Post

(opzionale)
(opzionale)


Codice antispam: Codice antispam