Inicio > Servidores > Como montar un Servidor LAMP desde codigo fuente – Parte-1

Como montar un Servidor LAMP desde codigo fuente – Parte-1

Jueves, 20 de Agosto de 2009

Compilación de Apache + MySQL + PHP desde código fuente

lamp

Gráfico 1. Logo de servidores LAMP(Linux, Apache, MySQL y PHP).

En este post tengo la intención de mostrar la manera en la que podemos montar un servidor web LAMP(Linux, Apache, MySQL, PHP)en nuestro equipo local en un SO GNU/Linux que como hemos mencionado utilizaremos el servidor Apache, tambien haremos uso MySQL como servidor de bases de datos y por último PHP como tecnología para paginas dinámicas.

Cabe decir que la particularidad de este manual radica en el hecho de que cada componente sera compilado desde codigo fuente, por ende, aplicable en cualquier distribución GNU/Linux y no solo para alguna en particular.

Ok, no hay una distribución en particular, pero en alguna de ellas es dondo desarrollare el procedimiento…Utilizo GNU/Linux Debian 5.0 Lenny para este cometido. Es cierto que debian cuenta con un buen gestor de paquetes que hacen las cosas más fácil pero hay quienes nos gusta saber el como de las cosas xD.

Una ves dicho lo anterior, manos a la obra. El primer paso a realizar será la descarga de cada uno de los programas. Nos creamos una carpeta en donde guardaremos los programas y posteriormente desde ahi realizaremos la instalación.

Apache

apache

Gráfico 1. Logo Apache.

Nos vamos a httpd.apache.org y en la sección de Descargas nos descargamos el código fuente de la version 2.2.11. Es un archivo comprimimo con el nombre más o menos de esta forma: httpd-xx.yy.zz.tar.gz donde xx.yy.zz indican la version del programa. Este archivo contiene el codigo fuente necesario para construir Apache completamente desde el código.

MySQL

mysql

Gráfico 2. Logo MySQL.

Ahora vamos con MySQL. Hay algo que hay que comentar a cerca de este paquete, si nos disponemos a instalarlo desde código fuente es necesario que no haya existido una versión ya antes instalada anteriormente, por ejemplo la que se instala con el gestor de paquetes, ya que provoca muchos errores cuando se quiere instalar desde código fuente. Por defecto muchas distribuciones no lo instalan, podemos aprovechar esto. Pero si ya se encuentra instalado y funciona bien pueden saltar este paso y continuar con los demas.

Vamos a la pagina de MySQL en http://dev.mysql.com/downloads/ en el panel de la izquierda elegimos la version 5.0, que de igual forma no es la ultima version, la mas actual es la 5.1.x. Descargamos el de codigo fuente ya sea en formato .tar o en .zip. Es necesario un proceso de registro para la descarga del programa!.

PHP

php

Gráfico 3. Logo PHP.

De igual forma nos dirigimos a la pagina oficial de PHP en php.net y en la sección Descargas y nuevamente descargamos la versión 5.2.10. Al momento en que se escribe este documento ya se encuentra lista la versión 5.3.0 de PHP pero por cuestiones de estabilidad utilizaremos la versión antes mencionada.

Antes de continuar, es recomendable que si vamos a trabajar con alguna herramienta de software y si nuestra intención es trabajar inmediatamente con ella más que ponernos a experimentar, siempre es buena idea no utilizar la versión de última horneada por varias razones, entre ellas, muy pocos son los que pueden brindar ayuda al respecto, pueden existir cambios que no guarden compatibilidad con las versiones anteriores con la cual estamos acostumbrados, problemas con la instalación( lo digo por experiencia… intente hacer este manual con la versión 5.3.0 y …termine con dolor de cabeza), entre otras.

Compilación y configuración

Una ves que contemos con el material necesario procedemos a instalarlos.

MySQL:

Como todo programa tiene requisitos, pueden checar las dependencias en la pagina o en la documentacion, en el ultimo de los casos esperar que se pare la configuración y nos indique que nos hace falta. Para estas dependencias ahora si apoyense de su gestor de paquetes XD.

1.- A descomprimir

De la carpeta donde hemos guardado nuestros paquetes que descargamos, descomprimir el que pertenece a MySQL, utilicen alguno programa de los muchos que hay. Claro, tambien se puede hacer con comandos:

$ tar -xzvf mysql-xx.yy.zz.tar.gz

2.-Agregar grupo y usuario mysql

Momento, todavia nada de instalar. Antes necesitamos agregar un grupo y un usuario que se llamara mysql(como usuario root):

# groupadd mysql
# useradd -g mysql mysql

