Instalación de LAMP (Linux, Apache, MariaDB, PHP/PhpMyAdmin) en RHEL/CentOS 7.0


Omitir la introducción de LAMP, ya que estoy seguro de que la mayoría de ustedes saben de qué se trata. Este tutorial se concentrará en cómo instalar y configurar la famosa pila LAMP (Linux Apache, MariaDB, PHP, PhpMyAdmin) en la última versión de Red Hat Enterprise Linux 7.0 y CentOS 7.0, con la mención de que ambas distribuciones han actualizado el demonio httpd a Apache HTTP 2.4 .

Dependiendo de la distribución utilizada, RHEL o CentOS 7.0, use los siguientes enlaces para realizar una instalación mínima del sistema, usando una dirección IP estática para la configuración de la red.

  1. Procedimiento de instalación de RHEL 7.0
  2. Registre y habilite suscripciones/repositorios en RHEL 7.0

  1. Procedimiento de instalación de CentOS 7.0

Paso 1: Instale el servidor Apache con configuraciones básicas

1. Después de realizar una instalación mínima del sistema y configurar la interfaz de red de su servidor con una dirección IP estática en RHEL/CentOS 7.0, continúe e instale el paquete binario de servicio Apache 2.4 httpd proporcionado desde los repositorios oficiales usando el siguiente comando.

# yum install httpd

2. Después de que yum manager termine la instalación, use los siguientes comandos para administrar el demonio Apache, ya que RHEL y CentOS 7.0 migraron sus scripts init desde SysV a systemd : también puede usar scripts SysV y Apache al mismo tiempo para administrar el servicio.

# systemctl status|start|stop|restart|reload httpd

OR 

# service httpd status|start|stop|restart|reload

OR 

# apachectl configtest| graceful

3. En el siguiente paso, inicie el servicio Apache usando el script de inicio systemd y abra las reglas del firewall RHEL/CentOS 7.0 usando firewall-cmd , que es el comando predeterminado para administrar iptables a través de firewalld demonio.

# firewall-cmd --add-service=http

NOTA: Tenga en cuenta que el uso de esta regla perderá su efecto después de reiniciar el sistema o reiniciar el servicio Firewalld, porque abre reglas sobre la marcha, que no se aplican de forma permanente. Para aplicar reglas de coherencia de iptables en el firewall, use la opción –permanent y reinicie el servicio firewalld para que surta efecto.

# firewall-cmd --permanent --add-service=http
# systemctl restart firewalld

Otras opciones importantes de Firewalld se presentan a continuación:

# firewall-cmd --state
# firewall-cmd --list-all
# firewall-cmd --list-interfaces
# firewall-cmd --get-service
# firewall-cmd --query-service service_name
# firewall-cmd --add-port=8080/tcp

