miércoles, 11 de junio de 2014

Instalar Servidor Web, MySQL y PHP en CentOS 6.5



Comentamos en las anteriores entradas como CentOS era una distribución orientada al uso empresarial y sobretodo muy utilizada para montar servidores. Vamos a explicar ahora como instalar y configurar un servidor web con php y mysql que utilizaremos para realizar pruebas de programación web.  El mismo metodo te puede servir también incluso si quieres alojar tu propia web por ejemplo reutilizando ese equipo abandonado que tienes por casa.


Instalar servidor web Apache

Para instalar el servidor web Apache en CentOS de manera sencilla pulsamos en Aplicaciones > Herramientas del Sistema > Terminal  y como root ejecutamos:

yum install httpd


Una vez concluida la instalación tenemos que iniciar el servidor web con el comando:

service httpd start


Y además tambien podemos configurar que se inicie siempre al cargar el sistema con el comando:

chkconfig httpd on


Si al teclear el comando para iniciar el servicio no aparece ningún mensaje de error entonces ya tenemos nuestro servidor web funcionando. Si desde un navegador de la propia maquina introducimos su dirección IP podemos ver como ya carga la pagina de test



Sin embargo para poder acceder a nuestro servidor web desde otro equipo de nuestra red local tendremos que abrir el puerto 80 en el cortafuegos para permitir las conexiones http.

En un post anterior veiamos como instalar un interfaz gráfico para el cortafuegos así que vamos a lanzar la aplicación en Sistema > Administración > Cortafuego y en la lista de Servicios marcamos WWW y WWW (seguro) para permitir estas conexiones y pulsamos en Aplicar



Ahora ya podemos ver la misma pagina web de prueba que tiene nuestro servidor desde cualquier equipo de la red local si introducimos su dirección IP.



Por defecto Apache muestra el contenido de las carpetas en la ruta /var/www/html/ . El propietario de estas carpetas es el root y si el servidor lo vamos a poner en internet tendríamos que tener cuidado con lo que modificamos por motivos de seguridad.

En nuestro caso como va a ser para trabajar a nivel local le vamos a dar al usuario local los permisos necesarios para poder modificar y añadir carpetas o archivos en esa ubicación sin problema. Para ello como root desde consola introducimos los siguientes comandos (sustituyendo el nombre de usuario "jose" por el que corresponda en cada caso):

chown jose /var/www/html

chmod 775 /var/www/html


La carpeta raiz del servidor por defecto como deciamos va a ser /var/www/html/ . Esto quiere decir que si añadimos un documento html dentro de esa ruta la dirección URL para acceder a dicha pagina seria http://dirección_IP_servidor/nombre_documento.html

Y en el supuesto de crear el documento en una carpeta con documentos dentro de ella pues la dirección URL seria http://dirección_IP_servidor/nombre_de_carpeta/documento.html




El archivo de configuración de Apache se llama httpd.conf y en el caso de CentOS la ruta donde se encuentra es /etc/httpd/conf/ .  Ahi puedes configurar infinidad de opciones pero eso ya es muy extenso y puede que sea materia de otra entrada del blog


Instalar MySQL

Para instalar un servidor mysql abrimos la terminal y como root ejecutamos:

yum install mysql-server



A continuación iniciamos el sistema

service mysqld start



Lo configuramos para que se inicie automáticamente con el sistema

chkconfig mysqld on



Por ultimo tenemos que crear una contraseña para el root del servidor mysql

mysqladmin -u root password 'aqui_tu_password'



Instalar PHP

Para instalar el modulo PHP a nuestro servidor web desde terminal como root ejecutamos:

yum install php php-mysql


Tenemos que reiniciar nuestro servidor web Apache a continuación para que cargue el modulo

service httpd restart


Podemos crear una pagina de prueba con la instrucción phpinfo que nos muestra el estado y la versión del modulo PHP. Para ello primero creamos el archivo por ejemplo con gedit ejecutando desde terminal como root :

gedit /var/www/html/info.php



Y vamos a escribir en dicho archivo el siguiente código en PHP





Ahora en un navegador si tecleamos la URL correspondiente a dicho archivo que al colocarlo en la carpeta raiz seria  'http://IP_del_Servidor/info.php'  podemos ver como funciona perfectamente el modulo php