Skip to content

Commit 31bc6c8

Browse files
committed
install.unix.apache2 page
1 parent 1dc4675 commit 31bc6c8

File tree

1 file changed

+374
-0
lines changed

1 file changed

+374
-0
lines changed

install/unix/apache2.xml

Lines changed: 374 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,374 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- EN-Revision: e443388d4249fea383d6ec2d1a338be220cf95ee Maintainer: fabiosal Status: ready -->
3+
<!-- Reviewed: yes -->
4+
<sect1 xml:id="install.unix.apache2" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
5+
<title>Apache 2.x su sistemi Unix</title>
6+
<para>
7+
Questa sezione contiene appunti e suggerimenti specifici per l'installazione di Apache con PHP su sistemi Unix.
8+
</para>
9+
10+
&warn.apache2.compat;
11+
12+
<para>
13+
La <link xlink:href="&url.apache2.docs;">documentazione di Apache</link>
14+
è la principale fonte di informazioni per il server Apache 2.x.
15+
Più informazioni riguardanti l'installazione di Apache possono essere trovate
16+
nella documentazione ufficiale.
17+
</para>
18+
19+
<para>
20+
La versione più recente di Apache HTTP Server può essere ottenuta dal
21+
<link xlink:href="&url.apache;">sito Apache</link>, e una versione di PHP
22+
compatibile dai siti menzionati in precedenza.
23+
Questa guida rapida fornisce solo le informazioni base per iniziare ad
24+
utilizzare Apache 2.x e PHP. Per maggiori informazioni si legga la
25+
<link xlink:href="&url.apache2.docs;">documentazione di Apache</link>.
26+
I numeri di versione sono omessi per assicurare che le istruzioni non siano
27+
incorrette. Nell'esempio sotto, 'NN' dovrebbe essere sostituito con la
28+
specifica versione di Apache che si sta utilizzando.
29+
</para>
30+
31+
<para>
32+
Ci sono attualmente 2 versioni di Apache 2.x - la 2.4 e la 2.2.
33+
Ci possono essere varie ragioni per scegliere una o l'altra versione,
34+
ma la 2.4 è attualmente l'ultima e quella raccomandata. In ogni caso le
35+
istruzioni qui presentate sono utilizzabili sia con la versione 2.4 che con
36+
la 2.2. Apache httpd 2.2 è ufficialmente End of Life, e nessun nuovo
37+
sviluppo o patch sarà effettuato.
38+
</para>
39+
40+
<orderedlist>
41+
<listitem>
42+
<para>Scarica Apache HTTP Server da uno dei collegamenti menzionati
43+
precedentemente ed estrailo:</para>
44+
45+
<informalexample>
46+
<screen>
47+
<![CDATA[
48+
tar -xzf httpd-2.x.NN.tar.gz
49+
]]>
50+
</screen>
51+
</informalexample>
52+
</listitem>
53+
54+
<listitem>
55+
<para>Allo stesso modo, scarica ed estrai il codice sorgente di PHP:</para>
56+
57+
<informalexample>
58+
<screen>
59+
<![CDATA[
60+
tar -xzf php-NN.tar.gz
61+
]]>
62+
</screen>
63+
</informalexample>
64+
</listitem>
65+
66+
<listitem>
67+
<para>
68+
Compila ed installa Apache. Consulta la documentazione di Apache
69+
per maggiori dettagli.
70+
</para>
71+
72+
<informalexample>
73+
<screen>
74+
<![CDATA[
75+
cd httpd-2_x_NN
76+
./configure --enable-so
77+
make
78+
make install
79+
]]>
80+
</screen>
81+
</informalexample>
82+
</listitem>
83+
84+
<listitem>
85+
<para>
86+
Ora Apache2.x.NN è disponibile in /usr/local/apache2,
87+
configurato con il supporto per il caricamento di moduli e
88+
il MPM prefork standard. Per testare l'installazione usa la
89+
normale procedura per eseguire il server Apache, es.:
90+
91+
<informalexample>
92+
<screen>
93+
<![CDATA[
94+
/usr/local/apache2/bin/apachectl start
95+
]]>
96+
</screen>
97+
</informalexample>
98+
99+
termina l'esecuzione del server per continuare con la
100+
configurazione di PHP:
101+
102+
<informalexample>
103+
<screen>
104+
<![CDATA[
105+
/usr/local/apache2/bin/apachectl stop
106+
]]>
107+
</screen>
108+
</informalexample>
109+
</para>
110+
</listitem>
111+
112+
<listitem>
113+
114+
<para>
115+
Ora, configura e compila PHP. In questa fase è possibile personalizzare
116+
PHP con varie opzioni, come le estensioni da abilitare. Esegui
117+
./configure --help per una lista completa delle possibili opzioni. Nell'esempio
118+
seguente PHP sarà configurato per supportare Apache 2 e MySQL.
119+
</para>
120+
121+
<para>
122+
Se compili Apache dal codice sorgente, come descritto in precedenza, il percorso per
123+
apxs sarà uguale a quello dell'esempio seguente, ma se Apache viene installato
124+
in qualche altro modo, si dovrà eventualmente correggere il percorso di apxs.
125+
Ricorda che alcune distribuzioni potrebbero rinominare apxs in apxs2
126+
</para>
127+
<informalexample>
128+
<screen>
129+
<![CDATA[
130+
cd ../php-NN
131+
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pdo-mysql
132+
make
133+
make install
134+
]]>
135+
</screen>
136+
</informalexample>
137+
138+
<para>
139+
Per riconfigurare le opzioni dopo l'installazione, è necessario
140+
eseguire nuovamente i passaggi di configurazione, compilazione ed
141+
installazione. Sarà poi necessario riavviare Apache per utilizzare il
142+
nuovo modulo. Non è necessario compilare Apache nuovamente.
143+
</para>
144+
145+
<para>
146+
Nota che se non indicato diversamente, 'make install' installerà anche
147+
PEAR, strumenti di PHP come phpize, PHP CLI ed altri.
148+
</para>
149+
150+
</listitem>
151+
152+
<listitem>
153+
<para>
154+
Configura php.ini
155+
</para>
156+
157+
<informalexample>
158+
<screen>
159+
<![CDATA[
160+
cp php.ini-development /usr/local/lib/php.ini
161+
]]>
162+
</screen>
163+
</informalexample>
164+
165+
<para>
166+
È possibile editare il file .ini per impostare le opzioni di PHP.
167+
Se si desidera spostare il file php.ini in un'altra poizione,
168+
utilizzare l'opzione --with-config-file-path=/some/path al punto 5.
169+
</para>
170+
171+
<para>
172+
Nel caso venga utilizzato il file php.ini-production, si legga la lista
173+
dei cambiamenti, perché modificano il comportamento di PHP.
174+
</para>
175+
176+
</listitem>
177+
178+
<listitem>
179+
180+
<para>
181+
Edita il file httpd.conf per caricare il modulo PHP. Il percorso nella
182+
parte destra della dichiarazione di LoadModule deve puntare al percorso
183+
del modulo di PHP. Il precedente comando make install potrebbe averlo già
184+
aggiunto, ma si verifichi per sicurezza.
185+
</para>
186+
187+
<informalexample>
188+
<para>
189+
Per PHP 8:
190+
</para>
191+
<programlisting role="apache-conf">
192+
<![CDATA[
193+
LoadModule php_module modules/libphp.so
194+
]]>
195+
</programlisting>
196+
</informalexample>
197+
198+
<informalexample>
199+
<para>
200+
Per PHP 7:
201+
</para>
202+
<programlisting role="apache-conf">
203+
<![CDATA[
204+
LoadModule php7_module modules/libphp7.so
205+
]]>
206+
</programlisting>
207+
</informalexample>
208+
209+
</listitem>
210+
211+
<listitem>
212+
213+
<para>
214+
Configurare Apache per analizzare certe estensioni di file con PHP. Per
215+
esempio, facciamo in modo che Apache analizzi i file .php con PHP.
216+
Invece di utilizzare solamente la direttiva AddType, si vuole evitare
217+
di caricare e creare file potenzialmente pericolosi come exploit.php.jpg
218+
ed evitarne l'esecuzione con PHP. Usando il seguente esempio, è possibile
219+
eseguire file con qualsiasi estensione con PHP semplicemente aggiungendola
220+
alla direttiva. Di seguito verrà aggiunta l'estensione .php come esempio.
221+
</para>
222+
223+
224+
<informalexample>
225+
<programlisting role="apache-conf">
226+
<![CDATA[
227+
<FilesMatch \.php$>
228+
SetHandler application/x-httpd-php
229+
</FilesMatch>
230+
]]>
231+
</programlisting>
232+
</informalexample>
233+
234+
<para>
235+
Se si vuole far eseguire a PHP solamente i file con estensione .php,
236+
.php2, .php3, .php4, .php5, .php6, e .phtml:
237+
</para>
238+
239+
<informalexample>
240+
<programlisting role="apache-conf">
241+
<![CDATA[
242+
<FilesMatch "\.ph(p[2-6]?|tml)$">
243+
SetHandler application/x-httpd-php
244+
</FilesMatch>
245+
]]>
246+
</programlisting>
247+
</informalexample>
248+
249+
<para>
250+
Per permettere ai file .phps di essere gestiti dal filtro per sorgenti php,
251+
ed utilizzare la colorazione della sintassi per il codice sorgente, utilizzare:
252+
</para>
253+
254+
<informalexample>
255+
<programlisting role="apache-conf">
256+
<![CDATA[
257+
<FilesMatch "\.phps$">
258+
SetHandler application/x-httpd-php-source
259+
</FilesMatch>
260+
]]>
261+
</programlisting>
262+
</informalexample>
263+
264+
<para>
265+
mod_rewrite può essere utilizzato per permettere che ogni file .php
266+
disponga della colorazione della sintassi per il codice sorgente,
267+
evitando di rinominare o copiare il file in un file .phps:
268+
</para>
269+
270+
<informalexample>
271+
<programlisting role="apache-conf">
272+
<![CDATA[
273+
RewriteEngine On
274+
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]
275+
]]>
276+
</programlisting>
277+
</informalexample>
278+
279+
<para>
280+
Il filtro per sorgenti php non dovrebbe essere abilitato in sistemi in
281+
produzione, per evitare di esporre informazioni confidenziali o
282+
sensibili.
283+
</para>
284+
285+
</listitem>
286+
287+
<listitem>
288+
<para>
289+
Utilizzare la normale procedura per avviare il server Apache, es. :
290+
</para>
291+
292+
<informalexample>
293+
<screen>
294+
<![CDATA[
295+
/usr/local/apache2/bin/apachectl start
296+
]]>
297+
</screen>
298+
</informalexample>
299+
300+
<para>o</para>
301+
302+
<informalexample>
303+
<screen>
304+
<![CDATA[
305+
service httpd restart
306+
]]>
307+
</screen>
308+
</informalexample>
309+
310+
</listitem>
311+
</orderedlist>
312+
313+
<para>
314+
Seguendo i passi descritti si avrà un server web Apache con il supporto per
315+
PHP come modulo <literal>SAPI</literal>. Ovviamente ci sono molte altre
316+
opzioni configurabili per Apache e per PHP. Per altre informazioni digita
317+
<command>./configure --help</command> nella cartella corrispondente.
318+
</para>
319+
<para>
320+
Apache può essere compilato per utilizzare il multithread selezionando il
321+
<filename>worker</filename> MPM, invece del <filename>prefork</filename>
322+
MPM standard. Questo è possibile aggiungendo l'opzione al comando
323+
./configure nel passo 3 come di seguito:
324+
</para>
325+
<informalexample>
326+
<screen>
327+
<![CDATA[
328+
--with-mpm=worker
329+
]]>
330+
</screen>
331+
</informalexample>
332+
<para>
333+
Questa modifica non dovrebbe essere fatta senza sapere le possibili
334+
conseguenze e implicazioni. La documentazione di Apache riguardante
335+
<link xlink:href="&url.apache2.mpm;">MPM-Modules</link> tratta
336+
l'argomento in modo molto più dettagliato.
337+
</para>
338+
<note>
339+
<para>
340+
Le <link linkend="faq.installation.apache.multiviews">Apache MultiViews
341+
FAQ</link> trattano l'utilizzo delle multiviews con PHP.
342+
</para>
343+
</note>
344+
<note>
345+
<para>
346+
Il sistema deve supportare i threads per poter compilare una versione di
347+
Apache multithread. Nel caso, PHP può essere compilato con Zend Thread
348+
Safety (ZTS). Con questa configurazione, non tutte le estensioni sono
349+
disponibili. Si raccomanda di compilare Apache usando l'MPM-Module
350+
<filename>prefork</filename> come di default.
351+
</para>
352+
</note>
353+
</sect1>
354+
355+
<!-- Keep this comment at the end of the file
356+
Local variables:
357+
mode: sgml
358+
sgml-omittag:t
359+
sgml-shorttag:t
360+
sgml-minimize-attributes:nil
361+
sgml-always-quote-attributes:t
362+
sgml-indent-step:1
363+
sgml-indent-data:t
364+
indent-tabs-mode:nil
365+
sgml-parent-document:nil
366+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
367+
sgml-exposed-tags:nil
368+
sgml-local-catalogs:nil
369+
sgml-local-ecat-files:nil
370+
End:
371+
vim600: syn=xml fen fdm=syntax fdl=2 si
372+
vim: et tw=78 syn=sgml
373+
vi: ts=1 sw=1
374+
-->

0 commit comments

Comments
 (0)