Advertencia No se recomienda utilizar un MPM threaded en producción con Apache 2. Use MPM prefork, que es el MPM por defecto en Apache 2.0 y 2.2. Para información sobre cómo, lea la correspondiente entrada de la FAQ sobre utilizar Apache2 con un MPM threaded
3. gzip -d httpd-2_x_NN.tar.gz
4. tar -xf httpd-2_x_NN.tar
5. De la misma manera, obtener y desempacar las fuentes de PHP:
7. gunzip php-NN.tar.gz
8. tar -xf php-NN.tar
9. Compilar e instalar Apache. Consúltese la documentación de instalación de Apache para mayores detalles sobre la compilación de Apache.
11.cd httpd-2_x_NN
12../configure --enable-so
13.make
14.make install
15. Ahora se tiene Apache 2.x.NN disponible debajo de /usr/local/apache2, configurado con soporte para módulos cargables y con el MPM (Módulo de multiproceso) prefork estándar. Para probar la instalación úsese el procedimiento para iniciar el servidor Apache, por ej.:
17./usr/local/apache2/bin/apachectl start
y deténgase el servidor para proceder con la configuración para PHP:
/usr/local/apache2/bin/apachectl stop
18. Ahora, configure y compile PHP. Aquí es donde se personaliza PHP con varias opciones, como qué extensiones se han de habilitar. Ejecute ./configure --help para obtener una lista de opciones disponibles. En el ejemplo se realiza un simple configure con soporte para Apache 2 y MySQL.
cd ../php-NN
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install
Si se decide a cambiar las opciones de configuración después de la instalación, se deben volver a ejecutar los pasos configure, make, y make install. Solamente se necesita reiniciar apache para que el nuevo módulo tenga efecto. Una recompilación de Apache no es necesaria.
21.cp php.ini-development /usr/local/lib/php.ini
Se puede editar el fichero .ini para fijar las opciones de PHP. Si se prefiere tener php.ini en otra ubicación, utilice --with-config-file-path=/alguna/trayectoria en el paso 5.
23. Indicar a Apache que procese ciertas extensiones como PHP. Por ejemplo, hágase que Apache procese ficheros .php como PHP. En vez de solamente utilizar la directiva de Apache AddType, se desea evitar subidas de ficheros potencialmente peligrosas y que ficheros creados tal como exploit.php.jpg sean ejecutados como PHP. Utilizando este ejemplo, se puede hacer que cualquier extensión o extensiones sean procesadas como PHP simplemente añadiéndolas. Se agregará .php para demostrarlo.
25. SetHandler application/x-httpd-php
</FilesMatch>
O, si se deseara permitir que ficheros .php, .php2, .php3, .php4, .php5, .php6, y .phtml fuesen ejecutados como PHP, pero nada más, se utilizaría esto:
SetHandler application/x-httpd-php
</FilesMatch>
Y para permitir que ficheros .phps sean manejados por el filtro de fuentes de php, y desplegado como código fuente con sintaxis resaltada, se utiliza esto:
SetHandler application/x-httpd-php-source
</FilesMatch>
mod_rewrite puede ser utilizado para permitir que cualquier fichero .php arbitrario sea desplegado como código fuente con sintaxis resaltada, sin tener que renombrarlo o copiarlo a un fichero .phps:
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]
El filtro de código fuente php no debe habilitarse en sistemas de producción, donde podría exponer información confidencial o de alguna otra manera sensible incluida en código fuente.
28./usr/local/apache2/bin/apachectl start
O
service httpd restart
Siguiendo los pasos anteriores se tendrá corriendo un servidor web Apache2 con soporte para PHP como un módulo SAPI. Por supuesto existen muchas opciones más de configuración disponibles para Apache y PHP. Para más información teclee ./configure --help en el árbol de fuentes correspondiente.
--with-mpm=worker