-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
374 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,374 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<!-- EN-Revision: e443388d4249fea383d6ec2d1a338be220cf95ee Maintainer: fabiosal Status: ready --> | ||
<!-- Reviewed: yes --> | ||
<sect1 xml:id="install.unix.apache2" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> | ||
<title>Apache 2.x su sistemi Unix</title> | ||
<para> | ||
Questa sezione contiene appunti e suggerimenti specifici per l'installazione di Apache con PHP su sistemi Unix. | ||
</para> | ||
|
||
&warn.apache2.compat; | ||
|
||
<para> | ||
La <link xlink:href="&url.apache2.docs;">documentazione di Apache</link> | ||
è la principale fonte di informazioni per il server Apache 2.x. | ||
Più informazioni riguardanti l'installazione di Apache possono essere trovate | ||
nella documentazione ufficiale. | ||
</para> | ||
|
||
<para> | ||
La versione più recente di Apache HTTP Server può essere ottenuta dal | ||
<link xlink:href="&url.apache;">sito Apache</link>, e una versione di PHP | ||
compatibile dai siti menzionati in precedenza. | ||
Questa guida rapida fornisce solo le informazioni base per iniziare ad | ||
utilizzare Apache 2.x e PHP. Per maggiori informazioni si legga la | ||
<link xlink:href="&url.apache2.docs;">documentazione di Apache</link>. | ||
I numeri di versione sono omessi per assicurare che le istruzioni non siano | ||
incorrette. Nell'esempio sotto, 'NN' dovrebbe essere sostituito con la | ||
specifica versione di Apache che si sta utilizzando. | ||
</para> | ||
|
||
<para> | ||
Ci sono attualmente 2 versioni di Apache 2.x - la 2.4 e la 2.2. | ||
Ci possono essere varie ragioni per scegliere una o l'altra versione, | ||
ma la 2.4 è attualmente l'ultima e quella raccomandata. In ogni caso le | ||
istruzioni qui presentate sono utilizzabili sia con la versione 2.4 che con | ||
la 2.2. Apache httpd 2.2 è ufficialmente End of Life, e nessun nuovo | ||
sviluppo o patch sarà effettuato. | ||
</para> | ||
|
||
<orderedlist> | ||
<listitem> | ||
<para>Scarica Apache HTTP Server da uno dei collegamenti menzionati | ||
precedentemente ed estrailo:</para> | ||
|
||
<informalexample> | ||
<screen> | ||
<![CDATA[ | ||
tar -xzf httpd-2.x.NN.tar.gz | ||
]]> | ||
</screen> | ||
</informalexample> | ||
</listitem> | ||
|
||
<listitem> | ||
<para>Allo stesso modo, scarica ed estrai il codice sorgente di PHP:</para> | ||
|
||
<informalexample> | ||
<screen> | ||
<![CDATA[ | ||
tar -xzf php-NN.tar.gz | ||
]]> | ||
</screen> | ||
</informalexample> | ||
</listitem> | ||
|
||
<listitem> | ||
<para> | ||
Compila ed installa Apache. Consulta la documentazione di Apache | ||
per maggiori dettagli. | ||
</para> | ||
|
||
<informalexample> | ||
<screen> | ||
<![CDATA[ | ||
cd httpd-2_x_NN | ||
./configure --enable-so | ||
make | ||
make install | ||
]]> | ||
</screen> | ||
</informalexample> | ||
</listitem> | ||
|
||
<listitem> | ||
<para> | ||
Ora Apache2.x.NN è disponibile in /usr/local/apache2, | ||
configurato con il supporto per il caricamento di moduli e | ||
il MPM prefork standard. Per testare l'installazione usa la | ||
normale procedura per eseguire il server Apache, es.: | ||
|
||
<informalexample> | ||
<screen> | ||
<![CDATA[ | ||
/usr/local/apache2/bin/apachectl start | ||
]]> | ||
</screen> | ||
</informalexample> | ||
|
||
termina l'esecuzione del server per continuare con la | ||
configurazione di PHP: | ||
|
||
<informalexample> | ||
<screen> | ||
<![CDATA[ | ||
/usr/local/apache2/bin/apachectl stop | ||
]]> | ||
</screen> | ||
</informalexample> | ||
</para> | ||
</listitem> | ||
|
||
<listitem> | ||
|
||
<para> | ||
Ora, configura e compila PHP. In questa fase è possibile personalizzare | ||
PHP con varie opzioni, come le estensioni da abilitare. Esegui | ||
./configure --help per una lista completa delle possibili opzioni. Nell'esempio | ||
seguente PHP sarà configurato per supportare Apache 2 e MySQL. | ||
</para> | ||
|
||
<para> | ||
Se compili Apache dal codice sorgente, come descritto in precedenza, il percorso per | ||
apxs sarà uguale a quello dell'esempio seguente, ma se Apache viene installato | ||
in qualche altro modo, si dovrà eventualmente correggere il percorso di apxs. | ||
Ricorda che alcune distribuzioni potrebbero rinominare apxs in apxs2 | ||
</para> | ||
<informalexample> | ||
<screen> | ||
<![CDATA[ | ||
cd ../php-NN | ||
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pdo-mysql | ||
make | ||
make install | ||
]]> | ||
</screen> | ||
</informalexample> | ||
|
||
<para> | ||
Per riconfigurare le opzioni dopo l'installazione, è necessario | ||
eseguire nuovamente i passaggi di configurazione, compilazione ed | ||
installazione. Sarà poi necessario riavviare Apache per utilizzare il | ||
nuovo modulo. Non è necessario compilare Apache nuovamente. | ||
</para> | ||
|
||
<para> | ||
Nota che se non indicato diversamente, 'make install' installerà anche | ||
PEAR, strumenti di PHP come phpize, PHP CLI ed altri. | ||
</para> | ||
|
||
</listitem> | ||
|
||
<listitem> | ||
<para> | ||
Configura php.ini | ||
</para> | ||
|
||
<informalexample> | ||
<screen> | ||
<![CDATA[ | ||
cp php.ini-development /usr/local/lib/php.ini | ||
]]> | ||
</screen> | ||
</informalexample> | ||
|
||
<para> | ||
È possibile editare il file .ini per impostare le opzioni di PHP. | ||
Se si desidera spostare il file php.ini in un'altra poizione, | ||
utilizzare l'opzione --with-config-file-path=/some/path al punto 5. | ||
</para> | ||
|
||
<para> | ||
Nel caso venga utilizzato il file php.ini-production, si legga la lista | ||
dei cambiamenti, perché modificano il comportamento di PHP. | ||
</para> | ||
|
||
</listitem> | ||
|
||
<listitem> | ||
|
||
<para> | ||
Edita il file httpd.conf per caricare il modulo PHP. Il percorso nella | ||
parte destra della dichiarazione di LoadModule deve puntare al percorso | ||
del modulo di PHP. Il precedente comando make install potrebbe averlo già | ||
aggiunto, ma si verifichi per sicurezza. | ||
</para> | ||
|
||
<informalexample> | ||
<para> | ||
Per PHP 8: | ||
</para> | ||
<programlisting role="apache-conf"> | ||
<![CDATA[ | ||
LoadModule php_module modules/libphp.so | ||
]]> | ||
</programlisting> | ||
</informalexample> | ||
|
||
<informalexample> | ||
<para> | ||
Per PHP 7: | ||
</para> | ||
<programlisting role="apache-conf"> | ||
<![CDATA[ | ||
LoadModule php7_module modules/libphp7.so | ||
]]> | ||
</programlisting> | ||
</informalexample> | ||
|
||
</listitem> | ||
|
||
<listitem> | ||
|
||
<para> | ||
Configurare Apache per analizzare certe estensioni di file con PHP. Per | ||
esempio, facciamo in modo che Apache analizzi i file .php con PHP. | ||
Invece di utilizzare solamente la direttiva AddType, si vuole evitare | ||
di caricare e creare file potenzialmente pericolosi come exploit.php.jpg | ||
ed evitarne l'esecuzione con PHP. Usando il seguente esempio, è possibile | ||
eseguire file con qualsiasi estensione con PHP semplicemente aggiungendola | ||
alla direttiva. Di seguito verrà aggiunta l'estensione .php come esempio. | ||
</para> | ||
|
||
|
||
<informalexample> | ||
<programlisting role="apache-conf"> | ||
<![CDATA[ | ||
<FilesMatch \.php$> | ||
SetHandler application/x-httpd-php | ||
</FilesMatch> | ||
]]> | ||
</programlisting> | ||
</informalexample> | ||
|
||
<para> | ||
Se si vuole far eseguire a PHP solamente i file con estensione .php, | ||
.php2, .php3, .php4, .php5, .php6, e .phtml: | ||
</para> | ||
|
||
<informalexample> | ||
<programlisting role="apache-conf"> | ||
<![CDATA[ | ||
<FilesMatch "\.ph(p[2-6]?|tml)$"> | ||
SetHandler application/x-httpd-php | ||
</FilesMatch> | ||
]]> | ||
</programlisting> | ||
</informalexample> | ||
|
||
<para> | ||
Per permettere ai file .phps di essere gestiti dal filtro per sorgenti php, | ||
ed utilizzare la colorazione della sintassi per il codice sorgente, utilizzare: | ||
</para> | ||
|
||
<informalexample> | ||
<programlisting role="apache-conf"> | ||
<![CDATA[ | ||
<FilesMatch "\.phps$"> | ||
SetHandler application/x-httpd-php-source | ||
</FilesMatch> | ||
]]> | ||
</programlisting> | ||
</informalexample> | ||
|
||
<para> | ||
mod_rewrite può essere utilizzato per permettere che ogni file .php | ||
disponga della colorazione della sintassi per il codice sorgente, | ||
evitando di rinominare o copiare il file in un file .phps: | ||
</para> | ||
|
||
<informalexample> | ||
<programlisting role="apache-conf"> | ||
<![CDATA[ | ||
RewriteEngine On | ||
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source] | ||
]]> | ||
</programlisting> | ||
</informalexample> | ||
|
||
<para> | ||
Il filtro per sorgenti php non dovrebbe essere abilitato in sistemi in | ||
produzione, per evitare di esporre informazioni confidenziali o | ||
sensibili. | ||
</para> | ||
|
||
</listitem> | ||
|
||
<listitem> | ||
<para> | ||
Utilizzare la normale procedura per avviare il server Apache, es. : | ||
</para> | ||
|
||
<informalexample> | ||
<screen> | ||
<![CDATA[ | ||
/usr/local/apache2/bin/apachectl start | ||
]]> | ||
</screen> | ||
</informalexample> | ||
|
||
<para>o</para> | ||
|
||
<informalexample> | ||
<screen> | ||
<![CDATA[ | ||
service httpd restart | ||
]]> | ||
</screen> | ||
</informalexample> | ||
|
||
</listitem> | ||
</orderedlist> | ||
|
||
<para> | ||
Seguendo i passi descritti si avrà un server web Apache con il supporto per | ||
PHP come modulo <literal>SAPI</literal>. Ovviamente ci sono molte altre | ||
opzioni configurabili per Apache e per PHP. Per altre informazioni digita | ||
<command>./configure --help</command> nella cartella corrispondente. | ||
</para> | ||
<para> | ||
Apache può essere compilato per utilizzare il multithread selezionando il | ||
<filename>worker</filename> MPM, invece del <filename>prefork</filename> | ||
MPM standard. Questo è possibile aggiungendo l'opzione al comando | ||
./configure nel passo 3 come di seguito: | ||
</para> | ||
<informalexample> | ||
<screen> | ||
<![CDATA[ | ||
--with-mpm=worker | ||
]]> | ||
</screen> | ||
</informalexample> | ||
<para> | ||
Questa modifica non dovrebbe essere fatta senza sapere le possibili | ||
conseguenze e implicazioni. La documentazione di Apache riguardante | ||
<link xlink:href="&url.apache2.mpm;">MPM-Modules</link> tratta | ||
l'argomento in modo molto più dettagliato. | ||
</para> | ||
<note> | ||
<para> | ||
Le <link linkend="faq.installation.apache.multiviews">Apache MultiViews | ||
FAQ</link> trattano l'utilizzo delle multiviews con PHP. | ||
</para> | ||
</note> | ||
<note> | ||
<para> | ||
Il sistema deve supportare i threads per poter compilare una versione di | ||
Apache multithread. Nel caso, PHP può essere compilato con Zend Thread | ||
Safety (ZTS). Con questa configurazione, non tutte le estensioni sono | ||
disponibili. Si raccomanda di compilare Apache usando l'MPM-Module | ||
<filename>prefork</filename> come di default. | ||
</para> | ||
</note> | ||
</sect1> | ||
|
||
<!-- Keep this comment at the end of the file | ||
Local variables: | ||
mode: sgml | ||
sgml-omittag:t | ||
sgml-shorttag:t | ||
sgml-minimize-attributes:nil | ||
sgml-always-quote-attributes:t | ||
sgml-indent-step:1 | ||
sgml-indent-data:t | ||
indent-tabs-mode:nil | ||
sgml-parent-document:nil | ||
sgml-default-dtd-file:"~/.phpdoc/manual.ced" | ||
sgml-exposed-tags:nil | ||
sgml-local-catalogs:nil | ||
sgml-local-ecat-files:nil | ||
End: | ||
vim600: syn=xml fen fdm=syntax fdl=2 si | ||
vim: et tw=78 syn=sgml | ||
vi: ts=1 sw=1 | ||
--> |