En este tutorial, instalará una pila LAMP en un servidor de CentOS 8. Aunque MySQL está disponible en los repositorios predeterminados de CentOS 8, en esta guía, se mostrará el proceso de configuración de una pila LAMP con MariaDB como sistema de administración de bases de datos.
Para ver una versión más detallada de este tutorial, con más explicaciones de cada paso, consulte Cómo instalar la pila Linux, Apache, MySQL, PHP (LAMP) en CentOS 8.
Para completar esta guía, necesitará acceso a un servidor de CentOS 8 como usuario sudo
.
Instale el paquete httpd
con lo siguiente:
- sudo dnf install httpd
Cuando finalice la instalación, ejecute el siguiente comando para habilitar e iniciar el servidor:
- sudo systemctl start httpd
Si firewalld
está activo, deberá ejecutar el siguiente comando para permitir el acceso externo en el puerto 80
(HTTP):
- sudo firewall-cmd --permanent --add-service=http
Vuelva a cargar la configuración del firewall para que los cambios surtan efecto:
- sudo firewall-cmd --reload
Una vez añadida la nueva regla de firewall, puede verificar si su servidor está activo accediendo a la dirección IP pública o al nombre del dominio de este desde su navegador web. Verá una página como la siguiente:
Ahora instalaremos MariaDB, una ramificación del servidor MySQL original de Oracle desarrollada por la comunidad. Para instalar este software, ejecute lo siguiente:
- sudo dnf install mariadb-server
Cuando termine la instalación, habilite e inicie el servidor MariaDB con lo siguiente:
- sudo systemctl start mariadb
Par mejorar la seguridad del servidor de su base de datos, se recomienda que ejecute una secuencia de comandos de seguridad que se incluye con MariaDB. Inicie la secuencia de comandos interactiva con lo siguiente:
- sudo mysql_secure_installation
En la primera solicitud se pedirá que introduzca la contraseña root de la base de datos actual. Debido a que acaba de instalar MariaDB y aún no realizó aún cambios en la configuración, el espacio de esta contraseña estará en blanco. Por ello, pulse ENTER
en la solicitud.
En la siguiente solicitud se pregunta si desea configurar una contraseña root de base de datos. Debido a que MariaDB usa un método de autenticación especial para el root user que normalmente proporciona más seguridad que una contraseña, no es necesario que lo configure ahora. Escriba N
y pulse ENTER
.
Desde allí, puede pulsar Y
y luego ENTER
para aceptar los valores predeterminados para todas las preguntas siguientes.
Para instalar los paquetes php
y php-mysqlnd
usando el administrador de paquetes dnf
, ejecute lo siguiente:
sudo dnf install php php-mysqlnd
Tras finalizar la instalación, reinicie el servidor web Apache para habilitar el módulo PHP:
sudo systemctl restart httpd
La instalación predeterminada de Apache en CentOS 8 creará una raíz de documentos ubicada en /var/www/html
. No es necesario que realice cambios en la configuración predeterminada de Apache para que PHP funcione correctamente en su servidor web.
El único ajuste que realizaremos consiste en cambiar la configuración de permisos predeterminada en su carpeta raíz de documentos de Apache. El siguiente comando cambiará la propiedad del root de documentos predeterminado de Apache a un usuario y un grupo denominados sammy:
- sudo chown -R sammy.sammy /var/www/html/
Ahora, crearemos una página PHP de prueba para garantizar que el servidor web funcione como se espera. Primero, es conveniente instalar nano
, un editor de texto más sencillo, dado que no viene instalado con CentOS 8 por defecto:
- sudo dnf install nano
Ahora, cree un nuevo archivo PHP llamado info.php
en el directorio /var/www/html
:
- nano /var/www/html/info.php
El siguiente código PHP mostrará información sobre el entorno PHP actual activo en el servidor:
<?php
phpinfo();
Cuando termine, guarde y cierre el archivo.
Para verificar si nuestro servidor web puede mostrar correctamente el contenido generado por una secuencia de comandos PHP, diríjase a su navegador y acceda al nombre de host o la dirección IP de su servidor, seguido de /info.php
:
http://server_host_or_IP/info.php
Verá una página similar a la siguiente:
A continuación, se ofrecen los enlaces a más guías detalladas relacionadas con este tutorial:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!