doc:appunti:linux:sa:apache
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:appunti:linux:sa:apache [2017/09/26 11:48] – [Apache 2.4 con VirtualHost con php-fpm 7.0] niccolo | doc:appunti:linux:sa:apache [2025/02/27 09:31] (current) – [Rewrite] niccolo | ||
|---|---|---|---|
| Line 134: | Line 134: | ||
| AuthType Basic | AuthType Basic | ||
| AuthName "Area protetta" | AuthName "Area protetta" | ||
| + | AuthBasicProvider file | ||
| AuthUserFile / | AuthUserFile / | ||
| + | #Require user username1 username2 | ||
| Require valid-user | Require valid-user | ||
| </ | </ | ||
| Line 145: | Line 147: | ||
| </ | </ | ||
| - | A livello di configurazione generale, verificare che l' | + | Nella configurazione generale verificare che la directory da proteggere abbia il giusto '' |
| + | |||
| + | < | ||
| + | < | ||
| + | AllowOverride AuthConfig Limit Options=Indexes | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Per sicurezza conviene inibire | ||
| < | < | ||
| Line 152: | Line 162: | ||
| Deny from all | Deny from all | ||
| </ | </ | ||
| + | </ | ||
| - | <Directory / | + | <file> |
| - | | + | < |
| - | </Directory> | + | |
| + | </FilesMatch> | ||
| </ | </ | ||
| - | Per consentire l' | + | È possibile creare una **eccezione all' |
| < | < | ||
| - | < | + | # Allows any user to see this directory without authentication. |
| - | | + | Require all granted |
| - | </ | + | |
| + | # For Apache | ||
| + | #Satisfy any | ||
| </ | </ | ||
| - | Nell' | ||
| ===== Autenticazione Digest ===== | ===== Autenticazione Digest ===== | ||
| Line 277: | Line 290: | ||
| | | ||
| | | ||
| - | | + | |
| </ | </ | ||
| </ | </ | ||
| Line 289: | Line 302: | ||
| ===== Controllo di accesso su indirizzo IP ===== | ===== Controllo di accesso su indirizzo IP ===== | ||
| - | FIXME La sintassi per Apache 2.4 con il modulo **mod_authz_core** è cambiata! Vedere **[[http:// | + | ==== Apache 2.4 ==== |
| + | |||
| + | La sintassi per Apache 2.4 con il modulo **mod_authz_core** è cambiata! Vedere **[[http:// | ||
| + | |||
| + | < | ||
| + | < | ||
| + | Require ip 185.32.54.97 185.12.76.143 | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Per delegare completamente il controllo di accesso ad un file **.htaccess** è necessario mettere la direttiva **AllowOverride All** nella configurazione di Apache, qualcosa del genere: | ||
| + | |||
| + | < | ||
| + | < | ||
| + | Options -Indexes | ||
| + | AllowOverride All | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Quindi il file **.htaccess** potrà includere direttive del tipo: | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | Require host host.rigacci.org | ||
| + | Require ip 111.111.222.222 | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Oltre alla direttiva **RequireAny** che richiede che sia soddisfatta almeno una delle condizioni (operatore **OR**), esiste la direttiva **RequireAll** che implica l' | ||
| + | |||
| + | ==== Apache 2.2 ==== | ||
| Per consentire l' | Per consentire l' | ||
| Line 308: | Line 353: | ||
| ^ Allow from 10.1.0.0/ | ^ Allow from 10.1.0.0/ | ||
| ^ Allow from 10.1.0.0/ | ^ Allow from 10.1.0.0/ | ||
| + | |||
| + | ===== Verifica combinata username o indirizzo IP ===== | ||
| + | |||
| + | Con questa configurazione di **Apache 2.4** si consente l' | ||
| + | |||
| + | < | ||
| + | < | ||
| + | SSLRequireSSL | ||
| + | # Athenticate on htpasswd file. | ||
| + | AuthType Basic | ||
| + | AuthName "Area privata" | ||
| + | AuthBasicProvider file | ||
| + | AuthUserFile / | ||
| + | < | ||
| + | Require user niccolo | ||
| + | Require ip 127.0.0.0/8 ::1 192.168.3.2 | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Se si opta per la configurazione tramite file **.htaccess**, | ||
| + | |||
| + | < | ||
| + | < | ||
| + | AllowOverride AuthConfig Limit | ||
| + | </ | ||
| + | </ | ||
| ===== Logging degli errori PHP ===== | ===== Logging degli errori PHP ===== | ||
| Line 355: | Line 427: | ||
| - | ===== Rewrite ===== | + | ===== Rewrite ===== |
| Esempio di rewrite da impostare in un file **'' | Esempio di rewrite da impostare in un file **'' | ||
| Line 370: | Line 442: | ||
| Il flag **'' | Il flag **'' | ||
| - | Per vedere quali regole di rewrite vengono | + | Per vedere quali regole di rewrite vengono |
| < | < | ||
| Line 376: | Line 448: | ||
| RewriteLogLevel 2 | RewriteLogLevel 2 | ||
| </ | </ | ||
| + | |||
| + | con Apache **2.4** la sintassi è diversa: | ||
| + | |||
| + | < | ||
| + | LogLevel info rewrite: | ||
| + | </ | ||
| + | |||
| + | ===== Creazione di un index.php con redirect ===== | ||
| + | |||
| + | Si vuole che richiamando la pagina principale del sito si venga rediretti alla directory ''/ | ||
| + | |||
| + | Nella DocumentRoot si crea un file **'' | ||
| + | |||
| + | <code php> | ||
| + | <?php | ||
| + | header(' | ||
| + | ?> | ||
| + | </ | ||
| ===== Certificato SSL ===== | ===== Certificato SSL ===== | ||
| Line 442: | Line 532: | ||
| </ | </ | ||
| - | ===== Apache 2.4 con VirtualHost con php-fpm 7.0 ===== | + | ===== Apache 2.4 VirtualHost con php-fpm 7.0 ===== |
| Questa è la configurazione consigliata con **Debian 9 Stretch** per avere quanto segue: | Questa è la configurazione consigliata con **Debian 9 Stretch** per avere quanto segue: | ||
| Line 456: | Line 546: | ||
| Non sono necessari (vanno rimossi) tutti i pacchetti utilizzati per soluzioni analoghe nelle vecchie distribuzioni: | Non sono necessari (vanno rimossi) tutti i pacchetti utilizzati per soluzioni analoghe nelle vecchie distribuzioni: | ||
| - | Il funzionamento è come segue: | + | Assicurarsi di aver abilitato il modulo **proxy_fcgi** e aver attivato la configurazione di **php7.0-fpm**: |
| - | | + | < |
| + | a2enmod proxy_fcgi | ||
| + | a2enconf php7.0-fpm | ||
| + | </ | ||
| + | |||
| + | Il funzionamento è il seguente: | ||
| + | | ||
| - Il demone **php-fpm** mantiene un **pool separato per ogni VirtualHost**. In ciascun pool l' | - Il demone **php-fpm** mantiene un **pool separato per ogni VirtualHost**. In ciascun pool l' | ||
| Line 482: | Line 578: | ||
| pm.min_spare_servers = 1 | pm.min_spare_servers = 1 | ||
| pm.max_spare_servers = 3 | pm.max_spare_servers = 3 | ||
| + | |||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| </ | </ | ||
| + | |||
| + | Nell' | ||
| Nella configurazione del VirtualHost si dichiara quale pool sarà usato: | Nella configurazione del VirtualHost si dichiara quale pool sarà usato: | ||
| Line 499: | Line 601: | ||
| * PHP Variables -> $_SERVER[' | * PHP Variables -> $_SERVER[' | ||
| - | ===== Apache2 con VirtualHost | + | ===== Apache 2.2 VirtualHost |
| - | FIXME Questa configurazione è obsoleta per **Debian 9 Stretch**, dove conviene usare il pacchetto **php-fpm**. | + | FIXME Questa configurazione è obsoleta per **Debian 9 Stretch**, dove conviene usare il pacchetto **php-fpm** |
| Caratteristiche richieste: | Caratteristiche richieste: | ||
| Line 677: | Line 779: | ||
| </ | </ | ||
| - | ==== PHP_AUTH_USER e PHP_AUTH_PW ==== | + | ==== Autenticazione base, variabili |
| + | |||
| + | === PHP con php7.0-fpm === | ||
| + | |||
| + | Nella configurazione **Debian 9** con PHP fornito dal pacchetto **php-fpm** (PHP via proxy FastCGI), le variabili dell' | ||
| + | |||
| + | === PHP 5 con libapache2-mod-fcgid | ||
| In un ambiente FastCGI le variabili **'' | In un ambiente FastCGI le variabili **'' | ||
doc/appunti/linux/sa/apache.1506419320.txt.gz · Last modified: by niccolo
