Cómo instalar LAMP en Fedora 36

En este artículo veremos cómo instalar la pila LAMP en Fedora 36, 35 y 34 paso a paso, el entorno formado por Linux, Apache, MariaDB/MySQL y PHP en un mismo servidor o VPS Fedora, de modo que puedan correr complejas y potentes aplicaciones web.

Antes de instalar LAMP en Fedora 36/35/34

Para poder completar los pasos de esta guía de instalación y configuración de la pila LAMP en Fedora 36 sólo habrá que tener en cuenta estos requisitos:

  • Un sistema Fedora 36, 35 ó 34 actualizado.
  • Acceso a consola con un usuario con permisos de sudo, o root.
  • Conexión a Internet.

Cómo instalar LAMP en Fedora 36/35/34

Vamos a instalar la pila LAMP en Fedora 36 a partir de los repositorios de la distribución, por lo que es importante actualizar las listas de paquetes disponibles:

~$ sudo yum update

Empezamos instalando el servicio web Apache y el servicio MariaDB:

~$ sudo yum -y install httpd mariadb-server

Finalizada la descarga e instalación de estos paquetes y sus dependencias se crean dos nuevos servicios en Fedora 36, los servicios httpd.service y mariadb.service (o httpd y mariadb si prefieres los nombres cortos).

Arrancaremos estos servicios que componen parte de la pila LAMP y los habilitaremos para que inicien automáticamente en cada arranque de Fedora 36:

~$ sudo systemctl enable --now mariadb httpd

Los servicios quedan iniciados, habilitados y listos para trabajar.

PHP 8.1

La versión de PHP incluida en Fedora 36 es la 8.1. Si es la que necesitas, instalaremos los componentes necesarios para completar la pila LAMP:

~$ sudo yum install -y php-fpm php-cli php-mysqlnd

Terminada la descarga e instalación, se crea el servicio php-fpm.service (o php-fpm.service) que activaremos e iniciaremos:

~$ sudo systemctl enable --now php-fpm

Y recargaremos la configuración de Apache:

~$ sudo systemctl reload httpd

PHP 8.2 y versiones anteriores como la 8.0 ó la 7.4

Si quieres instalar PHP 8.2 en Fedora, o incluso PHP 7.4  ó versiones anteriores, habrá que instalar el repositorio Remi adecuado a tu versión de Fedora.

Para Fedora 34:

~$ sudo yum install -y https://rpms.remirepo.net/fedora/remi-release-34.rpm

Para Fedora 35:

~$ sudo yum install -y https://rpms.remirepo.net/fedora/remi-release-35.rpm

Y para Fedora 36:

~$ sudo yum install -y https://rpms.remirepo.net/fedora/remi-release-36.rpm

Hecho esto, activamos el repositorio remi, que es el que contiene los paquetes de PHP:

~$ sudo yum config-manager --set-enabled remi

Actualizamos la información de los repositorios:

~$ sudo yum update -y

E instalamos los paquetes para completar la pila LAMP con la versión de PHP que necesitemos, por ejemplo para la versión 8.2:

~$ sudo yum install -y php82-php-fpm php82-php-cli php82-php-mysqlnd

Sustituye en el comando anterior php82 por la versión de PHP que te interese. Por ejemplo, para la versión 7.4 especificaríamos php74:

~$ sudo yum install -y php74-php-fpm php74-php-cli php74-php-mysqlnd

Finalizada la descarga, disponemos del servicio php82-php-fpm.service (o phpXX-php-fpm) que tendremos que iniciar y habilitar:

~$ sudo systemctl enable --now php82-php-fpm

Y recargaremos la configuración de Apache:

~$ sudo systemctl reload httpd

Es importante saber que los binarios para consola de PHP incluyen el sufijo con el número de versión en el nombre del comando. Por ejemplo, el comando php como tal no existe:

~$ php -v
-bash: php: orden no encontrada

Por ejemplo, si hemos instalado PHP 8.2 el comando que tendremos será php82:

~$ php82 -v
PHP 8.2.0-dev (cli) (built: May 30 2022 08:39:24) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.0-dev, Copyright (c) Zend Technologies

Puedes tenerlo en cuenta o, mejor aún, crear enlaces simbólicos para facilitar el uso y compatibilidad:

~$ sudo ln -s /usr/bin/php82 /usr/bin/php

Configurar el firewall de Fedora 36 para la pila LAMP

Para poder acceder desde red a las aplicaciones que instalemos o desarrollemos sobre la pila LAMP, será necesario añadir alguna excepción al firewall de Fedora 36, ya que está activado por defecto e impide las conexiones entrantes.

Para permitir el acceso al servicio HTTP estándar:

~$ sudo firewall-cmd --permanent --add-service=http

Si además vamos a ofrecer contenido seguro mediante conexiones cifradas, habrá que permitir el acceso al puerto del servicio HTTPS:

~$ sudo firewall-cmd --permanent --add-service=https

Finalmente, aplicamos los cambios:

~$ sudo firewall-cmd --reload

Cómo probar la pila LAMP en Fedora 36/35/34

Para probar la pila LAMP en Fedora 36 creamos un pequeño script PHP fácilmente accesible desde la navegación web:

