• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

Dani Sánchez

  • ¿Eres agencia?
  • Quién soy
  • Servicios WordPress
    • Mantenimiento
    • Maquetación & Desarrollo
    • Soporte técnico
  • Portfolio
  • Blog
  • Presupuestos
Estás en: Inicio / Linux / Instalar LAMP (Linux, Apache, MySQL y PHP) en Fedora

Instalar LAMP (Linux, Apache, MySQL y PHP) en Fedora

El 28 de octubre de 2021 por dani.sanchez 3 comentarios

Probado hasta Fedora 39!!

Actualmente estoy probando Fedora como distro principal y tenía la necesidad de configurar mi entorno LAMP tal y como lo tenía en Ubuntu.

En Fedora la paquetería difiere un poco, así como algunas configuraciones.

En este artículo vamos a ver cómo:

  • Instalar el servidor web (Apache).
  • Instalar el gestor de bases de datos MariaDB.
  • Instalar PHP.
  • Configurar php.ini con los valores óptimos para WordPress.
  • Instalar phpMyAdmin para gestionar las bases de datos visualmente.
  • Activar el módulo MOD REWRITE para que funcionen las URLs «amigables» en WordPress.

Instalar el servidor web Apache

Nos dirigimos a un terminal y escribimos:

sudo dnf -y install httpd

Los comandos básicos para gestionar el servidor son:

Iniciar:

sudo systemctl start httpd

Parar:

sudo systemctl stop httpd

Habilitar:

sudo systemctl enable httpd

Reiniciar:

sudo systemctl restart httpd

Recargar:

sudo systemctl reload httpd

Una vez instalado, ejecutamos los comandos de habilitar e iniciar:

sudo systemctl enable httpd
sudo systemctl start httpd

Nos dirigimos a un navegador web y entramos en http://localhost

Deberíamos ver una pantalla como esta:

En mi caso, una vez que se habilita e inicia el servidor por primera vez, ya no es necesario hacerlo en cada sesión.

Instalar MySQL (MariaDB)

De vuelta al terminal ejecutamos:

sudo dnf install mariadb-server

Los comandos para gestionar el servicio son muy similares a Apache.

Habilitar:

sudo systemctl enable mariadb

Iniciar:

sudo systemctl start mariadb

Parar:

sudo systemctl stop mariadb

Reiniciar:

sudo systemctl restart mariadb

Al igual que con Apache, en mi caso no es necesario habilitar e iniciar el servicio en cada sesión.

Securizar MySQL

Por defecto, el gestor de bases de datos viene con el usuario root sin contraseña. Vamos a asignar una contraseña ejecutando:

sudo mysql_secure_installation

Nos preguntará si queremos asignar una contraseña al usuario root, contestamos que si:

Set root password? [Y/n] y
New password: *******
Re-enter new password: ****** 
Password updated successfully!

Nos hará una serie de preguntas sobre si queremos eliminar usuarios anónimos, borrar las tablas de test, etc. Podemos contestar afimartívamente a todo:

Remove anonymous users? [Y/n] y
 ... Success!
 
 Disallow root login remotely? [Y/n] y
 ... Success!
 
 Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 
 - Removing privileges on test database...
 ... Success!
 
 Reload privilege tables now? [Y/n] y
 ... Success!

Ahora entraremos en mysql:

sudo mysql -u root

Vamos a crear un usuario distinto de root que será el que asignemos a las bases de datos que creemos después:

CREATE USER mi_usuario IDENTIFIED BY 'password';

Creamos una nueva base de datos:

CREATE DATABASE mibase;

Y asignamos nuestro usuario anterior a la nueva base de datos con todos los privilegios:

GRANT ALL PRIVILEGES ON mibase.* TO mi_usuario;

Para nuevas bases de datos el proceso sería el mismo: Crear la base de datos y asignar nuestro usuario con todos los privilegios.

Tras la asignación de nuestro usuario a la nueva base de datos no está de más hacer una limpieza de la caché almacenada con:

FLUSH PRIVILEGES;

Instalar PHP

Vamos a instalar los siguientes paquetes para PHP:

sudo dnf -y install php php-cli php-php-gettext php-mbstring php-mcrypt php-mysqlnd php-pear php-curl php-gd php-xml php-bcmath php-zip

Tras la instalación vamos a comprobar la versión de PHP con el comando:

php -v

En el momento de hacer este artículo, la versión que se instala con Fedora 34 es la 7.4.24.

Crearemos un archivo test.php para comprobar que PHP se ejecuta correctamente bajo Apache.

A mí me gusta usar nano para configurar archivos sencillos mediante la terminal, nos dirigimos a:

sudo nano /var/www/html/test.php

Y dentro pegamos la siguiente línea:

<?php phpinfo(); ?>

Guardamos los cambios con Ctrl+O y salimos con Ctrl+X.

Volvemos al navegador web a la dirección http://localhost/test.php

Debería ejecutarse el script de información de PHP:

Vamos a cambiar algunos parámetros de PHP editando su archivo de configuración (php.ini) para optimizarlo para WordPress.

La ubicación está en /etc/php.ini, por lo que de nuevo con nano, nos dirigimos a:

sudo nano /etc/php.ini

Y editamos los siguiente parámetros:

