Fra i vari modi con cui è possibile installare Apache su distribuzioni RedHat based, quello più semplice è tramite pacchetti RPM.
Per farlo, innanzitutto bisogna scaricare il pacchetto apache-ver.arch.rpm appropriato per la propria distribuzione Linux, dove ver sta per versione e arch per architettura.
Una volta fatto questo andare dove si è scaricato il pacchetto e lanciare il comando (esempio per Apache 1.3):
[root@eberk diego]# rpm -ihv ./apache-1.3.9-4.i386.rpm
/etc/httpd/conf
/etc/httpd/conf/access.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/httpd/conf/srm.conf
/etc/httpd/logs
[...]
/home/httpd
/home/httpd/cgi-bin
/home/httpd/html
/home/httpd/html/index.html
[...]
/usr/sbin/httpd
/usr/sbin/logresolve
/usr/sbin/rotatelogs
/usr/sbin/suexec
[...]
Ora Apache è installato.
Attenzione, alcuni moduli per Apache non sono contenuti nell'RPM di installazione (per esempio mod_PHP, mod_PERL ecc...), e vanno installati tramite gli appositi RPM.
In genere su qualsiasi distribuzione è già inclusa, e installabile fin dall'inizio, una versione di Apache.
Per aggiornarla con una versione più recente basta il solito:
[root@eberk diego]# rpm -Uv ./apache-1.3.9-4.i386.rpm
Per gestire correttamete le dependencies, per esempio con un Apache con MOD_php con supporto MySQL e MOD_ssl seguire questo ordine: Apache, Mysql (pacchetto base + server + devel), PHP, MOD_php, php-mysql, OpenSSL, MOD_ssl.
Su RedHat, Apache 2.0 è stato introdotto di default dalla versione 8.0 (notare che il nome del pacchetto è httpd-versione.rpm e non più apache-versione.rpm). I pacchetti relativi sono:
httpd - Il server web Apache (2.0)
httpd-devel - Le librerie che permettono la compilazione di moduli addizionali (non serve se non si compilano a mano)
redhat-config-httpd - Un semplice tool di configurazione visuale (non serve se si edita a mano httpd.conf)
httpd-manual - le pagine del manuale di Apache
mod_ssl - Supporto delle criptazioni dei dati per https (richiede openssl)
mod_perl - Modulo Apache per il supporto Perl
mod_python - Modulo Apache per il supporto Python
php - Supporto PHP (come modulo Apache o standalone). Se servono moduli specifici per PHP questi vanno installati (es: php-mysql, php-imap, php-snmp...)
Notare che sui sistemi RedHat la DocumentRoot
, direcrtoty dove di default vanno inserite le pagine html di un sito), era /home/httpd/html
nelle versioni fino alla 6.2 ed è diventata /var/www/html
nelle versioni successive.
Su Unix, Apache gira generalmente come demone in esecuzione continua in background ("Standalone") gestendo le richieste dei client. E' anche possibile far invocare Apache dal super demone inetd modificando la voce ServerType nel file di configurazione di Apache, anche se questo è sconsigliato, soprattutto su server con traffico che non sia minimo e occasionale.
Se nel file di configurazione la listening port è la 80 (o qualsiasi altra porta sotto la 1024), è necessario avere i privilegi di root per poter avviare il servizio. Una volta che il server ha terminato una serie di operazioni preliminari come leggere il file di configurazione e aprire i file di log, esegue un numero configurabile di processi figli che si mettono in attesa di richieste.
Il processo httpd padre continua a girare con user root, ma i processi figlio, che gestiscono le richieste dei client, possono tranquillamente girare con user con privilegi inferiori.
AVVIO LANCIANDO DIRETTAMENTE HTTPD
La posizione del file di configurazione httpd.conf è settata quando httpd viene compilato, ma è possibile specificare una locazione alternativa per avviare Apache usando un altro file di configurazione con l'opzione. Per esempio:
[root@eberk diego}# /usr/local/apache/bin/httpd -f /home/diego/test_httpd.conf
Cosi facendo il server partirà con la configurazione contenuta in /home/diego/test_httpd.conf anziché quella originale presente in /etc/httpd/conf/httpd.conf
(Posizione preimpostata in molte distribuzioni Linux) o /usr/local/apache/conf/httpd.conf
(Posizione di default in un Apache compilato direttamente dai sorgenti).
AVVIO TRAMITE APACHECTL
Un'alternativa all'esecuzione diretta del binario httpd è lo script apachectl, che viene usato per controllare il demone httpd lanciando semplici comandi come apachectl start
e apachectl stop
.
Apachectl può essere usato anche per altre operazioni come verificare la correttezza del file di configurazione ed può essere utilizzato su ogni dialetto Unix, in quanto comando distribuito direttamente con i sorgenti di Apache.
AVVIO TRAMITE /ETC/INIT.D/HTTPD START
Su molti sistemi Unix e in tutte le distribuzioni Linux con Apache installato tramite relativo package, inoltre, si trova lo script init di gestione: /etc/rc.d/init.d/httpd start
(in alcuni casi basta anche/tec/init.d/httpd start
avvia il servizio.
Se durante lo startup tutto va bene, il prompt dei comandi tornerà ad essere utilizzabile. Questo significa che il server è su e che sta girando correttamente. Un test sicuro è utilizzare un browser, connettersi al server (http://indirizzo_server:80) e vedere se compare il contenuto della Document root.
Se Apache da errore in fase di start-up, si può visualizzarne la causa in console o nel file specificato nella direttiva ErrorLog di httpd.conf.
Uno degli errori più frequenti è "Unable to blind to port xxxx".
Questo errore puo essere causato da:
- Tentato start con listening ad una porta sotto la 1024 senza essere root.
- Tentato start con listening ad una porta gia utilizzata da un altra istanza di Apache o di un qualsiasi altro server.
Un altro errore comune è un "Syntax Error on line xxx" che indica la riga nel file di configurazione che contiene una direttiva errata. I motivi possono essere:
- Errore di sintassi nella scrittura della direttiva;
- Utilizzo di una direttiva che viene fornita da un modulo non caricato.
Se si desidera startare il server in fase di boot, bisogna aggiungere la "chiamata" ad httpd o ad apachectl nei file di startup del sistema (solitamente /etc/rc.d/rc.local
o nella struttura di init con un symlink tipo /etc/rc.d/rc.3/S70httpd
che punta a /etc/rc.d/init.d/httpd
).
Tutta la configurazione di Apache può essere fatta operando con un editor di testi sul file httpd.conf
che di trova in /usr/local/apache/conf/
oppure in /etc/httpd/conf/
o dove è stato specificato in fase di compilazione (provare un locate httpd.conf
per trovarlo).
Alternativamente o in parallelo alla modifica manuale del file di configurazione si possono usare diversi strumenti di configurazione grafici, sia dedicati come Comanche o Apache Configuration di RedHat, che parte di più ampi strumenti grafici di configurazione del sistema come Linuxconf o Webmin.
Ogni riga nel file di configurazione di Apache può contenere o un # per indicare che segue un commento che non viene processato o una direttiva con cui definire le varie configurazioni.
Alcune direttive (Limit, LimitExcpet, Directory, DirectoryMatch, Files, FilesMatch, Location, LocationMatch, VirtualHost) definiscono un container, individuano cioè una directory, un dato tipo di file o, genericamente, un insieme di file per i quali si possono definire specifiche direttive.
Per esempio, per indicare che l'accesso a tutti i file nella directory /home/www/private è possibile solo da certi indirizzi si scrive:
<Directory /home/www/private> # Direttiva container Directory, con la quale si definisce una directory e tutto quello che vi è contenuto
order deny,allow # All'interno della directory definita si limita l'accesso secondo l'ordine indicato
deny from all # Viene negato l'accesso a tutti gli indirizzo
allow from 10.0.0 # Viene permesso l'accesso agli indirizzi della rete 10.0.0.0/24
</Directory> # Il container Directory viene chiuso, le direttive che seguono non si applicano più a questa directory
Le direttive si dividono in diverse categorie, a seconda di dove possono essere usate nel file di configurazione:
- Server-Level - Possono essere usate solo nella parte della configurazione che riguarda l'intero server, quindi non all'interno di container.
- Globali e locali - Possono essere usare sia a livello dell'intero server, definendo i comportamenti di default, che valgono per tutti i documenti, che all'interno di container, per gestire casi specifici e sostituire quanto definito al server-level.
- Solo locali - Possono essere usate solo all'interno di un container, in quanto non avrebbero senso nella configurazione generale.
Per impostare una configurazione di base servono alcune informazioni, che l'amministratore deve fornire:
- Nome del server (può essere il nome effettivo della macchina o un nome arbitrario), si definisce con la direttiva ServerName
- La porta a cui mettere in listening il web server. Per il protocollo http la porta di default è l'80, ma volendo se ne può definire una alternativa. Si può inoltre definire a quale IP locale appoggiarsi (nel caso si stia usando una macchina con più IP). La direttiva raccomandata è Listen
. Nella versione 1.3 di Apache vengono usate anche le direttive BindAddress
e Port
che però sono deprecate.
- L'utente e il gruppo con cui gira il processo httpd. E' meglio che siano utenti comuni non privilegiati (di solito "nobody" o "apache"). Per definirli si usano le direttive User
e Group
- La directory che contiene i file HTML che fanno parte del sito che si vuole rendere pubblico con Apache. Si definisce con la direttiva DocumentRoot
. Notare che questa è diversa dalla direttiva ServerRoot
che definisce la directory di base di Apache, partendo dalla quale il programma cerca file di configurazione, log ecc.
- Se si usa un Apache con supporto dei moduli è probabile che solo il modulo di core mod_so sia effettivamente incluso nel binario httpd, per cui per poter funzionare Apache richiede il caricamento, tramite file di configurazione, degli altri moduli. Con Apache 2.0 basta la direttiva LoadModule
, con Apache 1.3 ci vuole ANCHE la direttiva AddModule
.
- Non è obbligatorio ma è prassi comune indicare l'indirizzo e-mail dell'amministratore del sistema, che può venir visualizzato in pagine di errore o altri casi. Lo si imposta con la direttiva ServerAdmin
.
Un esempio di un file di configurazione minimale, senza caricamento di moduli, è quindi:
ServerName pippo
Listen 80
User apache
Group apache
DocumentRoot /home/httpd/html
Il file httpd.conf è il file di configurazione principale di Apache. Ci sono veramente tante opzioni possibili da settare, ed è per questo che è importante fare spesso riferimento al manuale ufficiale, che offre una documentazione completa su Apache. Il seguente esempio di configurazione riporta una configurazione minima di Apache con commenti su ogni direttiva usata.
### Section 1: Global Environment
ServerType standalone
La direttiva ServerType specifica come Apache deve girare sul sistema. E' possibile farlo girare tramite il super daemon inetd (che invoca Apache quando riceve connessioni sulla porta 80) o come tramite server standalone, costantemente in esecuzione sul sistema. E' altamente raccomandabile questa seconda alternativa, per ridurre i tempi di latenza ed evitare i potenziali problemi che si possono avere invocando Apache da inetd.
ServerRoot "/etc/httpd"
Specifica la directory di base di Apache dove si trovano i file di configurazione e altri file importanti. Eventuali PATH di ulteriori directory, se non altrimenti specificato, sono relativi a questa directory.
PidFile /var/run/httpd.pid
Specifica dove viene scritto il PID di httpd quando si avvia. Questa opzione è richiesta solo quando Apache gira in standalone mode.
ResourceConfig /dev/null
Specifica la locazione del file srm.conf che Apache legge quando finisce di leggere il file di configurazione httpd.conf. Nelle versioni più recenti di Apache, viene tutto scritto in httpd.conf e non si usa più usare un file srm.conf separato. /dev/null, in questo caso indica che NON esiste un srm.conf separato.
AccessConfig /dev/null
L'opzione AccessConfig specifica la locazione del file access.conf, che Apache legge quando finisce di leggere il file di configurazione httpd.conf. Come sopra, impostando come argomento /dev/null non si specifica alcun file esterno per questa parte di configurazione (relativa ai permessi di accesso al web.
Timeout 300
Specifica il tempo di attesa massimo di Apache per le richieste (GET, POST, PUT). Su server a traffico normale si puo tranquillamente mantenere l'opzione di default, altrimenti può aver senso ridurla per liberare risorse più rapidamente.
KeepAlive On
L'opzione KeepAlive, se settata On, permette di usare, come da specifiche HTTP/1.1, la stessa connessione TCP per inviare più file. Per migliori performance è consigliato settarla On evitando che venga aperta una connessione TCP per ogni richiesta HTTP.
MaxKeepAliveRequests 100
Specifica il numero di richieste permesse per connessione (sempre che l'opzione KeepAlive venga settata On). Se questa opzione è settata a 0, una connessione rimane attiva e file continuano ad essere scambiati fino a quando non va in timeout.
KeepAliveTimeout 15
Specifica quanto tempo, in secondi, Apache deve attendere per una successiva richiesta prima di chiudere la connessione. Un valore di 15 secondi è molto buono (parlando sempre di performance di Apache).
MinSpareServers 16
Specifica il numero minimo di processi figli in attesa di ricevere una richiesta. Apache, fa uno spawn di nuovi figli, mano a mano che quelli esistenti vengono occupati da nuove richieste. Dal momento che l'operazione di spawning non è rapidissima, questa opzione è molto importante per quanto riquarda le performance di Apache. Per un server che deve gestire un numero medio alto di accessi, 16 è il valore piu usato.
MaxSpareServers 64
Specifica il numero massimo di processi figli in attesa di ricevere una richiesta, un valore alto permette ad Apache di rispondere più rapidamente a picchi di traffico, ma occupa maggiormente le risorse del sistema. Per un server che deve gestire un numero medio alto di accessi, 64 è il valore piu usato.
StartServers 16
Specifica il numero di processi figli che devono essere creati da Apache in start-up. Anche questo è un parametro importante per quanto riguarda le performance di Apache. Per un server che deve gestire un numero medio alto di accessi ha senso aumentare questo valore.
MaxClients 256
Specifica il numero massimo di richieste simultanee che Apache può supportare. Anche questo parametro è fondamentale per il discorso performance. Considerare che nella compilazione di default di Apache, questo parametro non può superare 256.
MaxRequestsPerChild 100000
Specifica il numero di richieste che un singolo processo figlio può gestire. Con 0 si indica un numero infinito, ma per evitare un potenziale degradamento del sistema è utile mettere un numero alto ma finito.
### Section 2: 'Main' server configuration
Port 80
Indica la porta TCP su cui Apache deve ascolare. 80 è la porta di default per un server http. Questa direttiva, insieme a BindAddress, che indica l'IP su cui ascoltare, è destinata ad essere soppiantata dalla più flessibile Listen
Listen *:80
Indica di ascoltare su tutti gli IP locali sulla porta 80. Si possono specificare anche singoli indirizzi e più righe con diversi IP e porte in Listen
User nobody
Lo user con cui Apache gira. E' importante creare un nuovo utente con i minimi permessi usati allo scopo di far girare il servizio. Notare che Apache avrà, nell'accesso al file system locale, i privilegi dell'utente qui specificato.
Group nobody
Il gruppo con cui Apache gira.
DirectoryIndex index.htm index.html index.php index.php3 default.html index.cgi
Specifica i nomi di file che Apache considera come home page. In altre parole, se viene fatta una GET che non specifica il nome di un file specifico ma solo la directory (quello che succede abitualmente, quando su un browser si indica un indirizzo tipo http://www.yahoo.com) Apache cerca, nell'ordine indicato, i file sopra citati e se non ne trova alcuni visualizza, se questo è permesso nel resto della configurazione, l'elenco dei file contenuti della directory
Include conf/virtual-domains.conf
Specifica la posizione di altri files che si possono includere insieme al file di configurazione httpd.conf. In questo caso è stato incluso il file virtual-domains.conf, contenuto nella directory /etc/httpd/conf.
HostnameLookups Off
Questa opzione, se settata off, specifica di disabilitare il DNS reverse lookup degli IP dei client in fase di logging. Per evitare tempi di latenza eccessivi, è consigliabile lasciare Off la risoluzione degli IP, che potrà essere fatta successivamente e autonomamente da strumenti di analisi dei log.
ServerAdmin [email protected]
L'indirizzo email di chi amministra il server. Può essere indicato in alcune pagine di errore
ServerName www.domain.com
Il nome del server web
DocumentRoot "/home/httpd/folder"
La directory dove sono contenuti i file html che costituiscono il sito offerto dal server
<Directory "/home/httpd/folder">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Si definisce un container Directory, al cui interno si impostano delle direttive limitate agli oggetti ivi contenuti
<Files .pl>
Options None
AllowOverride None
Order deny,allow
Deny from all
</Files>
Altro esempio di container. Qui si impedisce la lettura di tutti i file .pl
<IfModule mod_mime.c>
TypesConfig /etc/httpd/conf/mime.types
</IfModule>
Indica di caricare il file specificato con l'elenco dei MIME file type, se è presente il modulo mod_mime, in grado di gestirli.
DefaultType text/plain
Indica con quale MIME type il server web fornisce i suoi file
ErrorLog /var/log/httpd/error_log
LogLevel warn
La posizione del file di log per quanto riguarda gli errori, e il livello di debugging
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog /var/log/httpd/access_log combined
Si definisce il formato di un file di log (per quanto riguarda le richieste HTTP), lo si chiama "combined" e, con la direttiva CustomLog si definisce dove scriverlo.
<IfModule mod_alias.c>
ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
<Directory "/home/httpd/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</IfModule>
Se è presente il modulo mod_alias si definisce un alias per una directory che contiene script CGI e si impostano direttive specifiche per quella directory
ErrorDocument 500 "The server made a boo boo.
ErrorDocument 404 http://192.168.1.1/error.htm
ErrorDocument 403 "Access Forbidden -- Go away.
Definisce come reagire in caso di errore, a seconda del codice di errore. Si può visualizzare una scritta, aprire un file html locale o puntare ad un URL remoto
<IfModule mod_setenvif.c>
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
</IfModule>
Se è presente il modulo mod_setenvif, si impostano specifici header di risposta per richieste effettuati da specifici Browser
Come prevedibile la quantità di informazioni online su Apache è notevole e sufficiente a soddisfare la sete di conoscenza anche dei più insaziabili.
Il punto di riferimento principale è ovviamente la documentazione ufficiale, direttamente reperibile sul sito di Apache.
http://httpd.apache.org/docs/ - La documentazione ufficiale di Apache 1.3
http://httpd.apache.org/docs-2.0/ - La documentazione ufficiale di Apache 2.0
Ulteriore documentazione si può trovare su altri siti:
http://www.refcards.com/about/apache.html Apache RefCard. Una comoda reference essenziale e pratica.
http://www.onlamp.com/apache/ ONLAMP. La sezione su Apache di O'Reilly Network.
Esistono numerosi siti di informazione, news e discussione su Apache. Fra questi:
http://www.apacheweek.com/ - Apache Week. Una popolare newsletter, un sito, molte news.
http://apachetoday.com - Apache Today. News e reviews.
Fra i siti che parlano di progetti collaterali ad Apache indichiamo:
http://www.apache-tools.com/ Apache Tools. Un completo elenco di moduli, programmi e strumenti di configurazione, benchmark ecc.
http://www.apachetoolbox.com/ Apache Toolbox. Uno script che automatizza e semplifica la compilazione di Apache con svariati moduli.
Fra i forum e le community segnaliamo:
http://www.faqts.com/knowledge_base/index.phtml/fid/56/ FAQTs: Apache. Domande e risposte su Apache.
http://slashdot.org/index.pl?section=apache La sezione di Slashdot interamente dedicata ad Apache. Discussioni e approfondimenti della enorme community di Slashdot.
http://www.tek-tips.com/gthreadminder.cfm/lev2/3/lev3/22/pid/65 Affollato Apache forum su Tek Tips.
Sono disponibili vari strumenti per monitorare e capire il funzionamento di Apache, il suo stato e quello che sta facendo.
Comandi Unix di Sistema
Vari comandi comuni sono utili per verificare cosa sta facendo Apache (come qualsiasi altra applicazione):
ps -adef | grep httpd
Visualizza se fra i processi in esecuzione c'è Apache (dovrebbero vedersi varie righe con httpd, una per ogni child in esecuzione, oltre al httpd padre di tutti i processi (l'unico eseguito come root).
netstat -natp
Visualizza tutte le connessioni Internet esistenti sul sistema, tra cui quelli in LISTENING sul sistema. Per ogni connessione si mostra anche il processo che la gestisce.
ldd /usr/sbin/httpd
o ldd /usr/local/apache/bin/httpd
(o ldd /path/httpd) Visualizza tutte le librerie dinamiche utilizzate da Apache. Utile per capirne le dependencies.
strace -p PID
(Dove il PID è quello di un child di Apache) Traccia le system call di un singolo processo.
strace apachectl start
Traccia le system call del processo che avvia Apache, utile per diagnosticare eventuali problemi all'avvio di Apache (verificare prima i log).
lsof | grep httpd
Visualizza tutti i file aperti da Apache. Utile per verificare, tra la'ltro, dove sono i log e quali moduli sono utilizzati.
Log di Apache
I log di Apache sono il primo posto dove cercare la soluzione di problemi (oltre che, ovviamente, analizzare il traffico Web sul sito). Di default sono in /usr/local/apache/logs
ma se si è installato Apache tramite un RPM li si potranno trovare in /var/log/httpd
o comunque dove specificato nel file di configurazione principale (verificare la direttiva ErrorLog
e definire la verbosità dei log con LogLevel
(per diagnostica mettere LogLevel debug
per il massimo della verbosità, in condizioni normali lasciare LogLevel warn
).
Server-status e Server-info
Apache fornisce due moduli che permettono all'amministratore di visualizzare informazioni utili in tempo reale.
Server-status mostra info sulle connessioni esistenti, l'uptime del server, il traffico generato, la CPU impegnata, la versione di Apache. E' possibile avere lo status sia in modalità normale che in modalità estesa, dove per ogni connessione si vedono maggiori informazioni. Di default, se abilitato, si trova su http://www.sito.com/server-status/
Server-info fornisce dettagliate informazioni sulla configurazione di Apache e sulle direttive relative ad ogni singolo modulo. Di default, se abilitato, si trova su http://www.sito.com/server-info/
Opzioni di invocazione
Anche le opzioni che possono essere passate ad Apache, eseguendo httpd
danno informazioni utili:
httpd -V
Mostra il numero di versione, e i parametri usati in fase di configurazione
httpd -l
Mostra i moduli compilati direttamente nel file httpd.
httpd -L
Mostra tutte le direttive che possono essere usate con i moduli direttamente compilati (vengono escluse tutte quelle che sono fornite dai moduli caricabili dinamicamente).
httpd -t
Esegue un test sulla configurazione di Apache e segnala eventuali errori di sintassi.
Variabili d'ambiente
Apache setta ed utilizza una serie di variabili d'ambiente che possono essere utilizzate da script CGI, PHP, Perl o trattate in sede di configurazione per gestire il comportamento del server sulla base dell'ambiente generale e delle singole connessioni. Per visualizzarle esistono vari metodi indiretti, per esempio uno è quello di utilizzare PHP all'interno di pagine HTML: <?php echo $REMOTE_ADDR ?>
visualizza l'IP del client remoto.
Per la configurazione facile di Apache, Red Hat Linux ha un tool che permette tramite interfaccia grafica la configurazione del file /etc/httpd/conf/httpd.conf, dando la possibilita di settare parametri come virtual hosts, numero massimo di connessioni, filtri di logging ecc...
Per utilizzarlo serve l'ambiente di lavoro grafico X Windows ed i permessi di root. E' suddiviso in svariate sezioni:
Main: da qui è possibile inserire il nome del dominio, l'e-mail del webmaster, la porta dalla quale "ascoltare" e gli indirizzi accettati (disponibile l'opzione "listen to all adress").
Virtual hosts: da qui è possibile aggiungere virtual host, ossia aggiungere piu domini, server per diversi IP e porte sulla stessa macchina.
Server: da qui è possibile settare i parametri del server web quali lock file, PID file, directory root, user e gruppo di Apache.
Performance tuning: da qui è possibile settare alcuni parametri come numero massimo di connessioni, tempo di timeout, richieste massime per connessioni ecc...
Altra sezione importante è Default settings, dalla quale è possibile settare homepage, pagine dove deviare gli utenti in funzione dell'errore (page not found, bad request ecc...), file di log per processi, errori ecc...
Attenzione: se si usa questo tool per configurare Apache non editare manualmente il file /etc/httpd/conf/httpd.conf. Se si aggiungono nuovi moduli ad Apache, non saranno supportati da questo tool, e non si potrà più configurare Apache in questo modo.
Per avviare Apache configuration tool:
Su desktop GNOME main menu=>Programs=>System=>Apache configuration;
Su desktop KDE main menu=>System=>Apache configuration;
Oppure da shell lanciando il comando apacheconf
.