Instalar un servidor Lamp en CentOS 8 fácilmente.
LAMP es un conjunto de aplicaciones opensource, que se utiliza en el desarrollo de aplicaciones web. Basado en sistemas Linux, consta de un servidor Apache, base de datos MySQL o MariaDB y el archiconocido lenguaje de programación PHP.
Los requisitos son fáciles de cumplir.
- Un servidor CentOS 8.
- Acceso a la terminal / línea de comandos.
- Usuario root o con privilegios.
- Administrador de paquetes yum y RPM (vienen incluidos por defecto).
En el artículo de hoy, vemos como instalar un servidor Lamp en CentOS 8 de forma rápida y sencilla.
Instalar un servidor Lamp en CentOS 8
Al ser un CentOS 8 se admiten los administradores de paquetes yum y dnf, nosotros somos perro viejo, así que por costumbre operamos con yum. También puedes hacer lo mismo con dnf.
Comenzamos actualizando nuestro CentOS 8.
sudo yum update
Instalar Apache en Centos 8
Instalamos Apache.
sudo yum -y install httpd
Ejemplo…
[root@solo-linux ~]# sudo yum -y install httpd Última comprobación de caducidad de metadatos hecha hace 1:44:12, el mar 21 jul 2020 10:19:44 CEST. Dependencias resueltas. ================================================================================ Paquete Arq. Versión Repo Tam. ================================================================================ Instalando: httpd x86_64 2.4.37-21.module_el8.2.0+382+15b0afa8 AppStream 1.7 M Instalando dependencias: apr x86_64 1.6.3-9.el8 AppStream 125 k apr-util x86_64 1.6.1-6.el8 AppStream 105 k centos-logos-httpd noarch 80.5-2.el8 BaseOS 24 k httpd-filesystem noarch 2.4.37-21.module_el8.2.0+382+15b0afa8 AppStream 36 k httpd-tools x86_64 2.4.37-21.module_el8.2.0+382+15b0afa8 AppStream 103 k mailcap noarch 2.1.48-3.el8 BaseOS 39 k mod_http2 x86_64 1.11.3-3.module_el8.2.0+307+4d18d695 AppStream 157 k Instalando dependencias débiles: apr-util-bdb x86_64 1.6.1-6.el8 AppStream 25 k apr-util-openssl x86_64 1.6.1-6.el8 AppStream 27 k Activando flujos de módulos: httpd 2.4
Iniciamos el servicio.
sudo systemctl start httpd.service
Puedes verificar que Apache está corriendo, con solo escribir la ip en tu navegador web favorito. Vemos una imagen del resultado.
Servidor LAMP en CentOS 8
Instalar MariaDB en CentOS 8
Llega el turno de la base de datos. Por defecto (excelente elección), se instala MariaDB en su versión 10.3. Si necesitas MySQL, lo solicitas en la zona de comentarios.
yum install mariadb-server
Iniciamos y habilitamos.
systemctl start mariadb systemctl enable mariadb
Verificamos su status.
systemctl status mariadb
Ejemplo…
[root@solo-linux ~]# systemctl status mariadb ● mariadb.service - MariaDB 10.3 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor pre> Active: active (running) since Tue 2020-07-21 12:27:05 CEST; 1min 18s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 26899 (mysqld) Status: "Taking your SQL requests now..." Tasks: 30 (limit: 104857) Memory: 73.6M CGroup: /system.slice/mariadb.service └─26899 /usr/libexec/mysqld --basedir=/usr jul 21 12:27:04 solo-linux mysql-prepare-db-dir[26797]: See the MariaDB Knowled> jul 21 12:27:04 solo-linux mysql-prepare-db-dir[26797]: MySQL manual for more i> jul 21 12:27:04 solo-linux mysql-prepare-db-dir[26797]: Please report any probl> jul 21 12:27:04 solo-linux mysql-prepare-db-dir[26797]: The latest information > jul 21 12:27:04 solo-linux mysql-prepare-db-dir[26797]: You can find additional> jul 21 12:27:04 solo-linux mysql-prepare-db-dir[26797]: http://dev.mysql.com jul 21 12:27:04 solo-linux mysql-prepare-db-dir[26797]: Consider joining MariaD> jul 21 12:27:04 solo-linux mysql-prepare-db-dir[26797]: https://mariadb.org/get> jul 21 12:27:04 solo-linux mysqld[26899]: 2020-07-21 12:27:04 0 [Note] /usr/lib> jul 21 12:27:05 solo-linux systemd[1]: Started MariaDB 10.3 database server. lines 1-22/22 (END)...skipping... ● mariadb.service - MariaDB 10.3 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2020-07-21 12:27:05 CEST; 1min 18s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 26899 (mysqld) Status: "Taking your SQL requests now..." Tasks: 30 (limit: 104857) Memory: 73.6M CGroup: /system.slice/mariadb.service └─26899 /usr/libexec/mysqld --basedir=/usr
Aseguramos la instalación de MariaDB.
mysql_secure_installation
Nos aparecen una serie de preguntas, siguiendo los pasos que te indico a continuación MariaDB estará protegido.
- Enter current password for root (enter for none): Pulsa Enter
- Set root password? [Y/n]: Y
- New password: Introduce el password
- Re-enter new password: Repite el password
- Remove anonymous users? [Y/n]: Y
- Disallow root login remotely? [Y/n]: Y
- Remove test database and access to it? [Y/n]: Y
- Reload privilege tables now? [Y/n]: Y
Reiniciamos MariaDB y verificamos la versión instalada.
sudo systemctl restart mariadb.service
mysql -V
Veremos algo similar a…
[root@solo-linux ~]# mysql -V mysql Ver 15.1 Distrib 10.3.17-MariaDB, for Linux (x86_64) using readline 5.1
Instalar un servidor Lamp en CentOS 8
Instalar PHP en CentOS 8
Como es evidente, también necesitamos php, así que lo instalamos junto a sus módulos más comunes.
sudo yum -y install php php-pdo php-pecl-zip php-json php-common php-fpm php-mbstring php-cli
Instalación de ejemplo.
[root@solo-linux ~]# sudo yum -y install php php-pdo php-pecl-zip php-json php-common php-fpm php-mbstring php-cli Última comprobación de caducidad de metadatos hecha hace 2:26:01, el mar 21 jul 2020 10:19:44 CEST. Dependencias resueltas. ============================================================================================================================== Paquete Arquitectura Versión Repositorio Tam. ============================================================================================================================== Instalando: php x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 AppStream 1.5 M php-cli x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 AppStream 3.1 M php-common x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 AppStream 661 k php-fpm x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 AppStream 1.6 M php-json x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 AppStream 73 k php-mbstring x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 AppStream 580 k php-pdo x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 AppStream 122 k php-pecl-zip x86_64 1.15.3-1.module_el8.2.0+313+b04d0a66 AppStream 51 k Instalando dependencias: libzip x86_64 1.5.1-2.module_el8.2.0+313+b04d0a66 AppStream 62 k nginx-filesystem noarch 1:1.14.1-9.module_el8.0.0+184+e34fea82 AppStream 24 k Activando flujos de módulos: nginx 1.14 php 7.2
Configurar firewalld en CentOS 8
Como norma general en CentOS 8, el firewalld lo tenemos habilitado por defecto, abrimos los puertos necesarios, ya que es obligatorio si quieres instalar un servidor Lamp en CentOS 8.
sudo firewall-cmd --permanent --zone=public --add-service=http
Permitimos el tráfico.
sudo firewall-cmd --permanent --zone=public --add-service=https
Recargamos firewalld.
sudo firewall-cmd --reload
Como ultimo paso de la instalación de Lamp en Centos 8, solo nos falta verificar que tenemos abiertos los puertos necesarios.
sudo firewall-cmd --permanent --list-all
LAMP en CentOS 8
Reinicia el servidor y listo.
Canales de Telegram: Canal SoloLinux – Canal SoloWordpress
Espero que este artículo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. Instalar un servidor Lamp en CentOS 8 fácilmente.
Una pregunta inocente (por inexperto):
Cuando se hace la comprobación:
sudo firewall-cmd --permanent --list-all
pone:
services: cockpit dhcpv6-client http https ssh
ports: 80/tcp
eso significa que escucha el https en el puerto 80 y no en el 443?
Gracias.
Observa que el https está abierto, por lo tanto aunque no aparezca en la lista (se ofusca), el 443 también.