Apache/it

Apache HTTP Server è web server, uno dei più popolari utilizzati in Internet.]]

Modulo Multi-Processing (MPM)
Se si desidera utilizzare l'evento Apache o l'MPM di lavoro, abilitare il flag USE dei thread Apache:

Se si vuole utilizzare l'evento Apache MPM, bisogna aggiungere al file make.conf la seguente riga:

Se si vuole utilizzare Il worker apache MPM, bisogna aggiungere al file make.conf la seguente riga:

If no Multi-Processing Module (MPM) is selected, the default MPM is used. The default MPM depends on platform capabilities (like threads support), read more in the official Apache docs.

Quindi "emergere" Apache:

Supporto globale
Abilitare la USE flag globale  da il supporto per Apache in altri pacchetti. Questo può determinare che il pacchetto sarà installato automaticamente se viene emerso un pacchetto dipendente da Apache.

Dopo aver settato le variabili USE, aggiornare il sistema in modo che le modifiche abbiano effetto:

Files
Ci sono due files 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 Apache2

Il file situato in  è un file di configurazione dello script init di Gentoo. La sola linea attiva in questo file è la linea di variabile APACHE2_OPTS :

Questa riga definisce le opzioni che saranno interpretate dai vari file di configurazione utilizzando l'istruzione  per attivare o disattivare alcune parti dell'intera configurazione. Questo argomento sarà ripreso più avanti nell'articolo.

Il file è il file di configurazione convenzionale del server Apache. Infatti esso è solo un entry point per la configurazione. L'intera configurazione è divisa in molti files nella directory, i quali sono assemblati insieme utilizzando la direttiva. Per esempio, l'istruzione, sul file , mira ad includere tutti i files in  il cui nome finisce 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 è impostata utilizzando un flag   nella variabile APACHE2_OPTS , all'interno del file. Il file di configurazione è un'eccezione a questa regola dato che non parte con un'istruzione   e quindi è sempre incluso nella configurazione risultante.

Configurazione di defaults
Dopo una nuova installazione 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 directory, 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.

Abilitare mod_security
ModSecurity is a rule-based web application firewall that monitors web service traffic, to block attacks exploiting known vulnerabilities.

Installare :

Abilitare il modulo  nella variabile APACHE2_OPTS del file :

Controllare questo modulo editando e  e riavviando Apache.

Abilitazione del supporto PHP
Installare PHP con il flag USE  ed abilitare il modulo:

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

Se esso non esistesse crearlo.

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

Adesso, rimuovere o rinominare ed aprire la pagina di test:

Dovrebbe essere visibile una tabella che descrive le impostazioni di PHP.

Modificare le versioni di PHP
Per cambiare la versione di PHP gestita da Apache, per prima cosa elencare le versioni disponibili per il Server Application Programming Interface (SAPI) di :

Selezionare la versione scelta:

Sostituire  nell'esempio sopra con il numero nell'output di  come visualizzato in precedenza.

Hosts virtuali
Per ogni virtual host, fornire una directory  che sia raggiungibile ed accessibile dal demone Apache. Aggiungere un file di configurazione nella directory  che utilizzi questa   ed il Server Name dell'host virtuale. Non dimanticarsi di aggiungere un'entry per questo dominio in.

Per assegnare ai files dell'host virtuale 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

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:

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 :

Editare il file :

Creare le directory necessarie:

Creare un link simbolico per il wrapper PHP:

Abilitare il modulo :

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

Abilitare PHP-FPM attraverso il mod_proxy_fcgi in Apache 2.4
I seguenti pre-requisiti devono essere soddisfatti per abilitare PHP-FPM, attraverso mod_proxy_fcgi:
 * >= PHP 5.3
 * >= Apache 2.4

Inoltre, ci sono alcune restrizioni nella disponibilità di funzionalità all'interno di Apache 2.4:
 * >= Apache 2.4.9, se si vuole comunicare con PHP-FPM attraverso i sockets UNIX
 * >= Apache 2.4.10, se si vuole utilizzare SetHandler invece di ProxyPassMatch.

La seguente configurazione funzionerà solo con Apache 2.4.10 e versioni successive. Essa si basa sulla direttiva  e può essere collocata all'interno della configurazione del server principale o. La posizione del socket UNIX è determinata dalla direttiva  nel file di configurazione, consentendo di specificare recipienti separati per ogni sito o funzione.

Nell'esempio seguente,  è collocato all'interno del file di configurazione del modulo PHP di Apache:

Oppure si può utilizzare ProxPassMatch -- la sola opzione utile se la versione di Apache è compresa tra 2.4.0 e 2.4.8, incluse.

In serie la direttiva  non è impostata ad un socket. Per prima cosa bisogna creare la directory per il file socket:

Successivamente, aggiornare il file come segue:

Quindi abilitare entrambi i moduli  e  :

Web frameworks and Apache
Some of the web frameworks that can work with Apache are covered on the wiki:


 * Rails
 * Django

HTTPS with TLS certificates from Let’s Encrypt
It is important that any public-facing web server provide "secure" HTTPS access. Often, sites providing HTTPS will be configured to redirect HTTP requests to the HTTPS equivalent URL.

Let’s Encrypt is a not-for-profit certificate authority that issues free TLS certificats. is a utility available in the Gentoo repository for easily requesting and installing TLS certificates, and automatically setting up HTTPS access for Apache.

See the Let’s Encrypt article for information about using. The EFF also have specific instructions on using on Gentoo to configure Apache.

OpenRC
Avviare il server Apache:

Aggiungere Apache al runlevel default:

Riavviare il servizio Apache:

Ricaricare i file di configurazione:

systemd
Avviare il server Apache:

Aggiungere Apache al runlevel default:

Riavviare il servizio Apache:

Risorse
Il server Apache può essere difficoltoso da configurare. Di seguito alcune risorse utili in caso di problemi:


 * Guida al Troubleshooting

Testare
Verificare quali siano le interfaccie IP e le porte sulle quali il server Apache attivo è in ascolto:

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

Interrompere la connessione con + e.

Errore "apr_sockaddr_info_get failed for "
Errore:

apache2: apr_sockaddr_info_get failed for System_Hostname

Risoluzione:

Quando questo succede, aggiungete il vostro hostname al file

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