|
| 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