Desde la carpeta
/usr/local/src descomprimimos el archivo con los fuentes y entramos en la carpeta que se crea.
bash# tar xvfzp php-4.3.10.tar.gz
bash# cd php-4.3.10
Configuración de los fuentes y compilación
Una vez más utilizaremos el comando
configure para preparar los fuentes para la compilación. En esta ocasión lo que buscamos es crear un binario como módulo que se pueda cargar en Apache y que disponga de soporte de bases de datos MySQL principalmente. Al igual que en los casos anteriores hay una extensa lista de opciones que se puede ver ejecutando
./configure --help y en la cual se nos muestran todos los módulos que se pueden activar o no en el ejecutable.
bash# ./configure --prefix=/usr/local/php
--with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs
--with-zlib --with-gd --with-jpeg-dir=/usr/lib --with-png --with-iconv
Si como resultado obtenemos algún error puede deberse a alguno de los módulos que hayamos solicitado activar, debido a que no lo tengamos instalado. En el caso de que hayamos instalado mysql o apache en ubicaciones distintas de las indicadas anteriormente, habría que modificar los parámetros correspondientes también.
Cuando la configuración se realice de forma correcta se nos mostrará un texto como este:
+
+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+
+
|
* NOTE * |
| The default for register_globals is now OFF! |
| |
| If your application relies on register_globals being ON, you |
| should explicitly set it to on in your php.ini file. |
| Note that you are strongly encouraged to read |
|
http://www.php.net/manual/en/security.globals.php∞ |
| about the implications of having register_globals set to on, and |
| avoid using it if possible. |
+
+
Thank you for using PHP.
Es el momento de compilar la aplicación.
bash# make
Instalación
La instalación consta de tres pasos, copiar los ejecutables, librerías y demás a la ubicación elegida, configurar PHP mediante el archivo
php.ini y finalmente indicar a Apache que cargue el módulo que acabamos de compilar.
Para la instalación haremos lo habitual
bash# make install
Tras esto podemos crear un archivo de configuración tomando como base uno existente y modificándolo para adaptarlo a nuestras necesidades si nos hace falta.
bash# cp php.ini-dist /usr/local/php/lib/php.ini
bash# chown root:sys /usr/local/php/lib/php.ini
bash# chmod 644 /usr/local/php/lib/php.ini
Aparte del archivo
php.ini-dist disponemos también de
php.ini-recommended que es el ideal si estamos montando un sistema de producción, ya que está configurado especialmente con mirar al rendimiento y la seguridad, aunque conviene que echemos un vistazo al comienzo del archivo y veamos que modificaciones incluye exactamente respecto al inicial, por si alguna pudiera causarnos problemas.
Una vez instalado y configurado correctamente nos queda integrarlo en Apache para que éste pueda servir páginas con esta tecnología. Para ello editaremos el archivo
/usr/local/apache/conf/httpd.conf.
En la sección donde se cargan los módulos con
LoadModule añadiremos el recién obtenido
LoadModule php4_module modules/libphp4.so
Añadiremos a la directiva
DirectoryIndex una entrada para que cuando no se indique un archivo en una url se intente localizar un
index.php por defecto.
DirectoryIndex index.html index.php index.htm
Por último indicaremos a Apache cómo debe tratar las extensiones de archivos “php” y “phps”.
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
Llegados a este punto ya estamos listos para probar una aplicación en PHP que se conecte a MySQL. Podemos crear un archivo de ejemplo y guardarlo en el
DocumentRoot de Apache, con el siguiente contenido:
<html><body>
<?php
cambia user_name y password por los de un usuario que haya definido, por ejemplo root
y password vacío si todavía no lo has cambiado
$link = mysql_connect("localhost", "user_name", "password") or die;
print "Todo instalado correctamente!!!";
mysql_close($link);
?>
</body></html>
Deberemos
reiniciar apache, para que se carguen las modificaciones que acabamos de realizar, y acceder a través del navegador a la página de prueba. Si obtenemos el mensaje “Todo instalado correctamente!!!” lo habremos conseguido.
Espero que este tutorial te haya servido de ayuda, si así ha sido o si tienes cualquier duda al respecto, utiliza los comentarios para dar tu opinión o expresar tus dudas.