Cómo instalar Apache, MySQL y PHP (LAMP) en CentOS 8

Cómo instalar Apache, MySQL y PHP (LAMP) en CentOS 8

LÁMPARA son los acrónimos de Linux, Apache, MySQL y PHP. Apache es el servidor web para servir archivos a través del protocolo HTTP. Mysql es el popular servidor de base de datos. PHP es el lenguaje de programación utilizado para desarrollar aplicaciones web. Usando estas aplicaciones, podemos crear un servidor web con pleno derecho. La forma más común de ejecutar aplicaciones PHP con Apache es el uso del módulo mod_php. Además, la buena alternativa es usar PHP-FPM, que tiene varias ventajas sobre esto. La instalación predeterminada en CentOS 8 usa PHP-FPM para procesar archivos PHP.

Este tutorial lo ayudará a instalar y configurar la lámpara (Linux, Apache, MySQL y PHP) en los sistemas CentOS 8 y Rhel 8 Linux.

Enlace útil:

  • Configuración Vamos a cifrar SSL con Apache en Centos 8
  • Cómo configurar SFTP solo usuario en Centos 8

Requisitos previos

  • Máquina CentOS 8 recién instalada.
  • Complete la configuración inicial del servidor
  • Acceso de shell con privilegios de sudo

Paso 1 - Instale Apache

Los paquetes del servidor web Apache están disponibles en el repositorio de AppStream predeterminado en CentOS 8. Solo necesita actualizar el caché DNF e instalar paquetes utilizando los siguientes comandos.

sudo dnf actualización sudo dnf install httpd httpd-tools 

El paquete MOD_SSL proporciona la funcionalidad para usar un certificado SSL para HTTP seguro. Después de la instalación, habilite el servicio HTTPD y comience.

sudo systemCtl habilita httpd.servicio sudo systemctl iniciar httpd.servicio 

Ahora verifique el estado del servicio Apache:

sudo systemctl status httpd.servicio 

Producción:

● httpd.Servicio: el servidor apache http cargado: cargado (/usr/lib/systemd/system/httpd.servicio; activado; Vendor preestablecido: deshabilitado) Drop-in:/usr/lib/systemd/system/httpd.servicio.D └─PhP-FPM.conf activo: activo (en ejecución) desde el sábado 2020-03-22 04:27:24 edt; Docios de hace 5s: Hombre: httpd.Servicio (8) PID principal: 8644 (httpd) Estado: "Comenzando, escuchando en: Puerto 80" Tareas: 213 (Límite: 8918) Memoria: 21.5M CGROUP: /SISTEMA.rebanada/httpd.Servicio ├─8644/usr/sbin/httpd -dforeground ├─8650/usr/sbin/httpd -dforeground ├─8651/usr/sbin/httpd -dforeground ├─8652/usr/sbin/httpd --dforeground └ 865333333333333 /sbin/httpd -dforeground 22 de marzo 04:27:23 Tecadmin Systemd [1]: Inicio del servidor Apache Http ... 22 de marzo 04:27:24 Tecadmin Systemd [1]: Comenzó el servidor Apache HTTP. 22 de marzo 04:27:24 Tecadmin httpd [8644]: servidor configurado, escuchando en: puerto 80 

Paso 2 - Instale el servidor MySQL

Los últimos paquetes MySQL 8 están disponibles en el repositorio de AppStrem en el menos 8. Use el siguiente comando para instalar el servidor MySQL, incluidos los paquetes requeridos en su sistema.

sudo dnf -y install @mysql 

Después de completar la instalación, habilite el servicio MySQL para iniciar automáticamente en el inicio del sistema. También comience el servicio manualmente por primera vez.

sudo systemctl habilita mysqld.servicio sudo systemctl iniciar mysqld.servicio 

Luego verifique el estado actual del servicio usando el siguiente comando:

sudo systemctl status mysqld.servicio 
● mysqld.Servicio - MySQL 8.0 Servidor de base de datos Cargado: Cargado (/usr/lib/systemd/system/mysqld.servicio; activado; Vendor Preset: DiABLED) Activo: Activo (en ejecución) desde el SAT 2020-03-22 02:49:33 EDT; Proceso de hace 5min: 5841 ExecstartPost =/usr/libexec/mysql-check-upgrade (code = exited, status = 0/stitsing) Process: 5706 execstartpre =/usr/libexec/mysql-prepare-db-diir mysqld.Servicio (código = exitido, estado = 0/éxito) Proceso: 5682 ExecstartPre =/usr/libexec/mysql-check-socket (código = exitido, status = 0/éxito) PID principal: 5798 (MySQLD) Estado: el servidor IS es IS Tareas operativas ": 38 (límite: 8918) Memoria: 442.1M CGROUP: /SISTEMA.Slice/mysqld.Servicio └─5798/usr/libexec/mysqld -base =/usr 22 de marzo 02:48:42 Tecadmin Systemd [1]: Iniciar MySQL 8.0 Servidor de bases de datos ... 22 de marzo 02:48:45 Tecadmin MySQL-Prepare-DB-Dir [5706]: Inicialización de la base de datos MySQL 22 de marzo 02:49:33 Tecadmin Systemd [1]: Comenzó MySQL 8.0 servidor de bases de datos. 

