Apache Webserver
Transcript
Apache Webserver Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso Cos'è Apache? Dal sito http://httpd.apache.org: “The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows NT. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards” Cos'è un webserver? E' un demone che resta in ascolto su una determinata porta (default 80) per delle richieste HTTP e risponde di conseguenza. 80 Cli1 Server Cli2 Apache oggi Attualmente Apache detiene all' incirca il 63% del mercato dei webserver contro ad esempio il 27% di Microsoft IIS ed appena l'1% di SunOne. Questo grazie alla vincente licenza opensource unita alla sua scalabilità ed alla struttura modulare che permette virtualmente infinite espansioni (es: supporto nativo per XML, compressione di file “on-demand”, streaming multimediale). Un po'di pratica... Installazione Passiamo ora all' installazione del webserver apache in un sistema Linux. In questo primo esempio utilizzerò i package di debian GNU/Linux. Usare apt Debian offre un potentissimo tool di gestione dei package chiamato APT. Per installare apache è sufficente digitare al prompt: poker:~# apt-get install apache Installazione da sorgenti L' installazione di apache dai sorgenti (reperibili su http:/httpd.apache.org) è leggermente più complicata: dopo aver scaricato la “tarball” è necessario decomprimerla e compilare il suo contenuto. tris:/tmp# tar xvzf apache_1.3.27 (scompatta ed estrae i file) tris:/tmp# cd apache_1.3.27 tris:/tmp/apache_1.3.27# less README (IMPORTANTE!!!) tris:/tmp/apache_1.3.27# less INSTALL (IMPORTANTE!!!) tris:/tmp/apache_1.3.27# ./configure –help tris:/tmp/apache_1.3.27# ./configure (con opzioni personalizzate) tris:/tmp/apache_1.3.27# make && make install .htaccess e .htpasswd Apache ci permette di utilizzare un sistema di accesso ad alcune directory in maniera relativamente semplice utilizzando i seguenti file: 1) .htaccess: questo file contiene le preferenze ed i dettagli riguardo ai metodi di autenticazione e i permessi per la directory. 2).htpasswd: questo file contiene una lista criptata di combinazioni di username e password che viene usata da Apache insieme al file .htaccess per concedere o negare l' accesso .htaccess: un semplice esempio AuthUserFile /home/gervystar/public_html/private/.htpasswd AuthGroupFile /dev/null AuthName "Private Directory" AuthType Basic <Limit GET> require valid-user </Limit> .htpasswd: come usarlo L' utilizzo di htpasswd è molto semplice: utilizzeremo solo l' opzione -c (create) necessaria a creare il file che conterrà le coppie username:password. Immaginiamo che la directory che vogliamo proteggere sia “/home/gervystar/public_html/private”. Il comando allora sarà: htpasswd -c /home/gervystar/public_html/private username dove username sarà un nome a nostra scelta. A questo punto il programma ci chiederà di inserire una password ed il gioco è fatto. Virtual Host Una della caratteristiche più interessanti offerte da Apache è la possibilità di gestire più domini/hostname sulla stessa macchina. Ci sono due tipi di vhost: IP Based e Name Based IP Based vhost Per ogni IP Based vhost è richiesto al sistema un indirizzo ip: ad esempio un server con 3 schede di rete che comunicano verso l' esterno, potrà hostare 3 vhost di questo tipo. La configurazione all' interno di httpd.conf è simile a questa: <VirtualHost 192.168.0.1> ServerAdmin [email protected] ServerName www.foobar.foo DocumentRoot /var/www/foobar.foo CustomLog /var/log/apache/www.foobar.foo-access.log common </VirtualHost> Name Based vhost La condizione “sine qua non” per il funzionamento dei Name Based vhost è il supporto del protocollo HTTP/1.1 da parte del client. In questo modo possiamo hostare diversi domini utilizzando solo un IP. Sta poi al server “capire” qual' è il dominio richiesto dal client. La configurazione riportata è quella del mio serverino casalingo. NameVirtualHost * <VirtualHost *> ServerAdmin [email protected] ServerName www.gervystar.net DocumentRoot /var/www/www.gervystar.net CustomLog /var/log/apache/www.gervystar.net-access.log common </VirtualHost> <VirtualHost *> ServerAdmin [email protected] ServerName tris.gervystar.net DocumentRoot /var/www/tris.gervystar.net CustomLog /var/log/apache/tris.gervystar.net-access.log common </VirtualHost> Fonti http://httpd.apache.org http://www.diludovico.it/guide/proteggi.shtml “ man apache” “ man htpasswd” Documentazione varia fornita con i package, di solito reperibile in “ /usr/share/doc/$nomepackage”
Documenti analoghi
Apache, PHP, MySQL, DRUPAL on Leopard (Mac Os X)
dell'utente, presenti in /Users/username/Sites/ e raggiungibili dall'indirizzo http://localhost/
~username/
Qualcuno noterà, però, che mentre alla web root si accede tranquillamente, le pagine pers...
Lezione 6 corso linux 2004
Nome Server: nome che verra’ visualizzato ai client come nome
del server (es: www.pippo.com)
Indirizzo email del webmaster: email che verra’ riportata agli
utenti per segnalare errori/malfunzioname...
Server Apache
Ogni volta che all’interno dell’URL compare solo il nome di una directory, il
server cerca se al suo interno esiste il file index_html, se lo trova
restituisce al client tale file.
Esiste la po...
Indice 1 Introduzione al manuale 2 Apache e Tomcat
E’ sufficiente lanciare l’eseguibile e seguire le indicazioni del setup, lasciando i default
proposti
ed avendo cura di installare Apache come servizio Windows in ascolto sulla porta standard