Estaba mirando para hacer una entrada muy interesante y haciendo la explicación me he dado que podía separar la entrada en dos y sacar primero esta que seguramente la necesitaré para muchas otras entradas a partir de ahora. La instalación de un servidor web completo (con MySQL, PHP, HTTP..) es algo realmente fácil de instalar y configurar pero nunca me había puesto a escribir una entrada sobre ello (y mira que estoy cansado de hacer este proceso…) así que allí va mi explicación sobre como instalar y configurar un servidor web en CentOS.
Lo sé, siempre escribo tutoriales para Debian y ahora saco esta para CentOS… La razón es simple, durante mi anterior curso hicimos todas las practicas en CentOS por lo cual tengo mucha documentación escrita en CentOS y quiero aprovecharla. Pero bueno, en Debian tampoco cambia mucho la cosa.
La versión de CentOS que voy a usar es la Minimal, ya que vamos a trabajar con un servidor web, esta versión es suficiente para trabajar desde cero y explicar unas cosas de CentOS. Además la vamos a instalar en una maquina virtual con VirtualBox y configurar siempre vía SSH bajo root. ¡Al lío!
Configuración básica para CentOS
Lo primero que vamos hacer es instalar unos paquetes que no vienen con esta versión. Desde la maquina virtual abrimos sesión como root e instalamos lo siguiente:
# yum update
Una vez actualizado los paquetes, instalamos unos nuevos:
# yum install net-tools nano firewalld
Las net-tools son necesarias para saber que IP tiene nuestra maquina, ya que la versión Minimal viene sin el comando ifconfig (esto con Debian no ocurre…). A partir de ahora podremos ver nuestra IP con el comando de toda la vida:
# ifconfig
Nos conectamos vía SSH:
# ssh user@IP_Servidor
Una vez conectados por SSH, desactivaremos el SELinux para evitar problemas. Editamos el fichero /etc/selinux/config y modificamos enforcing por disabled:
SELINUX=disabled
Después de guardar, ejecutamos esto para efectuar los cambios en el núcleo:
# setenforce 0
Instalación servidor web [httpd]
Una vez hemos realizado los pasos previos ahora vamos a instalar el servidor web, generalmente todas las distribuciones usan un paquete proporcionado por la fundación Apache, pero en Red Hat todo cambia y hay que usar httpd. Lo instalamos:
# yum install httpd
Iniciamos el servicio al arranque y lo iniciamos:
# systemctl enable httpd # systemctl start httpd
Ahora abrimos puertos del protocolo HTTP para poder acceder desde cualquier cliente, pero primero iniciamos el cortafuegos:
# systemctl start firewalld
Y ahora abrimos puertos:
# firewall-cmd --permanent --zone=public --add-service=http # firewall-cmd --permanent --zone=public --add-service=https # firewall-cmd --reload
Ahora si desde nuestro navegador escribimos la IP del servidor entraremos en la web por defecto:
Instalación de PHP para HTTPD
Por lo general hay que instalar unos paquetes específicos para luego usar conjuntamente con MariaDB y phpMyAdmin, son estos:
# yum install php php-mysql php-pdo php-gd php-mbstring
Una vez hemos instalado PHP, comprobamos que se ha instalado correctamente creando un fichero PHP en nuestro servidor web para que nos muestre toda la información:
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Luego reiniciamos el servicio:
# systemctl restart httpd
Y entramos con el navegador a 192.168.1.20/info.php:
Instalación y configuración de MariaDB
Ahora vamos a instalar un servidor de bases de datos para las aplicaciones que podamos instalar en nuestro servidor web, para ello instalaremos MariaDB que está basado en MySLQ.
# yum install mariadb mariadb-server
Como antes, iniciamos servicio al arranque y lo iniciamos:
# systemctl enable mariadb # systemctl start mariadb
Una vez iniciado, no podremos iniciar sesión con MariaDB porque no hemos configurado aún el servidor, para ello:
# mysql_secure_instalation
Y respondemos a las preguntas:
Enter Y Escribimos nuestra nueva contraseña Y (para eliminar los usuarios anónimos) Y (para desactivar el login remoto) Y (para eliminar las bases de datos de ejemplo) Y (para recargar los permisos en las tablas)
Y listo, ya hemos configurado MariaDB, ahora podremos conectarnos mediante terminal:
# myslq -u root -p
Instalación y configuración de phpMyAdmin
Oficialmente los repositorios para RHEL 7.0 o CentOS 7.0 no proporcionan ningún paquete binario para la interfaz web de PhpMyAdmin. Si no te sientes cómodo usando la línea de comandos de MySQL para gestionar bases de datos se puede instalar PhpMyAdmin añadiendo un repositorio nuevo a CentOS llamado epel-release y lo añadimos de la siguiente manera:
# yum install epel-release
Luego ya podemos instalar el paquete phpmyadmin:
# yum install phpmyadmin
Una vez instalado, toca hacer una pequeña configuración. Tenemos que modificar el fichero creado para HTTPD:
# nano /etc/httpd/conf.d/phpMyAdmin.conf
Tenemos que buscar lo siguiente:
# Apache 2.4 <RequireAny> Require ip 127.0.0.1 Require ip ::1 </RequireAny>
Y dejarlo de esta manera:
# Apache 2.4 <RequireAny> #Require ip 127.0.0.1 #Require ip ::1 Require all granted </RequireAny>
Tendremos que hacerlo dos veces porque más abajo del primero se repite la misma estructura. Una vez modificado el fichero, toca reiniciar el servidor web:
# systemctl restart httpd
Y una vez reiniciado podremos acceder desde el navegador 192.168.1.20/phpmyadmin:
Y hasta aquí todo el proceso para tener un servidor LAMP en nuestro servidor. Ahora ya podremos instalar cualquier aplicación web ya sea WordPress, Drupal, Joomla!, MediaWiki, Moodle, etc. Eso si, nos faltaría activar el módulo para SSL que lo dejaremos para otro momento.
Comentarios