Differences between revisions 6 and 7
Revision 6 as of 2009-07-20 23:38:51
Size: 4733
Editor: Kurgan
Comment:
Revision 7 as of 2009-07-20 23:45:43
Size: 4690
Editor: Kurgan
Comment:
Deletions are marked like this. Additions are marked like this.
Line 13: Line 13:
NameVirtualHost *:80
NameVirtualHost *:443

Appunti sparsi su Apache e Apache2

Configurazione minimale di apache2 su Debian Lenny

Configurazione minimale di Apache 2 per servire http e https con php5:

  • Creare un file conf.d/00local.conf con dentro le configurazioni personalizzate valide per tutti i siti. Cosi` facendo si puo` evitare di adare a pistolare il file apache2.conf

    # Qui ci sono le config locali (cioe` quelle fatte da me)
    # che sono generali per tutti i siti e quindi non voglio dover
    # ripetere tutte le volte dentro ai vari files in sites-available
    
    
    ServerAdmin <la vostra email preferita>
    DocumentRoot /var/www/
    
    ### permessi su tutto il disco
    <Directory />
              Options FollowSymLinks
              AllowOverride None
    </Directory>
    
    ### permessi su /var/www
    <Directory /var/www/>
              Options Indexes FollowSymLinks MultiViews
              AllowOverride None
    ### Impostare All anziche` None se vi serve usare i .htaccess
    #         AllowOverride All
              Order allow,deny
              allow from all
    </Directory>
    
    ### configurazione di cgi-bin
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
             AllowOverride None
             Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
             Order allow,deny
             Allow from all
    </Directory>
    
    # logging
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel notice
    CustomLog /var/log/apache2/access.log combined
    
    ### accesso alla documentazione di Debian
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128 10.1.42.0/24 10.1.43.0/24
    </Directory>
  • Aggiungere dentro a sites-available un file con un nome sensato (il nome del server?) contenente le impostazioni per lo specifico virtuale. Ha senso metterne uno per ogni virtuale, ovviamente. Qui di seguito ne riporto uno per il virtuale "principale", cioe` quello che viene usato se non matcha nessun named virtual specifico. La sezione non-ssl non contiene nulla, ma funziona benissimo grazie al fatto che tutte le impostazioni di default sono state definite prima. Quella SSL contiene solo l'attivazione dell'engine SSL, e anche essa eredita le configurazioni generali definite prima.

    <VirtualHost *:80>
    </VirtualHost>
    
    <VirtualHost *:443>
            # Configurazione SSL
            SSLEngine on
            SSLCertificateFile /etc/apache2/ssl/mater.kurgan.org.crt
            SSLCertificateKeyFile /etc/apache2/ssl/mater.kurgan.org.key
    </VirtualHost>
    Questo e` un esempio di un named virtual che non e` il principale, senza SSL perche` i named con l' SSL non si possono fare, vanno necessariamente IP diversi.
    <VirtualHost *:80>
            ServerName www.kurgan.org
            ServerAlias www.kurgan.it
            DocumentRoot /var/www/www-kurgan
            CustomLog /var/log/apache2/access-www.kurgan.org.log combined
    </VirtualHost>
  • Editare i link dentro a sites-enabled collegando le configurazioni in ordine di apparizione. Rimuovere il link a sites-available/default che ora non serve piu`.

  • Se si vuole usare ssl, occorre linkare i files giusti (ssl.conf e ssl.load) da mods-available a mods-enabled

Gestione del charset

Se le pagine del sito contengono caratteri non-standard che non sono codificati correttamente in HTML (tipo le lettere accentate), e queste nel browser vengono male, occorre definire il charset standard. Per farlo, editare /etc/apache2/conf.d/charset e modificarlo in modo che contenga AddDefaultCharset ISO-8859-1.

Creazione di un certificato SSL self-signed per Apache2

openssl req -new -x509 -days 3650 -nodes -out server.crt -keyout server.key
chmod 400 server.key

I due files server.crt e server.key vanno definiti nella config di apache.

Configurazione di apache 1.3 con mod_ssl

Dopo aver installato apache 1.3 e mod_ssl, per avere il supporto per http e https occorre come minimo una configurazione con due virtualhosts, cosi`:

Listen 80
Listen 443

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
</VirtualHost>

<VirtualHost *:443>
        # Configurazione SSL
        SSLEngine on
        SSLCertificateFile /etc/apache/ssl/server.crt
        SSLCertificateKeyFile /etc/apache/ssl/server.key
</VirtualHost>

Questa ovviamente e` superminimale, ma funziona se si ha di fatto un solo host (niente virtuali davvero) che vuole fare sia http che https.

LinuxDebian/Apache (last edited 2023-09-04 17:15:49 by Kurgan)