Focalizzeremo la nostra attenzione sul punto 2.
I moduli estendono le funzionalità del webserver. Per gestirne attivazione e disattivazione, Apache mette a disposizione due comandi:
Nella pratica, attivazione e disattivazione consistono nella semplice creazione di un collegamento simbolico da /etc/apache2/mods-available/nomemodulo.load a /etc/apache2/mods-enabled/.load. Alcuni moduli hanno inoltre un file aggiuntivo di configurazione del tipo nomemodulo.conf qualora si procedesse all’attivazione manuale, non si dimentichi di aggiungere anche quel collegamento simbolico se necessario!
ls /etc/apache2/mods-available/
actions.load authz_dbm.load charset_lite.load dump_io.load
log_forensic.load proxy_connect.load unique_id.load
alias.load authz_default.load dav_fs.conf env.load
mem_cache.conf proxy_ftp.load userdir.conf
asis.load authz_groupfile.load dav_fs.load expires.load
mem_cache.load proxy_http.load userdir.load
auth_basic.load authz_host.load dav.load ext_filter.load
mime.load proxy.load usertrack.load
auth_digest.load authz_owner.load dav_lock.load file_cache.load
mime_magic.conf rewrite.load version.load
authn_alias.load authz_user.load dbd.load filter.load
mime_magic.load setenvif.load vhost_alias.load
authn_anon.load autoindex.load deflate.conf headers.load
negotiation.load sick-hack-to-update-modules
authn_dbd.load cache.load deflate.load ident.load
php5.conf speling.load
authn_dbm.load cern_meta.load dir.conf imagemap.load
php5.load ssl.conf
authn_default.load cgid.conf dir.load include.load
proxy_ajp.load ssl.load
authn_file.load cgid.load disk_cache.conf info.load
proxy_balancer.load status.load
authnz_ldap.load cgi.load disk_cache.load ldap.load
proxy.conf suexec.load
ls /etc/apache2/mods-enabled/
actions.load auth_basic.load authz_default.load authz_host.load
autoindex.load dir.conf env.load negotiation.load php5.load
status.load alias.load authn_file.load authz_groupfile.load
authz_user.load cgi.load dir.load mime.load php5.conf setenvif.load
Nota
Notare l’assenza di userdir.load
Affinchè il webserver pubblicizzi il sito personale di ogni utente, contenuto in ~utente/public_html, modificheremo userdir.conf.
Nota
Nota probabilmente ovvia: Nell’esempio che segue viene usato l’editor jmacs. Ovviamente nulla viete di usare il proprio editor di testi preferito.
jmacs /etc/apache2/mods-available/userdir.conf
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>
</IfModule>
In questo modo:
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/users/*/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>
</IfModule>
Nota
Ovviamente è stato impostato /home/users/*/*/public_html per rispettare l’organizzazione delle home utente ISI.
Non resta che procedere all’attivazione di userdir usando a2enmod
a2enmod userdir
Module userdir installed; run /etc/init.d/apache2 force-reload to enable.
E ad inizializzare apache2 come indicato da a2enmod
/etc/init.d/apache2 force-reload
Forcing reload of web server (apache2)...apache2: Could not reliably determine
the server's fully qualified domain name, using 127.0.0.1 for ServerName
waiting apache2: Could not reliably determine the server's fully qualified
domain name, using 127.0.0.1 for ServerName
La verifica viene fatta, molto semplicemente, puntando un qualunque browser su http://server/~nomeutente.
Od in alternativa, direttamente da server, con un semplicissimo:
lynx http://localhost/~test
Se a risponderci sarà la pagina index.html contenuta in ~test/public_html la procedura sarà andata a buon fine.