Apache/it

L'Apache HTTP Server è un web server efficiente ed estensibile, uno dei più popolari utilizzati in Internet.

Supporto in altri pacchetti
Esiste una flag USE "apache2" globale, che abilita il supporto per Apache in altri pacchetti. Questo potrebbe portare a tirar dentro automaticamente se questi pacchetti sono usati.

Dopo aver settato questo si può aggiornare il sistema, in modo che le modifiche abbiano effetto:

OpenRC
Avviare il server Apache:

Aggiungere Apache al runlevel default:

Riavviare il servizio Apache:

Ricaricare i file di configurazione:

systemd
Avvio di Apache:

Aggiungere Apache al default runlevel:

Restartare il servizio Apache:

Testare
Verificare le interfaccie IP e le porte sulle quali Apache è in Listen e sta girando:

Testare se una connessione verso un server Apache funziona in localhost:

Interrompere la connessione con + e.

File di configurazione
Ci sono 2 file principali che configurano il comportamento di Apache2 sul sistema:


 * Il file di configurazione per lo script di init apache2 di Gentoo


 * Il file di configurazione convenzionale del server Apache

Configurazione dell'init script di Gentoo
La sola linea attiva in questo file è come segue:

Questa riga definisce le opzioni che saranno interpretate dai vari file di configurazione utilizzando lo statement  per attivare o disattivare alcune parti dell'intera configurazione. Torneremo a questo punto quando necessario nel resto della guida.

File di configurazione convenzionale per Apache - httpd.conf
Di fatto questo file è solo un "entry point", dato che l'intera configurazione è frammentata in diversi file nella directory, assemblati insieme utilizzando la direttiva. Per esempio, l'istruzione, in , mira ad includere tutti i files presenti in  il cui nome finisca con.

Tenendo conto di ciò che è stato detto nella sezione precendente, e di come la configurazione dei moduli (files in /etc/apache2/modules.d) diviene attiva con l', il contenuto di un file dentro , sarà assemblato con il resto della configurazione SOLO se l'opzione corrispondente utilizzando un flag   nella variabile APACHE2_OPTS, all'interno del file. Il file di configurazione è un'eccezione a questa dato che non parte con un'istruzione   e quindi è sempre incluso nella configurazione risultante.

Configurazione di default
Dopo un installazione pulita di Apache, la configurazione risultante dall'assemblaggio dei diversi file di configurazione risulta come segue. Iniziamo dall'entry point.

Primi segni di vita
Come si vede nella configurazione iniziale sopra, la directory   pre-installata nel virtual host è, il suo server name è localhost. In aggiunta un file index.html è provvisto nella, in modo da poter verificare che tutto sia correttamente installato collegandosi con un browser a http://localhost.

Dovreste vedere un messaggio "It works !" nella pagina.

Abilitazione Modulo Security
Controllarequesto modulo editando e  e restartando apache.

Abilitazione supporto PHP
Installate PHP con il flag USE apache2 ed abilitate il modulo:

Prima di testare se il modulo PHP funziona, controllare che il file esista e contenga la seguente definizione:

Se non esistesse, createlo da voi.

Per verificare se il modulo PHP funziona, create una pagina di test:

Now, suppress or rename and open the test page: http://localhost/. You should see a table describing the PHP settings

Aggiungere i vostri virtual hosts
Per ogni virtual host, fornite una directory  che sia raggiungibile ed accessibile dal demone Apache. Aggiungete un file di configurazione per il virtual host nella directory  che utilizzi questa   ed il Server Name del virtual host, e non scordate di aggiungere un'entry per questo dominio in.

Per assegnare ai file virtual host i permessi necessari ad utente e gruppo di Apache, utilizzare  come nell'esempio seguente:

Di seguito due esempi di definizione di Virtual Host, uno per domainname1.com ed uno per domainname2.com. Da notare le differenti direttive  e   anche se l'host in sè  rimane invariato

Example virtual host definitions

E'raccomandato anche definire un virtual host IP based. Questo permette all'amministratore di mettere messaggi per quegli utenti che cercano di raggiungere il sito attraverso il suo indirizzo IP:

IP-based virtual host

Dopo aver inserito i virtual hosts, affinchè questi divention attivi il server deve essere restartato (anche con graceful).

Abilitare PHP attraverso fcgid
Installare e. Il pacchetto PHP richiede la flag USE "gci":

Editare il file :

Create le directory necessarie:

Creare un link simbolico per il wrapper PHP:

Abilitare il modulo fcgid:

Alla fine, riavviare Apache e controllare il sito  creato precedentemente. Il valore di  dovrebbe essere CGI/FastCGI

Enabling PHP-FPM through mod_proxy_fcgi in Apache 2.4
With PHP 5.3 and above, PHP supports an additional mode, FastCGI Process Manager, or FPM.

The following method relies on the FilesMatch directive and be placed within the main server config or VirtualHosts. The location of the UNIX socket is determined by the listen directive in the, allowing for specifying separate pools per site/function.

In the following example, it is placed within the PHP module config file.:

Then enable both the PHP and proxy modules:

Troubleshooting

 * Risoluzione dei problemi in Apache

Problemi Comuni
In fase di partenza, potreste incorrere nel seguente errore:

apache2: apr_sockaddr_info_get failed for SomeHostname

Quando questo succede, aggiungete il vostro hostname al file

Vedere anche

 * Lighttpd - un web server leggero e veloce.
 * Nginx - un HTTP servera piccolo, robusto e ad alte prestazioni

Risorse esterne

 * Slicehost article: Installing Apache on Gentoo
 * Slicehost article: Apache configuration files on Gentoo
 * Slicehost article: Configuring the Apache MPM on Gentoo
 * Slicehost article: Apache configuration on Gentoo
 * Slicehost article: Apache Virtual Hosts on Gentoo
 * Slicehost article: Enabling and using apache's mod_status on Gentoo
 * apache.org documentation
 * Apache2 mod_pagespeed