Dettaglio file di configurazione di Apache

#
# File di configurazione di Apache httpd.conf
#
##################################
#Traduzione a cura di "mordecai"##
########################################################################################################################
#Se eventualmente trovate imprecisioni linguistiche,o errori o altro,siete liberi di migliorare questa traduzione! :-)##
########################################################################################################################
#
#
# Questo è il file principale di configurazione di Apache HTTP server.
# Contiene le direttive di configurazione che verranno interpretate dal server.
# Vai qui    http://httpd.apache.org/docs/2.2    per maggiori dettagli.
# In particolare,vedi
# http://httpd.apache.org/docs/2.2/mod/directives.html
# trovi le discussioni riguardo ogni direttiva del file.
#
# Non leggere semplicemente le direttive senza sapere realmente cosa significhino.
# Sono solo consigli o degli standard.Se non sei sicuro,consulta la documentazione online.Sei avvisato... :-)
#
# Configurazione e file di log:se i nomi dei file che andrai a specificare per la maggior parte,del controllo del server
# cominciano con "/" (o "drive:/" per Win32),il server userà esplicitamente quella path specificata.
# Se invece i nomi dei file,non cominciano con "/",il valore di ServerRoot sarà impostato cosi "/var/log/httpd/foo.log"
# con ServerRoot impostato a "/usr" e sarà interpretato dal server come "/usr//var/log/httpd/foo.log".

#
# ServerRoot:la cima delle cartelle ad albero,sotto la quale sono gestiti gli errori,
# la configurazione e i logs di apache.
#
# Non aggiungere lo slash alla fine della path.Se imposti ServerRoot in un disco
# non-locale,devi essere sicuro di indicare il LockFile diretto al disco locale.
# Se desideri condividere la stessa ServerRoot per più demoni httpd,avrai bisogno
# di cambiare almeno LockFile e PidFile.
#
ServerRoot "/usr"

#
# Listen:ti permette di associare ad Apache uno specifico indirizzo IP e/o porte,
# invece del valore di default.Dai un'occhiata anche al parametro <VirtualHost>.
#
# Decommenta  Listen su un IP specifico come mostrato sotto,per filtrare Apache da un accesso globale di indirizzi IP.
#
# Listen 12.34.56.7:80
Listen 80

