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:50] – [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 455: | Line 545: | ||
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: | ||
+ | |||
+ | 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 funzionamento è il seguente: | ||
Line 481: | 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 498: | 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 676: | 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.1506419451.txt.gz · Last modified: 2017/09/26 11:50 by niccolo