Listo! esto es necesario para que mysql se registre en el sistema.

3.- Instalamos

Ahora nos metemos al directorio en el que hemos descomprimido MySQL (esta claro que usando un terminal, konsole, gnome-terminal…), ejecutamos el archivo de configuración con los paramentros necesarios, despues compilamos y por último instalamos…Estos 4 pasos uno tras otro.

$ cd /mi/directorio/mysql-xx.yy.zz
$ ./configure –prefix=/usr/local/mysql
$ make
# make install

El último comando debe ser ejectuado como usuario root, los demas pueden ser como usuarios normales. El directorio que indicamos en ./configure es el directorio base de mysql(/usr/local/mysql en este caso), ustedes pueden modificarlo teniendo en cuenta que eso afectara en algunos de los siguientes pasos.

4.- configuraciones

Despues que termine la instalación tenemos que mover algunos archivos de configuracion, para empezar muevan el siguiente archivo de configuración:

# cp support-files/my-medium.cnf /etc/my.cnf

En este momento tenemos que decidir como queremos arrancar mysql: manualmente o de forma automatica al iniciar el sistema. Para la primera opción no hay que hacer nada ya que arrancaremos mysql como lo veremos más adelante. Por otro lado si queremos la segunda opción tenemos que copiar y agregar permisos al archivo mysql.server que se encuentra en el subdirectorio support-files.

#cp support-files/mysql.server /etc/init.d/mysql

Despues de esto nos trasladamos al directorio base de mysql (/usr/local/mysql en nuestro caso) y cambiamos el propietario del directorio y su contenido a mysql y tambien el grupo (chequen bien el punto despues de los 2 últimos comandos, son parte del comando):

$ cd /usr/local/mysql
# chown -R mysql .
# chgrp -R mysql .

Ahora solo nos queda el instalar el directorio de datos de MySQL e inicializar los privilegios a las tablas. Si es la primer ves que se instala mysql lo más probable es que no existan problemas, tal como mencione anteriormente. La opcion –user=mysql es para indicar el usuario es mysql, si estamos logeados como usuarios mysql no es necesaria la opción.

# bin/mysql_install_db –user=mysql

Les aparecera algo parecido al texto que sigue:


Installing MySQL system tables...
090730 19:00:18 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
090730 19:00:18 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
Filling help tables...
090730 19:00:18 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
090730 19:00:18 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
	
        

5.- Ejecución y contraseña del root

Ahora vamos a probar si se ha instaldo correctamente nuestra aplicación, ejecutamos el siguiente comando:

#/usr/local/mysql/bin/mysqld_safe --user=mysql &

Si el al ejecutar el comando el programa termina inmediatamente con un mensaje mysql ended es porque algo hemos hecho mal y mysql no esta funcionando correctamente…Tenemos que volver a realizar el proceso de instalacion nuevamente con más cuidado. Por el contrario si la aplicacion se queda esperando…es que todo ha salido bien.

Ahora, supongamos que todo salio bien y es momento de configurar la seguridad de MySQL, vamos a crear una contraseña para el usuario root, el superusuario de MySQL. Dejamos la terminal donde se esta ejecutando mysql y en otra ejecutamos el siguiente comando:

# /usr/local/mysql/bin/mysqladmin -u root password ‘tu-contrasenia’

Ya casi terminamos con mysql, pondremos todo el directorio base de MySQL como propiedad de root y solo dejaremos al directorio var como propiedad de mysql. Este paso es opcional!.

# chown -R root /usr/local/mysql
# chown -R mysql /usr/local/mysql/var

Como paso final con MySQL ejecutaremos el servidor:

$ /usr/local/mysql/bin/mysql -u root -p

Tecleen la contraseña que anteriormente han creado y si todo estuvo bien les aparecera el interprete de mysql. Eso es todo para MySQL :) .

Una cosas más, si quieren poder ejecutar el cliente mysql como cualquier otro comando desde la consola ejecuten el siguiente comando y listo!

# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

Debido a la extensión del documento(no pense en un principio que ocuparia mucho espacion….) por este post solo tratamos la configuracion de MySQL, en el siguiente, Vemos Apache como continuacion a este post.

Continuacion>>

  1. admin
    Sábado, 22 de Agosto de 2009 a las 21:17 | #1

    Ante este el comentario sobre “[...] Apache. En este punto doy por hecho que ya han realizado todo lo necesario que se explica en la primera parte de este [...]“… Pido una disculpa pero es que exactamente en estos momentos me encuentro haciendo las modificaciones correspondientes para que todo quede bien. En estos momentos ya esta corregido el post. XDDD.

Comentarios cerrados.