# Supporto Dynamic Shared Object (DSO)
# Per poter  usare la funzionalità di un modulo di tipo DS0,
# devi inserire in corrispondenza di 'LoadModule'delle stringhe,che richiamano
# delle istruzioni che sono attualmente disponibili _prima_ che vengano usate.
# I moduli compilati staticamente,(listati da 'httpd -l') non necessitano di essere caricati qui.
#
# Esempio:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule authn_file_module lib/httpd/modules/mod_authn_file.so
LoadModule authn_dbm_module lib/httpd/modules/mod_authn_dbm.so
LoadModule authn_anon_module lib/httpd/modules/mod_authn_anon.so
LoadModule authn_dbd_module lib/httpd/modules/mod_authn_dbd.so
LoadModule authn_default_module lib/httpd/modules/mod_authn_default.so
LoadModule authn_alias_module lib/httpd/modules/mod_authn_alias.so
LoadModule authz_host_module lib/httpd/modules/mod_authz_host.so
LoadModule authz_groupfile_module lib/httpd/modules/mod_authz_groupfile.so
LoadModule authz_user_module lib/httpd/modules/mod_authz_user.so
LoadModule authz_dbm_module lib/httpd/modules/mod_authz_dbm.so
LoadModule authz_owner_module lib/httpd/modules/mod_authz_owner.so
LoadModule authnz_ldap_module lib/httpd/modules/mod_authnz_ldap.so
LoadModule authz_default_module lib/httpd/modules/mod_authz_default.so
LoadModule auth_basic_module lib/httpd/modules/mod_auth_basic.so
LoadModule auth_digest_module lib/httpd/modules/mod_auth_digest.so
LoadModule file_cache_module lib/httpd/modules/mod_file_cache.so
LoadModule cache_module lib/httpd/modules/mod_cache.so
LoadModule disk_cache_module lib/httpd/modules/mod_disk_cache.so
LoadModule mem_cache_module lib/httpd/modules/mod_mem_cache.so
LoadModule dbd_module lib/httpd/modules/mod_dbd.so
LoadModule dumpio_module lib/httpd/modules/mod_dumpio.so
LoadModule ext_filter_module lib/httpd/modules/mod_ext_filter.so
LoadModule include_module lib/httpd/modules/mod_include.so
LoadModule filter_module lib/httpd/modules/mod_filter.so
LoadModule deflate_module lib/httpd/modules/mod_deflate.so
LoadModule ldap_module lib/httpd/modules/mod_ldap.so
LoadModule log_config_module lib/httpd/modules/mod_log_config.so
LoadModule log_forensic_module lib/httpd/modules/mod_log_forensic.so
LoadModule logio_module lib/httpd/modules/mod_logio.so
LoadModule env_module lib/httpd/modules/mod_env.so
LoadModule mime_magic_module lib/httpd/modules/mod_mime_magic.so
LoadModule cern_meta_module lib/httpd/modules/mod_cern_meta.so
LoadModule expires_module lib/httpd/modules/mod_expires.so
LoadModule headers_module lib/httpd/modules/mod_headers.so
LoadModule ident_module lib/httpd/modules/mod_ident.so
LoadModule usertrack_module lib/httpd/modules/mod_usertrack.so
LoadModule unique_id_module lib/httpd/modules/mod_unique_id.so
LoadModule setenvif_module lib/httpd/modules/mod_setenvif.so
LoadModule version_module lib/httpd/modules/mod_version.so
LoadModule proxy_module lib/httpd/modules/mod_proxy.so
LoadModule proxy_connect_module lib/httpd/modules/mod_proxy_connect.so
LoadModule proxy_ftp_module lib/httpd/modules/mod_proxy_ftp.so
LoadModule proxy_http_module lib/httpd/modules/mod_proxy_http.so
LoadModule proxy_ajp_module lib/httpd/modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module lib/httpd/modules/mod_proxy_balancer.so
#LoadModule ssl_module lib/httpd/modules/mod_ssl.so
LoadModule mime_module lib/httpd/modules/mod_mime.so
LoadModule dav_module lib/httpd/modules/mod_dav.so
LoadModule status_module lib/httpd/modules/mod_status.so
LoadModule autoindex_module lib/httpd/modules/mod_autoindex.so
LoadModule asis_module lib/httpd/modules/mod_asis.so
LoadModule info_module lib/httpd/modules/mod_info.so
LoadModule cgi_module lib/httpd/modules/mod_cgi.so
LoadModule dav_fs_module lib/httpd/modules/mod_dav_fs.so
LoadModule vhost_alias_module lib/httpd/modules/mod_vhost_alias.so
LoadModule negotiation_module lib/httpd/modules/mod_negotiation.so
LoadModule dir_module lib/httpd/modules/mod_dir.so
LoadModule imagemap_module lib/httpd/modules/mod_imagemap.so
LoadModule actions_module lib/httpd/modules/mod_actions.so
LoadModule userdir_module lib/httpd/modules/mod_userdir.so
LoadModule alias_module lib/httpd/modules/mod_alias.so
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

<IfModule !mpm_netware_module>
#
# Se desideri che httpd appartenga ad un utente o gruppo,prima devi avviare httpd da root 
# e poi cambiare le impostazioni.
#
# User/Group:il nome (o #numero) di un utente/gruppo per avviare httpd secondo quanto specificato.
# Generalmente è buona norma creare un utente dedicato e un gruppo per httpd.
#
User apache
Group apache
</IfModule>

# Configurazione 'principale' del server
#
# Le direttive di questa sezione,impostano i valori usati dal server,
# il quale risponde a tutte le richieste che non sono gestite dalle definizioni <VirtualHost>.
# Questi valori provvedono di default anche per i parametri <VirtualHost>,
# da specificare alla fine del file.
#
# Tutti questi parametri possono apparire in <VirtualHost>,in tal caso,
# queste impostazioni di default saranno sovrascritte per l'host virtuale definito.
#

#
# ServerAdmin:il tuo indirizzo,dove dovranno essere inviati tramite e-mail,
# i relativi problemi al server.
# Questo indirizzo può apparire su alcune pagine generate dal server,come documento d'errore.
#
ServerAdmin you@example.com

#
# ServerName imposta il nome e la porta che il server usa per identificare se stesso.
# Ciò può essere spesso determinato automaticamente,ma ti raccomandiamo di specificarlo
# esplicitamente onde evitare problemi in fase di avvio.
#
# Se il tuo host non ha un nome DNS registrato,imposta il suo IP qui.
#
#ServerName www.example.com:80

#
# DocumentRoot: la cartella in cui metterai i contenuti web.
# Di default,tutte le richieste sono impostate per questa cartella,ma link
# simbolici e alias possono essere usati per puntare ad altre direzioni.
#
DocumentRoot "/srv/httpd/www/htdocs"

