Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5: differenze tra le versioni

m
non compatibilità + aggiunto link a guida più aggiornata
(→‎Moduli aggiuntivi: eliminato moduli installati di default)
m (non compatibilità + aggiunto link a guida più aggiornata)
 
(23 versioni intermedie di 5 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{Versioni compatibili|ONLY|Squeeze|Wheezy|Jessie}}
 
{{Box|Guida aggiornata|Per Debian 9 ([[Stretch]]) o superiori fare riferimento alla [[Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5 - Stretch|guida apposita]].}}
 
== Introduzione ==
== Introduzione ==
'''LAMP''' è un acronimo che indica un ambiente server in cui siano installati '''L'''inux, '''A'''pache, '''M'''ySQL e '''P'''HP. In questa guida vedremo come installare un server Apache2 su Debian Lenny, come configurare il modulo SSL e come fornire supporto per il linguaggio di scripting PHP5 e i database basati su MySQL.
'''LAMP''' è un acronimo che indica un ambiente server in cui siano installati '''L'''inux, '''A'''pache, '''M'''ySQL e '''P'''HP. In questa guida vedremo come installare un server Apache2 su Debian Lenny, come configurare il modulo SSL e come fornire supporto per il linguaggio di scripting PHP5 e i database basati su MySQL.
Riga 110: Riga 113:
         Options Indexes FollowSymLinks MultiViews
         Options Indexes FollowSymLinks MultiViews
         AllowOverride None
         AllowOverride None
         Order allow,deny
          
         allow from all
        # Fino a Debian Wheezy
        #Order allow,deny
         #allow from all
 
        # Da Debian Jessie
        Require all granted
 
     </Directory>
     </Directory>


Riga 120: Riga 129:
         AllowOverride None
         AllowOverride None
         Options None
         Options None
        Order allow,deny
 
        Allow from all
        # Fino a Debian Wheezy
        #Order allow,deny
        #allow from all
 
        # Da Debian Jessie
        Require all granted
 
     </Directory>
     </Directory>


Riga 127: Riga 142:
         AllowOverride None
         AllowOverride None
         Options None
         Options None
         Order allow,deny
 
         Allow from all
        # Fino a Debian Wheezy
         #Order allow,deny
         #allow from all
 
        # Da Debian Jessie
        Require all granted
 
     </Directory>
     </Directory>


Riga 137: Riga 158:
         Options Indexes MultiViews
         Options Indexes MultiViews
         AllowOverride None
         AllowOverride None
         Order allow,deny
 
         Allow from all
        # Fino a Debian Wheezy
         #Order allow,deny
         #allow from all
 
        # Da Debian Jessie
        Require all granted
 
     </Directory>
     </Directory>
</VirtualHost>
</VirtualHost>
</pre>
</pre>
* '''Da Debian Jessie''':
il controllo degli accessi Rule-Based prevedono una configurazione differente


*per negare l'accesso alla directory a tutti:
'''NOTE'''
* '''Da Debian Jessie (Apache 2.4.x)''':
1) la ''DocumentRoot'' è <tt>/var/www/html/</tt>
 
2) il controllo degli accessi Rule-Based prevede una configurazione differente:
 
* per negare l'accesso alla directory a tutti:
<pre>Order deny,allow
<pre>Order deny,allow
Deny from all</pre> modificare in<pre>Require all denied</pre>
Deny from all</pre>
: modificare in
<pre>Require all denied</pre>


*per consentire l'accesso alla directory a tutti:
 
* per consentire l'accesso alla directory a tutti:
<pre>Order allow,deny
<pre>Order allow,deny
Allow from all</pre> modificare in<pre>Require all granted</pre>
Allow from all</pre>
: modificare in
<pre>Require all granted</pre>




