• Nos ponemos como root para
    empezar a trabajar
  • Bajamos los fuentes de
    Apache y PHP y los descomprimimos
  • Compilamos Apache con los módulos necesarios
  • Compilamos PHP con el soporte que queramos
  • Probamos Apache y PHP

Obteniendo los permisos necesarios para compilar Apache
y PHP

Obtenemos permisos de root con el comando su
-l:

$ su -l
Password:
# 

Notar que cambia el signo $
por el #, con este usuario nos
limitaremos a hacer labores de administración, podemos dañar el sistema.

Preparando las fuentes para ser compiladas

Bajamos las fuentes de los programas de http://www.php.net/ y http://www.apache.org/.

Descomprimimos las fuentes:

# gunzip apache_1.x.x.tar.gz
# gunzip php-4.0.x.tar.gz
# tar -xvf apache_1.x.x.tar
# tar -xvf php-4.0.x.tar
  

Preparamos Apache para ser compilado:

# cd apache_1.x.x
# ./configure --enable-module=so --enable-module=all
--enable-shared=max

Preparamos PHP para ser compilado:

# cd ../php-4.0.x
# ./configure --with-mysql
--with-apxs=/usr/local/apache/bin/apxs

Aquí es el momento en el que podemos añadir todos
los módulos que queramos, por ejemplo, para añadir el soporte para GD

# ./configure --with-mysql
--with-apxs=/usr/local/apache/bin/apxs --with-gd=shared
  

Cualquier cosa, la añadiremos como shared, que así no crece el binario
:)
También podemos añadir PostgreSQL y GD

# ./configure 
            --with-apxs=/usr/local/apache/bin/apxs --with-gd=shared --with-pgsql=shared

Compilamos Apache y PHP y los hacemos funcionar

Compilamos e instalamos Apache y lo probamos:

# cd ../apache_1.x.x
# make -j5 && make install && echo "Bien compilado e 
instalado"

Puesto que el operador && no ejecuta el siguiente comando si el anterior no se acabó con éxito, he añadido
el tercero para tener más control.

Probamos que Apache funciona bien:

# /usr/local/apache/bin/apachectl start

Si todo está bien, pondrá algo así como httpd
started.
Compilamos e instalamos PHP y lo probamos:

# cd ../php-4.x.x
# make -j5 && make install && echo "Bien compilado e
instalado"

Vamos a probar PHP, creamos un archivo con <?php phpinfo() ?>:

# cat > /usr/local/apache/htdocs/info.php
# <?php phpinfo() ?>
# [Control-D]
# lynx http://localhost/inf

Si vemos la información de PHP, entonces ha funcionado.

Si has llegado hasta aquí, entonces es
que todo ha funcionado, entonces, sólo queda recomendar el Manual de
PHP.net

Documento redactado por Ferdy
gracias a Herminio
Heredia Santos
para Maestros del Web