Avvio di Apache

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).

Privacy Policy