La instalación de MySQL se ha completado. Ahora puede conectar el servidor MySQL sin ninguna contraseña, pero recomendamos asegurar la instalación de MySQL. Los paquetes mysql proporcionan mysql_secure_installation comando para aplicar la seguridad. Simplemente ejecute el siguiente comando en la terminal:

sudo mysql_secure_installation 

y sigue las instrucciones en pantalla. A continuación se muestran los detalles que requieren entrada del usuario.

  • Presione Y | y para sí, cualquier otra tecla para no: Y
  • Ingrese 0 = bajo, 1 = medio y 2 = fuerte: 2
  • Nueva contraseña: [Ingrese la contraseña segura aquí]
  • Re-ingrese nueva contraseña: Re Ingrese la contraseña aquí
  • ¿Desea continuar con la contraseña proporcionada??(Presione Y | y para sí, cualquier otra tecla para no): Y
  • Eliminar usuarios anónimos? (Presione Y | y para sí, cualquier otra tecla para no): Y
  • No permitir el inicio de sesión de raíz de forma remota? (Presione Y | y para sí, cualquier otra tecla para no): Y
  • Eliminar la base de datos de prueba y el acceso a ella? (Presione Y | y para sí, cualquier otra tecla para no): Y
  • Tablas de privilegio de recarga ahora? (Presione Y | y para sí, cualquier otra tecla para no): Y

Paso 3 - Instalar PHP

El repositorio REMI contiene los últimos paquetes PHP para el sistema CentOS 8 Linux. Entonces, en primer lugar, debe agregar el repositorio REMI a su sistema. Simplemente ejecute el siguiente comando para agregar el repositorio.

sudo dnf instalar dnf-utils http: // rpms.remirepo.NET/Enterprise/REMI-RELEASE-8.rpm 

Luego habilite el módulo DNF requerido para la instalación de PHP. Aquí estamos permitiendo el módulo para instalar PHP 7.4. Puedes cambiar esto a PHP 7.3 o Php 7.2 Según sus requisitos.

SUDO DNF MODULE RESET PHP SUDO DNF Módulo Habilitar PHP: REMI-7.4 

Una vez que el repositorio está habilitado en su sistema. Instale los paquetes PHP junto con los módulos PHP requeridos.

sudo dnf instalar php php-mysqlnd 

Muchos también necesitan instalar otros módulos PHP requeridos según los requisitos de su aplicación. El siguiente comando instalará algunos módulos PHP utilizados con frecuencia:

DNF Instalar PHP-GD PHP-ZIP PHP-MCRYPT PHP-JSON PHP-XML PHP-GETTEXT PHP-CURL PHP-INTL 

Paso 4 - Crear Apache VirtualHost

Todos los paquetes requeridos para el entorno de la lámpara están instalados. Ahora, cree el host virtual Apache. Por defecto, el Apache usa PHP-FPM para procesar archivos PHP en el sistema CentOS 8.

Crear y editar el archivo de configuración del host virtual en el editor de texto favorito:

sudo vim/etc/httpd/conf.d/tecadmin.ejemplo.neto.confusión 

Agregue el siguiente contenido en el archivo de configuración. Asegúrese de cambiar los parámetros requeridos.

ServerAdmin [email protected] documentroot/var/www/html servername tecadmin.ejemplo.Net Serveralias www.tecadmin.ejemplo.Net ErrorLog Logs/Tecadmin.error de la red.Registro de registro de registros/tecadmin.acceso a la red.registro combinado
12345678910 ServerAdmin [email protected] documentroot/var/www/html servername tecadmin.ejemplo.Net Serveralias www.tecadmin.ejemplo.Net ErrorLog Logs/Tecadmin.error de la red.Registro de registro de registros/tecadmin.acceso a la red.registro combinado

Guardar el archivo de configuración del host virtual y volver a cargar Apache para aplicar cambios.

sudo systemctl reiniciar httpd.servicio 

Enlace útil:

  • Configuración Vamos a cifrar SSL con Apache en Centos 8

Paso 5 - Permitir puertos en firewalld

El servidor CentOS 8 Linux está listo para servir la aplicación sobre el entorno de la lámpara. Si su sistema tiene Firewalld instalado ANS activo, debe permitir los puertos Apache. Esto permitirá a los usuarios de la red acceder a la aplicación web desde sistemas remotos.

Los siguientes comandos abrirán los puertos requeridos para usted.

sudo firewall-cmd --zone = public --permanent --add-service = http sudo firewall-cmd --zone = public --permanent --add-service = https sudo firewall-cmd 

Enlace útil:

  • ¿Qué es Firewalld y cómo implementar en Linux?

Paso 6 - Configuración de prueba

Todo listo. Para probar el entorno, cree un script PHP con phpinfo () función. Coloque este archivo en la raíz del documento de su servidor. Use el siguiente comando para hacer esto.

eco "">/var/www/html/info.php 

Luego acceder a la información.PHP usando la dirección IP del servidor (para VirtualHost predeterminado) para su dominio configurado en Apache VirtualHost.

http: // tecadmin.ejemplo.red/información.php 

Conclusión

Ha configurado con éxito el entorno de la lámpara en su sistema CentOS 8 o Rhel 8 Linux. A continuación, puede instalar phpmyadmin en su sistema.