memory_limit = 128M
post_max_size = 64M
max_execution_time = 180
upload_max_filesize = 64M
max_input_time = 180
max_input_vars = 3000

Tras la edición debemos reiniciar Apache para que los cambios surjan efecto. En mi caso tuve que reiniciar el PC por completo para que se aplicaran.

Instalar phpMyAdmin

Volvemos al terminal y ejecutamos:

sudo dnf install phpmyadmin

Tras la instalación veremos que si accedemos a http://localhost/phpmyadmin nos saldrá un mensaje de error indicando que la ubicación no existe.

Tenemos que editar el archivo de configuración de phpMyAdmin de nuevo con nano:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

Hacia la parte final del archivo, añadimos las siguientes líneas:

<Directory /usr/share/phpMyAdmin>
    AddDefaultCharset UTF-8
    Require all granted
</Directory>

Guardamos con Ctrl+O y salimos con Ctrl+X.

Reiniciamos el servidor con:

sudo systemctl restart httpd

O reiniciamos el equipo si no surje efecto. Ahora podemos acceder a http://localhost/phpmyadmin

Por último vamos a activar el módulo de Apache MOD REWRITE para habilitar las URLs amigables de WordPress que configuramos en los ajustes de Enlaces Permanentes.

Para ello nos dirigimos con nano a:

sudo nano /etc/httpd/conf/httpd.conf

Localizamos la línea:

<Directory "/var/www/html">

Y sustituimos AllowOverride None por AllowOverride All

De nuevo, reinicia Apache o directamente el PC.

Nota final

Si al descargar algún tema/plugin o actualización tienes un error de:

Descarga fallida: cURL error 7

Necesitamos configurar SElinux en modo permisivo. Para ello editamos el siguiente archivo:

sudo nano /etc/selinux/config

Y cambiamos el parámetro SELINUX=permissive

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these two values:
#       targeted - Targeted processes are protected,
#       mls - Multi Level Security protection.
SELINUXTYPE=targeted

Reiniciamos el equipo y eso es todo 😉

Publicado en: Linux, Publicaciones, Tutoriales Etiquetado como: apache, lamp, mysql, php, phpmyadmin

¿Quiéres invitarme a un café?

Si te has fijado en este blog no hay ni rastro de publicidad, todo el contenido publicado lo hago de forma artruista al igual que yo recurro a otros sitios cuando necesito algo. Pero si te he servido de ayuda y quieres agradecérmelo, puedes hacer una pequeña donación (el importe que quieras):

Entradas similares

  • Cerrar modales de Elementor con JavaScript (jQuery)
  • Redirección 301 para cambios de dominio
  • Guía rápida de Flexbox
  • Filtro de WooCommerce para personalizar el mensaje de «Gracias por tu pedido»
  • Portátiles reacondicionados, ¿mejor que uno nuevo?

Interacciones con los lectores

Comentarios

  1. Armando dice

    15 de mayo de 2022 a las 00:46

    Hola, me sirvió el tutorial, como seria si quiero cambiar el directorio por defecto de apache, muchas gracias

    Responder
  2. Jose dice

    7 de julio de 2024 a las 12:36

    ¡Hola!,David me sirvió de mucha ayuda tu información pero cuando reinicio el portatil MYSQL Database no se inicia se queda siempre en rojo y no hay manera de poder iniciarlo nuevamente podrías darme alguna idea o ayudarme que es lo que estoy haciendo mal,la primera vez cuando segui tu tutorial al pie de la letra todo funciono y pudo instalar wordpress sin problema pero luego cuando apague el equipo y volvi a encenderlo ya no me funciona el MYSQL,pero si Apache y Proftpd.Muchas Gracias por tu ayuda.Saludos Jose.

    Responder
  3. Rigol dice

    31 de octubre de 2024 a las 20:22

    Gracias capo, muy buena guia!

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acepto la política de privacidad

Barra lateral principal

Autor

Dani Sánchez

logo mastodon @danisanchez

Entradas recientes

  • Iniciar sesión en nuestros VPS mediante SSH Keys
  • Cerrar modales de Elementor con JavaScript (jQuery)
  • Redirección 301 para cambios de dominio
  • Guía rápida de Flexbox
  • Filtro de WooCommerce para personalizar el mensaje de «Gracias por tu pedido»

Comentarios recientes

  1. Brandon Portes en Taller de verano de WooCommerce #1
  2. Sebastian en Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  3. Rigol en Instalar LAMP (Linux, Apache, MySQL y PHP) en Fedora
  4. dani.sanchez en Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  5. rikylinux en Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose

Categorías

  • Actualidad
  • Afiliación AliExpress
  • Agent Press Pro
  • Bettaso Web Restaurantes
  • Cursos
  • Destacado
  • Divi
  • Drupal
  • Elementor
  • Genesis
  • Iniciación a PHP
  • Joomla!
  • Linux
  • Publicaciones
  • Tutoriales
  • WooCommerce
  • WordPress
Medium banner says Support Inkscape
Banner pie de página

Maquetación web, landings, blogs y tiendas online
cuidando hasta el mínimo detalle

Si necesitas que desarrolle tu proyecto web ponte en contacto conmigo.

Contacto
  • Mastodon
  • YouTube
  • LinkedIn

Alojado con energía 100% verde

Dani Sánchez © 2025 · Política de privacidad · Política de cookies