¿Cómo Instalar LAMP en CentOS 7?

¿Cómo Instalar LAMP en CentOS 7?

Escrito por Felipe Bravo
Última actualización martes, oct 13, 2020

El sistema de infraestructura LAMP es un grupo de software de código abierto que utiliza las tecnologías Linux, Apache, MySQL y PHP, éstas forman el acrónimo LAMP. La combinación de estas tecnologías se utiliza para levantar y mantener en ejecución un servidor Web. Tomando en cuenta que ya el servidor ejecuta CentOS 7, solo falta la instalación del resto de las tecnologías, que explicamos a continuación.

Nota
Esta guía está escrita para un usuario no root. Los comando que requieren privilegios elevados están precedidos por sudo.

Apache

Instalación y configuración

  1. Instale Apache 2.4:

     sudo yum install httpd
    
  2. Edite el archivo httpd.conf y agregue el siguiente código para desactivar la opción KeepAlive y ajustar la configuración de uso de recursos. Los ajustes mostrados a continuación son un buen comienzo para un servidor con 2GB de memoria RAM:
    Nota: Antes de cambiar cualquier archivo de configuración, se recomienda que haga un respaldo de dicho archivo. Para hacerlo utilice:

     cp /etc/httpd/conf/httpd.conf ~/httpd.conf.backup
    

Extracto del archivo: /etc/httpd/conf/httpd.conf

	KeepAlive Off


	<IfModule prefork.c>
	    StartServers        4
	    MinSpareServers     20
	    MaxSpareServers     40
	    MaxClients          200
	    MaxRequestsPerChild 4500
	</IfModule>

Esta configuración también puede ser añadida a un archivo separado si así lo desea. El archivo debe estar ubicado en los directorios conf.module.d o conf, y debe terminar con la extensión .conf.

Configurar los hosts virtuales basados en nombre

Hay distintas formas de configurar hosts virtuales; sin embargo, el siguiente método es el más recomendado.

  1. Dentro del directorio conf.d cree el archivo vhost.conf para almacenar sus configuraciones de host virtual. Puede usar el ejemplo a continuación como una plantilla para su sitio web "ejemplo.com"; recuerde cambiar los valores necesarios para su dominio:
    Extracto del archivo: /etc/httpd/conf.d/vhost.conf

     NameVirtualHost :80
             
     <VirtualHost :80>
         ServerAdmin webmaster@ejemplo.com
         ServerName ejemplo.com
         ServerAlias www.ejemplo.com
         DocumentRoot /var/www/ejemplo.com/public_html/
         ErrorLog /var/www/ejemplo.com/logs/error.log
         CustomLog /var/www/ejemplo.com/logs/access.log combined
     </VirtualHost>
    

Se pueden agregar dominios adicionales al archivo vhost.conf según sea necesario.
Nota: Las entradas ErrorLog y CustomLog son sugeridas para registrar logs de manera más completa, pero no son obligatorias. Si están definidas (como se muestra arriba), los directorios de logs deben ser creados antes de reiniciar su servidor Apache.

  1. Cree los directorios a los cuales se hizo referencia arriba:

     sudo mkdir -p /var/www/example.com/public_html
     sudo mkdir /var/www/example.com/logs
    
  2. Habilite Apache para que arranque automáticamente al iniciar el servidor, y reinicie el servicio para que los cambios anteriores surtan efecto:

     sudo systemctl enable httpd.service
     sudo systemctl restart httpd.service
    

Ahora puede visitar su dominio y probar el servidor Apache: podrá visualizar una página por defecto de Apache.

MySQL / MariaDB

Instalación y configuración

MySQL es remplazado por MariaDB en CentOS 7. MariaDB es una base de datos muy popular que puede remplazar a MySQL.

Nota:
Si usted prefiere usar una base de datos MySQL en CentOS 7, deberá agregar los repositorios necesarios ejecutando el siguiente comando:

sudo yum install https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
  1. Instale el paquete del servidor MariaDB:

     sudo yum install mariadb-server
    
  2. Configure MariaDB para que arranque al iniciar el servidor, e inicie el demonio por primera vez:

     sudo systemctl enable mariadb.service
     sudo systemctl start mariadb.service
    
  3. Ejecute mysqlsecureinstallation para asegurar MariaDB. Se le dará la opción de cambiar la contraseña root de MariaDB, eliminar cuentas de usuario anónimas, deshabilitar inicios de sesión como root fuera del localhost, eliminar bases de datos de prueba y volver a cargar privilegios. Se recomienda responder yes (sí) a todas las opciones.

     mysqlsecureinstallation
    

Crear una base de datos MySQL/MariaDB

  1. Inicie sesión en MariaDB:

     mysql -u root -p
    

Se le pedirá la contraseña root de MariaDB que creó al momento de la instalación. Una vez que haya ingresado, tendrá acceso a la línea de comandos de MariaDB.

  1. Cree una nueva base de datos y un usuario con permisos para utilizarla:

     create database datosweb;
     grant all on datosweb.* to 'usuarioweb' identified by 'SuContraseña';
    

En el ejemplo arriba, datosweb es el nombre de la base de datos, usuarioweb es el usuario, y SuContraseña representa una contraseña sólida y segura.

  1. Salga de la línea de comandos de MariaDB usando:

     quit
    

Una vez que tenga Apache y MariaDB instalados, está listo para continuar e instalar PHP para proporcionar soporte de scripting en sus páginas web.

PHP

Instalación y configuración

  1. Instale PHP:

     sudo yum install php php-pear
    

Si desea instalar soporte MySQL para PHP, también debe instalar el paquete php-mysql.

	sudo yum install php-mysql
  1. Edite el archivo /etc/php.ini para mejorar los mensajes, los registros de errores y el desempeño. Estas modificaciones son un buen punto de partida para un servidor con 2GB de memoria RAM:
    Extracto del archivo: /etc/php.ini

     errorreporting = ECOMPILEERROR|ERECOVERABLEERROR|EERROR|ECOREERROR
     errorlog = /var/log/php/error.log
     maxinput_time = 30
    

Nota: Asegúrese de que las líneas anotadas arriba no estén comentadas. Una línea de comentario comienza con punto y coma (;).

  1. Cree un directorio de logs para PHP y otorgue la propiedad del directorio al usuario Apache:

     sudo mkdir /var/log/php
     sudo chown apache /var/log/php
    
  2. Vuelva a cargar Apache:

     sudo systemctl reload httpd
    

Recursos adicionales

Para complementar la información aquí presentada puede consultar los siguientes recursos. Aunque este material es provisto esperando que sea útil, tome en cuenta que no podemos certificar su actualidad o precisión.

Linux

65 artículo en esta categoria.
Escrito por Felipe Bravo.