LAMP con MySQL5 y PHP 5
De MEPIS Documentation Wiki
¡¡¡ Atención! La información contenida en este artículo pertenece a una versión antigua de MEPIS !!!
Instalar MySQL5 y PHP5 en Mepis --SJ_Mathews 20:31, 10 de Jun de 2005 (EDT)
Mepis 3.3 proporciona una copy de Apache2 para experimentar con ella. Por lo que se está a medio camino de la instalación de LAMP. Este artículo descrbie la instalción de los dos componentes finales; MySQL5 y PHP5. El objetivo es crear un entorno para aprender o esperimentar con una página web que funciona con una base de datos local usando scripts PHP en el lado del servidor.
ADVERTENCIA: Esta instlación supone que no se tiene instalada una versión anterior de MySQL. Si existe hay que seguir las instrucciones sobre el proceso de actualización que se pueden encontrar en mysql.org
Aviso: la sintaxis de loc comandos se corresponde con:
# = ejecutar este comando en un terminal como superusuario > = ejecutar este comando en el terminal de mysql5 [] = información que se puede cambiar de forma opcional por datos específicos de la ubicación del usuario Si no, es simplemente un comentario general o una observación.
Comenzar la instalación de MySQL5:
Descargar el último tarball con los binarios de http://www.mysql.org. El el momento en el que se escribió esta entrada, 18 de May de 2005, era "mysql-standard-5.0.4-beta-pc-linux-gnu-i686.tar.gz" Se pedira que se selccione un mirror, entonces descargar el tarball a la ubicación por defecto usando http o ftp. En está instalación no se fijo una contraseña, un agujero de seguridad abvio que se debería corregir en la instalación que se haga.
# mv [ubicación_de_la_descarga]/mysql-standard-5.0.4-beta-pc-linux-gnu-i686.tar.gz /usr/local/src/mysql-standard-5.0.4-beta-pc-linux-gnu-i686.tar.gz # cd /usr/local/src # tar -xvzf mysql-standard-5.0.4-beta-pc-linux-gnu-i686.tar.gz
Se crea el directorio /usr/local/src/mysql-standard-5.0.4-beta-pc-linux-gnu-i686.tar.gz.
# ln -s /usr/local/src/mysql-standard-5.0.4-beta-pc-linux-gnu-i686.tar.gz /usr/local/mysql # cd /usr/local/mysql # groupadd mysql # useradd -g mysql mysql # ./scripts/mysql_install_db --user=mysql # chown -R root /usr/local/mysql # chgrp -R mysql /usr/local/mysql # chown -R mysql /usr/local/mysql/data
Configurar MySQL para que se inicie en el arranque.
# cp ./support-files/mysql.server /etc/init.d/mysql # ln -s /etc/init.d/mysql /etc/rc5.d/S99mysql # ln -s /etc/init.d/mysql /etc/rc0.d/K01mysql
Copiar el archivo de configuración al directorio de sistema, elegir el que corresponda; para las pruebas ha usado el modelo medio
# cp ./support-files/my-medium.cnf /etc/my.cnf
Comprobar la instalación de MySQL
# ./support-files/mysql.server start # cd /tmp [ comprobar que mysql.sock existe ] # cd /usr/local/mysql # ./bin/mysql
Se debería de ver un aviso de bienvenido de MySQL y el número de versión. Sin salir del entorno de MySQL, escribir las siguientes líneas. Esto se usará para comprobar la instalación de PHP más adelante. El punto y coma al final de cada línea es necesario.
> use prueba; > create table t1(c1 int); > insert into t1 values(125); > quit
Usando el editor que se desee cambiar el valor del PATH en los siguientes archivos, [no sé si ambos son necesarios, se agradecerían comentarios al respecto] :
/etc/profile /etc/bashrc
El valor es: PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/games
Reiniciar y MySQL debería estar funcionando. Se puede comprobar haciendo:
# ps -A | grep mysql
Si el comando anterior devuelve varias entradas es que se está ejecutanto. Si la lista está en blanco se debería de comprobar los pasos de la configuración dónde se crearon los enlaces en los directorios rc0.d y rc5.d.
Comenzar las instalación de PHP5:
Descargar el último tarball con los binarios de http://www.php.net En el momento en el que se escribió el artículo era "php-5.0.4.tar.gz" Descargar el tarball a la ubicación por defecto.
# mv [ubicación_de_la_descarga]/php-5.0.4.tar.gz /usr/local/src/php-5.0.4.tar.gz # cd /usr/local/src # tar -xvzf php-5.0.4.tar.gz
Se crea el directorio /usr/local/src/php-5.0.4. Dada la plétora de opciones en la configuración de PHP5 se va a crear un pequeño archivo de línea de compandos que controla los parámetros por nosotros.
# cd ./php-5.0.4
Usando el editor que se deee crear el archivo de la forma que se muestra a continuación, si se quieren utilizar parámetros adicionales escribir :
./configure --help | less
en la línea de comanods. Se usan objetos compartidos con LAMP, por lo que se tiene que incluir la línea --with-apxs2. Más información en los siguientes pasos.
#!/bin/sh ./configure \ --with-apxs2=/usr/bin/apxs2 \ --with-mysql=/usr/local/mysql \ --with-mysql-sock=/tmp/mysql.sock \ --enable-ftp
Guardar el archivo como 'php5-install' el el directorio actual. Se puede usar cualquier usar cualquier nombre que sea único, basta sustituirlo en los siguientes pasos.
# chmod 755 php5-install
Normalmente se ejecutaría es script ahora, pero en un primer intento se dieron multitud de errores. La causa era no haber instalado paquetes que faltaban. A continuación se muestra lo que se necesita instalar. Estos paquetes resuelven los errores relacionados con el archivo apxs2, analizadores léxicos y problemas con XML
# apt-get install apache2-prefork-dev bison flex libxml2 libxml2-dev libxml2-utils
Ahora se debería de poder ejecutar el script de configuración.
# ./php5-install
Ahora sólo hace falta esperar a que el proceso acabe, mostrando un mensaje al final, si no probar a buscar en Google el error para ver que paquete se necesita. Se agradecería también que se añadiese aquí.
# make # make install
Estos dos pasos llevarán un rato, pero ya queda poco para el final. Lo siguiente es copiar el archivo php.ini en la ubicación correcta. Hay dos opciones, la que se muestra es para fines de desarrollo y experimentación. php.ini-recommended es para entornos de producción. Leer las primeras líneas del archivo para ver cuál es el más apropiado.
# cp php.ini-dist /usr/local/lib/php.ini
Comenzar la reconfiguración de Apache2
Se tiene que configurar Apache2 para su uso con PHP5, si se reinicia el ordenador se intentaría usar PHP4 y PHP5.
# cd /etc/apache2
Editar el archivo httpd.conf en este directorio, quitar la línea 'LoadModule php5_module /usr/lib/apache2/modules/libphp5.so" o comentarla insertando un # delante de ella. Esta directiva se instalará en el siguiente paso usando el mecanismo Available / Enabled de Apache2.
# cd ./mods-available # cp php4.conf php5.conf # cp php4.load php5.load
Editar tanto php5.conf como php5.load y sustituir cualquier aparición de un 4 con un 5 - Estos son los nuevos archivos de directivas necesarios para Apache2
# cd ../mods-enabled # cp ../mods-available/php5.conf . # cp ../mods-available/php5.load . # rm php4.conf # rm php4.load
Aviso, si alguna vez se quiere volver a PHP4 basta con hacer los pasos anteriores de cp y rm pero cambiando los 5 por 4 y 4 por 5
¡Y ya está! reiniciar el servidor Apache2 y probarlo.
# apache2ctl stop # apache2ctl start
Abrir un navegador e ir a http://localhost/phpinfo.php y si todo fue bien se debería ver una pantalla de información de PHP mostrando PHP 5.0.4 en la parte superior, y bajando se debería ver la información relativa a MySQL.
Y ahora para hacer una prueba rápida de PHP5 comunicandose con MySQL5, crear el siguiente archivo "miprueba.php" en /var/www
<?php
$user=;
$pass=;
$host='localhost';
$dbase='prueba';
echo "Antes de conectar a Mysql en PHP<br>";
$sql = mysql_connect($host, $user, $pass) or die (mysql_error());
mysql_select_db($dbase, $sql) or die (mysql_error());
echo "Tras conectar a Mysql en PHP<br>";
$result = mysql_query("select * from t1");
$row = mysql_fetch_array($result);
echo "Valor devuelto = ".$row[0]."<br>";
mysql_close($sql);
echo "¡Adios!";
?>
Ir con el navegador a http://localhost/miprueba.php. El valor devielto debería ser 125.
¡Y a disfrutar!