#
# Ogni cartella alla quale Apache ha accesso può essere configurata rispettando
# servizi e caratteristiche che sono concesse e/o disabilitate nella determinata 
# cartella (e nelle rispettive sottocartelle).
#
# Per prima cosa,configureremo il "default" per avere regole molto restrittive.
#
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

#
# Nota che da qui in poi,devi specificare le opzioni che devono essere abilitate,
# cosi se qualcosa non funziona come ti aspetti,assicurati di averla abilitata
# qui sotto.
#

#
# Quanto segue deve essere cambiato,qualsiasi cosa tu abbia messo nella DocumentRoot.
#
<Directory "/srv/httpd/www/htdocs">
    #
    # Possibili valori per Options sono "None", "All",
    # o qualsiasi combinazione tra:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Nota che "MultiViews" deve essere richiamato esplicitamente perchè "Options All"
    # non lo imposta di default.
    #
    # Il parametro Options è molto importante,ma anche complicato.Vai qui
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # per maggiori dettagli.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controlla quali parametri possono essere inseriti nel file .htaccess.
    # Può essere sia "All", "None", oppure combinazione delle parole-chiave:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controlla chi può ottenere dati dal server.
    #
    Order allow,deny
    Allow from all

</Directory>

#
# DirectoryIndex:imposta il file che Apache mostrerà se una cartella è richiesta.
#
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<IfModule dir_module>
    DirectoryIndex index.php
</IfModule>


#
# Le seguenti stringhe impediscono che i file .htaccess e .htpasswd 
# siano visibili dai Web clients.
#
<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

#
# ErrorLog: file in cui vengono loggati i messaggi d'errore.
# Se non specifichi nei tag <VirtualHost> il parametro
# riguardo ErrorLog,i messaggi d'errore verranno loggati qui.
# Se invece,specifichiun file di log per errori nei tag in <VirtualHost>,
# i messaggi d'errore verrano loggati lì e non qui.
#
ErrorLog /var/log/httpd/error_log

#
# LogLevel:controlla il numero di messaggi loggati su error_log.
# Possibili valori da includere: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

<IfModule log_config_module>
    #
    # I seguenti parametri definiscono dei formati di nickname da usare con
    # la direttiva CustomLog (vedi sotto).
    #
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # Devi abilitare mod_logio.c per poter usare %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    #
    # Luogo e formato del logfile di accesso (Common Logfile Format).
    # Se non specifichi nei tag <VirtualHost> i logfile
    # di accesso,i logs verranno loggati qui.
    # Se invece,specifichi il logfile nei tag in <VirtualHost>,
    # i logs saranno loggati lì e non qui.
    #
    CustomLog /var/log/httpd/access_log common

    #
    # Se preferisci un logfile con access, agent, and referer information
    # (Combined Logfile Format) puoi usare il seguente parametro.
    #
    #CustomLog /var/log/httpd/access_log combined
</IfModule>

<IfModule alias_module>
    #
    # Redirect: ti permette di informare i clients sui documenti presenti
    # nel namespace del server, ma non altro. Il client 
    # farà una nuova richiesta per il documento alla sua nuova locazione.
    # Esempio:
    # Redirect permanent /foo http://www.example.com/bar

    #
    # Alias: traccia le web paths,nelle paths del filesystem ed è usata per
    # accedere a contenuti che non ci sono sotto la DocumentRoot.
    # Esempio:
    # Alias /webpath /full/filesystem/path
    #
    # Se includi lo slash / su /webpath poi il server lo richiederà
    # per essere presente nell'url. Avrai anche bisogno di munire
    # una sezione <Directory> per permettere l'accesso alla patht
    # localizzata nel filesystem.

    #
    # ScriptAlias: controlla quali cartelle contengono server scripts. 
    # ScriptAliases sono essenzialmente simili ad Aliases, eccetto che i
    # documenti nella cartella considerata, sono trattati come applicazioni ed 
    # eseguiti dal server proprio come quando ci sono documenti da mandare al
    # client.  Stesse regole per lo slash "/" da applicare alla direttiva ScriptAlias
    # proprio come Alias.
    #
    ScriptAlias /cgi-bin/ "/srv/httpd/www/cgi-bin/"

</IfModule>

<IfModule cgid_module>
    #
    # ScriptSock: su specifici server, designa la path dello UNIX
    # socket comunica con il demone CGI di mod_cgid.
    #
    #Scriptsock /var/run/httpd/cgisock
</IfModule>

#
# "/srv/httpd/www/cgi-bin" dovrebbe essere cambiato purchessia la tua dir 
# ScriptAliased CGI esistente,se è configurato.
#
<Directory "/srv/httpd/www/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