Riga 160: Riga 196:
</pre>
</pre>
Come ultima cosa, importantissima, bisogna attivare il sito che abbiamo appena creato (sempre utilizzando i comodi comandi che Apache2 ci mette a disposizione). Sarà quindi sufficiente un:
Come ultima cosa, importantissima, bisogna attivare il sito che abbiamo appena creato (sempre utilizzando i comodi comandi che Apache2 ci mette a disposizione). Sarà quindi sufficiente un:
* '''Fino a Debian Wheezy''':
<pre>
<pre>
# a2ensite default-ssl
# a2ensite default-ssl
</pre>
</pre>
* '''Da Debian Jessie (Apache 2.4.x)''':
<pre>
# a2ensite default-ssl
</pre>
{{Discussione|senza includere l'estensione ".conf".|.conf per default.ssl}}
Un riavvio di Apache2 caricherà la nuova configurazione:
Un riavvio di Apache2 caricherà la nuova configurazione:
<pre>
<pre>
Riga 197: Riga 242:
;memory_limit = -1
;memory_limit = -1
memory_limit = 128M
memory_limit = 128M
</pre>
Potrebbe essere utile aumentare il valore dei dati POST caricabili attraverso script PHP. In questo caso occorre modificare il file di configurazione di Apache:
<pre>
# nano /etc/apache2/apache2.conf
</pre>
aggiungendo la sezione
<pre>
<Files *.php>
    # Da Debian Wheezy
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
   
    # Fino a Debian Squeeze
    #SetOutputFilter PHP
    #SetInputFilter PHP
   
    LimitRequestBody 524288
</Files>
</pre>
e riavviando il server:
<pre>
# /etc/init.d/apache2 restart
</pre>
</pre>
=== Test della configurazione ===
=== Test della configurazione ===
Riga 259: Riga 326:
</pre>
</pre>
A questo punto lanciate il browser su '''http://123.45.67.890/phpmyadmin''' e fate login con le credenziali di root di MySQL inserite poco fa.
A questo punto lanciate il browser su '''http://123.45.67.890/phpmyadmin''' e fate login con le credenziali di root di MySQL inserite poco fa.
<br/><br/>
{{Box|Nota|È possibile che la pagina di autenticazione di phpmyadmin non venga caricata, in tal caso provare a riavviare manualmente apache.}}
<br/>
Poiché la password di login su phpmyadmin viaggia in chiaro, può essere una buona cosa forzare il servizio phpmyadmin a restare in ascolto solo sul protocollo HTTPS, creando una riscrittura automatica dell'indirizzo HTTP verso il protocollo SSL. Questo può essere agevolmente fatto modificando il file di configurazione di phpmyadmin.
Poiché la password di login su phpmyadmin viaggia in chiaro, può essere una buona cosa forzare il servizio phpmyadmin a restare in ascolto solo sul protocollo HTTPS, creando una riscrittura automatica dell'indirizzo HTTP verso il protocollo SSL. Questo può essere agevolmente fatto modificando il file di configurazione di phpmyadmin.
* '''Fino a Debian Wheezy''':
* '''Fino a Debian Wheezy''':
Riga 265: Riga 333:
# nano /etc/apache2/conf.d/phpmyadmin.conf
# nano /etc/apache2/conf.d/phpmyadmin.conf
</pre>
</pre>
* '''Da Debian Jessie''':
* '''Da Debian Jessie (Apache 2.4.x)''':
<pre>
<pre>
# nano /etc/phpmyadmin/apache.conf
# nano /etc/phpmyadmin/apache.conf
Riga 301: Riga 369:
</pre>
</pre>
ci dice che l'installazione Apache2 di Debian ha due vhost disponibili: <code>default</code> e <code>default-ssl</code>. Notate che la presenza di un virtual host in questa directory non significa che questo sia attivo e visibile dagli utenti; significa solo che sarà disponibile se verrà abilitato.<br>
ci dice che l'installazione Apache2 di Debian ha due vhost disponibili: <code>default</code> e <code>default-ssl</code>. Notate che la presenza di un virtual host in questa directory non significa che questo sia attivo e visibile dagli utenti; significa solo che sarà disponibile se verrà abilitato.<br>
Tutto questo ci porta a...
 
* '''Da Debian Jessie''':
* '''Da Debian Jessie (Apache 2.4.x)''':
<pre>
<pre>
ls sites-available/
ls sites-available/
Riga 309: Riga 377:
</pre>
</pre>
i due vhost disponibili sono <code>000-default.conf</code> e <code>default-ssl.conf</code>, terminano con estensione .conf e il contenuto va personalizzato secondo le proprie esigenze.
i due vhost disponibili sono <code>000-default.conf</code> e <code>default-ssl.conf</code>, terminano con estensione .conf e il contenuto va personalizzato secondo le proprie esigenze.
Tutto questo ci porta a...


=== sites-enabled ===
=== sites-enabled ===
Riga 361: Riga 432:
</pre>
</pre>
e riavviare Apache.
e riavviare Apache.
* '''Da Debian Jessie''':
* '''Da Debian Jessie (Apache 2.4.x)''':
per evitare di visualizzare l'avviso
per evitare di visualizzare l'avviso
<pre>Restarting web server: apache2AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/ports.conf:5</pre> decommentare la riga 5 relativa a NameVirtualHost
<pre>Restarting web server: apache2AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/ports.conf:5</pre> commentare la riga 5 relativa a NameVirtualHost


=== apache2.conf ===
=== apache2.conf ===
Riga 473: Riga 544:
: [[Utente:marzolinus|marzolinus]]
: [[Utente:marzolinus|marzolinus]]
|Numero_revisori = 1
|Numero_revisori = 1
|Estesa_da =
: [[Utente:Selky|Selky]]
}}
}}


3 581

contributi