4. Para verificar la funcionalidad de Apache, abra un navegador remoto y escriba la dirección IP de su servidor usando el protocolo HTTP en la URL ( http:// server_IP ), y debería aparecer una página predeterminada como en la captura de pantalla a continuación.

5. Por ahora, la ruta de Apache DocumentRoot está configurada en la ruta del sistema /var/www/html , que de forma predeterminada no proporciona ningún archivo de índice. Si desea ver una lista de directorios de su ruta DocumentRoot, abra el archivo de configuración de bienvenida de Apache y configure la instrucción Índices de - a + en la directiva , usando la siguiente captura de pantalla como ejemplo.

# nano /etc/httpd/conf.d/welcome.conf

6. Cierre el archivo, reinicie el servicio Apache para reflejar los cambios y vuelva a cargar la página de su navegador para ver el resultado final.

# systemctl restart httpd

Paso 2: Instale el soporte PHP5 para Apache

7. Antes de instalar el soporte de lenguaje dinámico PHP5 para Apache, obtenga una lista completa de los módulos y extensiones PHP disponibles usando el siguiente comando.

# yum search php

8. Dependiendo del tipo de aplicaciones que desee utilizar, instale los módulos PHP requeridos de la lista anterior, pero para un soporte básico de MariaDB en PHP y PhpMyAdmin necesita instale los siguientes módulos.

# yum install php php-mysql php-pdo php-gd php-mbstring

9. Para obtener una lista de información completa en PHP desde su navegador, cree un archivo info.php en Apache Document Root usando el siguiente comando desde la cuenta raíz, reinicie el servicio httpd y dirija su navegador a Dirección http://server_IP/info.php .

# echo "<?php phpinfo(); ?>" > /var/www/html/info.php
# systemctl restart httpd

10. Si obtiene un error en PHP Date and Timezone, abra el archivo de configuración php.ini , busque y descomente la declaración date.timezone , agregue su ubicación física y reinicie el demonio Apache .

# nano /etc/php.ini

Busque y cambie la línea date.timezone para que se vea así, usando la lista PHP Supported Timezones.

date.timezone = Continent/City

Paso 3: instalar y configurar la base de datos MariaDB

11. Red Hat Enterprise Linux/CentOS 7.0 cambió de MySQL a MariaDB para su sistema de administración de base de datos predeterminado. Para instalar la base de datos MariaDB use el siguiente comando.

# yum install mariadb-server mariadb

12. Después de instalar el paquete MariaDB, inicie el demonio de la base de datos y use el script mysql_secure_installation para proteger la base de datos (establezca la contraseña de root, deshabilite el inicio de sesión remoto desde la raíz, elimine la base de datos de prueba y elimine los usuarios anónimos).

# systemctl start mariadb
# mysql_secure_installation

13. Para probar la funcionalidad de la base de datos, inicie sesión en MariaDB usando su cuenta raíz y salga usando la instrucción quit .

mysql -u root -p
MariaDB > SHOW VARIABLES;
MariaDB > quit

Paso 4: Instale PhpMyAdmin

14. De forma predeterminada, los repositorios oficiales RHEL 7.0 o CentOS 7.0 no proporcionan ningún paquete binario para la interfaz web PhpMyAdmin. Si no se siente cómodo usando la línea de comandos de MySQL para administrar su base de datos, puede instalar el paquete PhpMyAdmin habilitando los repositorios CentOS 7.0 rpmforge usando el siguiente comando.

# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

Después de habilitar el repositorio rpmforge, luego instale PhpMyAdmin.

# yum install phpmyadmin

15. A continuación, configure PhpMyAdmin para permitir conexiones desde hosts remotos editando el archivo phpmyadmin.conf , ubicado en el directorio Apache conf.d , comentando las siguientes líneas.

# nano /etc/httpd/conf.d/phpmyadmin.conf

Utilice un # y comente estas líneas.

# Order Deny,Allow
# Deny from all
# Allow from 127.0.0.1

16. Para poder iniciar sesión en la interfaz web de PhpMyAdmin utilizando el método de autenticación de cookies, agregue una cadena blowfish al archivo phpmyadmin config.inc.php como en la captura de pantalla de abajo usando el comando generate a cadena secreta, reinicie el servicio web Apache y dirija su navegador a la dirección URL http:// server_IP/phpmyadmin/.

# nano /etc/httpd/conf.d/phpmyadmin.conf
# systemctl restart  httpd

Paso 5: Habilite LAMP en todo el sistema

17. Si necesita que los servicios de MariaDB y Apache se inicien automáticamente después de reiniciar, emita los siguientes comandos para habilitarlos en todo el sistema.

# systemctl enable mariadb
# systemctl enable httpd

Eso es todo lo que se necesita para una instalación básica de LAMP en Red Hat Enterprise 7.0 o CentOS 7.0. La próxima serie de artículos relacionados con la pila LAMP en CentOS/RHEL 7.0 discutirá cómo crear hosts virtuales, generar certificados y claves SSL y agregar soporte de transacciones SSL para el servidor HTTP Apache.