#
# DefaultType: il carattere di default MIME,che il server userà per il documento,
# se non può essere altrimenti,determinane uno, come dall'estensione del file.
# Se il tuo server contiene per lo più testi o documenti HTML,"text/plain" è
# un buon valore.Se la maggior parte del tuo contenuto è binario,come applicazioni
# o immagini, puoi voler usare "application/octet-stream" per evitare che 
# il browser cerchi di stampare a video fili binari,
# in formato testo.
#

DefaultType text/plain

<IfModule mime_module>
    #
    # TypesConfig punta ai files contenenti la lista delle mappature
    # dall'estensione del nome del file al MIME-type.
    #
    TypesConfig /etc/httpd/mime.types

    #
    # AddType ti permette di aggiungere o sovrascrivere la configurazione MIME
    # dei file specificata in TypesConfig per specifici file.
    #
    # AddType application/x-gzip .tgz
    #
    # AddEncoding permette di avere per certi browser
    # la compressione di informazioni al volo.Nota:non tutti i browser lo supportano.
    #
    # AddEncoding x-compress .Z
    # AddEncoding x-gzip .gz .tgz
    #
    # Se la direttiva AddEncoding sopra,è decommentata,poi
    # dovresti definire queste estensioni per indicare i tipi di media:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    #
    # AddHandler ti permette di mappare certe estensioni di file,in "handlers":
    # azioni non connesse al tipo di file.Queste possono entrambe essere
    # create all'interno del server o aggiunte con la direttiva Action (vedi giù)
    #
    # Usare gli script CGI fuori dalla cartella ScriptAliased:
    # (avrai anche bisogno di aggiungere "ExecCGI" alla direttiva "Option".)
    #
    # AddHandler cgi-script .cgi

    # Per editare le mappature(trattare le risorse):
    #AddHandler type-map var

    # 
    #I filtri ti permettono di controllare il contenuto prima 
    #che venga mandato al client.
    # 
    #Per analizzare i file .shtml per server-side includes (SSI):
    #(avrai anche bisogno di aggiungere "Includes" alla direttiva "Options".)
    #
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
</IfModule>

#
# Il modulo mod_mime_magic permette al server di usare indizi
# dai contenuti del file per determinarne il tipo.
# La direttiva MIMEMagicFile indica al modulo la locazione
# in cui sono presenti gli indizi.
#
#MIMEMagicFile /etc/httpd/magic

#
# Ci saranno 3 tipi di errori di questo genere:
# 1) plain text 2) local redirects 3) external redirects
#
# Alcuni esempi:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

# EnableMMAP e EnableSendfile: sui sistemi che lo supportano,
# memory-mapping o la chiamata di sistema sendfile è usata
# per diversi file.Di solito questo implementa le performance
# del server,ma deve essere disattivato quando trasferisce dati dai 
# filesystem montati in rete.
# 
#
#EnableMMAP off
#EnableSendfile off

# Configurazione supplementare
#
# Al file di configurazione nella cartella /etc/httpd/extra/
# si possono aggiungere caratteristiche o modificare la configurazione
# di default del server,o puoi semplicemente copiare i loro contenuti qui
# e modificarli.


# Server-pool management (MPM specific)
#Include /etc/httpd/extra/httpd-mpm.conf

# Messaggi d'errore multilingue
#Include /etc/httpd/extra/httpd-multilang-errordoc.conf

# Fancy directory listings
#Include /etc/httpd/extra/httpd-autoindex.conf

# Language settings
#Include /etc/httpd/extra/httpd-languages.conf

# User home directories
#Include /etc/httpd/extra/httpd-userdir.conf

# Real-time info on requests and configuration
#Include /etc/httpd/extra/httpd-info.conf

# Virtual hosts
#Include /etc/httpd/extra/httpd-vhosts.conf

# Local access to the Apache HTTP Server Manual
#Include /etc/httpd/extra/httpd-manual.conf

# Distributed authoring and versioning (WebDAV)
#Include /etc/httpd/extra/httpd-dav.conf

# Various default settings
#Include /etc/httpd/extra/httpd-default.conf

# Secure (SSL/TLS) connections
#Include /etc/httpd/extra/httpd-ssl.conf
#
#Quanto segue deve essere abilitato per supportare l'avvio senza SSL,
#su piattaforme senza /dev/random,ma un modulo già compilato mod_ssl.
#
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

# Decommenta la seguente stringa per abilitare il PHP:
#
Include /etc/httpd/mod_php.conf

# Decommenta le seguenti stringhe per abilitare il supporto svn:
#
#LoadModule dav_svn_module lib/httpd/modules/mod_dav_svn.so
#LoadModule authz_svn_module lib/httpd/modules/mod_authz_svn.so

Autore: Goddener