~$ sudo nano /var/www/html/info.php

El contenido será la siguiente línea:

<?php phpinfo();

Accedemos a este script desde un navegador añadiendo la ruta /info.php a la dirección IP o nombre DNS del servidor.

Por ejemplo, la máquina Fedora 36 en la que realizamos este tutorial es accesible en el subdominio fedora.local.lan, por lo que accederíamos con http://fedora.local.lan/info.php como URL.

Si instalamos la versión nativa de PHP de la distribución esto es lo que nos encontramos:

Cómo instalar la pila LAMP en Fedora 36, 35 y 34

Si optamos por el repositorio alternativo para trabajar con versiones anteriores como la 7.4, igualmente se mostrará una página similar:

como configurar la pila lamp en fedora 36, 35 y 34

Y de forma similar se comportará una versión más moderna, como la 8.2:

comprobacion de la pila lamp en fedora 36, 35 y 34

Todas estas páginas demuestran el funcionamiento conjunto del servicio web y el servicio PHP.

Cómo configurar la pila LAMP en Fedora 36/35/34

Aunque como acabamos de ver los elementos de la pila LAMP se encuentran en funcionamiento, pueden requerir de ciertos ajustes que veremos rápidamente a continuación.

PHP

Editamos el archivo de configuración php.ini, en el caso de PHP procedente del repositorio de Fedora:

~$ sudo nano /etc/php.ini

En el caso del repositorio Remi hay que añadir un subdirectorio /remi/ a la ruta del archivo:

~$ sudo nano /etc/opt/remi/php82/php.ini

Buscamos la directiva date.timezone:

...
;date.timezone =
...

Está desactivada, así que la activaremos eliminando el carácter ; al inicio de línea y le daremos un valor apropiado:

...
date.timezone = Europe/Madrid
...

Si no conoces el valor de la zona horaria que te interesa, puedes consultarlos en la documentación oficial de PHP.

Si el servidor Fedora 36 en el que estamos configurando la pila LAMP está destinado a producción no serían necesarios más cambios. Sin embargo, si está destinado a desarrollo sería interesante obtener la máxima información posible sobre los errores que se reproduzcan para ayudar a su depuración. Para ello localizaremos las siguientes directivas:

...
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
...
display_errors = Off
...
display_startup_errors = Off
...

Los valores más adecuados serían los siguientes:

...
error_reporting = E_ALL
...
display_errors = On
...
display_startup_errors = On
...

Una vez guardados los cambios será necesario recargar la configuración del servicio PHP para aplicarlos:

~$ sudo systemctl reload php-fpm

O para PHP procedente del repositorio Remi:

~$ sudo systemctl reload php82-php-fpm

MariaDB

El servicio MariaDB dispone inicialmente de un único usuario, el administrador root, que sólo puede ser accedido como usuario root de Fedora 36, o utilizando el comando sudo:

~$ sudo mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.5.15-MariaDB MariaDB Server
...
MariaDB [(none)]>

Por otro lado, el servicio trabaja por defecto con el juego de caracteres latin1, cuando lo idóneo es que trabaje con utf8 o utf8mb4. Para ello editaremos el archivo mariadb-server.cnf:

~$ sudo nano /etc/my.cnf.d/mariadb-server.cnf

Incluiremos las directivas character-set-server y collation-server en la sección mysqld:

...
[mysqld]
...
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
...

Guardamos los cambios y reiniciamos el servicio:

~$ sudo systemctl restart mariadb

Conclusión

Ahora que sabes cómo instalar y configurar la pila LAMP en Fedora 36, 35 y 34 ya puedes desplegar potentes aplicaciones web desde tu servidor o VPS Fedora, usando las últimas versiones de Apache, MariaDB y MySQL.

Si te ha surgido alguna duda o pregunta, tienes sugerencias de mejora o actualización del artículo, quieres notificar algún error, etc. puedes dejar un comentario.

¡Apoya comoinstalar.me!

¿Ya tienes Apache, MariaDB y PHP conectados y listos para trabajar gracias a esta guía de instalación y configuración de la pila LAMP en Fedora 36? Si es así y te apetece agradecérnoslo contribuyendo con el mantenimiento de este sitio y la creación de futuros artículos y tutoriales.

Puedes ayudarnos dejando una propina de 1 $ en PayPal:

O, si te sientes especialmente agradecido, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (5 votos)

7 comentarios en «Cómo instalar LAMP en Fedora 36»

  1. Buenas noches, muy buen tutorial, pude instalar todo siguiendo el tutorial. Una consulta, ¿cómo hago para ver el directorio donde se alojaría la web? ¿O cómo me conecto por FTP para subir los archivos?

    Responder
    • Hola, Martín. El directorio donde puedes alojar por defecto los archivos de un sitio web es /var/www/html/. Para subir archivos desde red si tienes instalado el servicio SSH puedes usar el comando scp, herramientas gráficas como WinSCP (para Windows), etc. Si quieres usar FTP obviamente tendrías que instalar y configurar el servicio FTP en el servidor Fedora. En cualquier caso, tendrás que dar permisos suficientes al usuario que vaya a trabajar sobre el directorio de la web.

      Responder

Deja un comentario