Instalar LAMP y WordPress en Fedora 43
Hola, ¿cómo están? Quiero contarles algo que probablemente les suene familiar si desarrollan sitios con WordPress.
Llevo ya un buen tiempo desarrollando sitios en WordPress (desde el 2017), y hay algo que siempre, siempre, me da dolores de cabeza cada vez que arranco un proyecto nuevo: levantar un entorno de pruebas local. Parece una tontería, pero no tienen idea de la cantidad de horas que he perdido por culpa de detalles tontos que no funcionan como deberían.
He probado de todo. Empecé con XAMPP en todos sus sabores (Linux, Windows y macOS), el que al principio parecía genial… hasta que un día algo dejó de andar y no había forma humana de entender por qué. Pasé por MAMP, (en su versión para macOS), con la esperanza de que fuera más estable. Spoiler: no lo fue. Un día todo funcionaba perfecto, al siguiente, error error, fallas aquí, fallas allá, permisos que no funcionaban correctamente, y yo, sin poder arreglarlo, casi me arrancaba la cabeza.
Luego descubrí LocalWP. La verdad, tiene una interfaz bonita y es bastante fácil de usar. Pero claro, si quieres ver el sitio desde otro dispositivo, tienes que sí o sí registrarte. Y eso ya me molesta. Además, por alguna razón que nunca entendí, las imágenes a veces simplemente no se muestran. Y cuando estás trabajando en algo visual, eso es lo más frustrante del mundo. Te hace sentir que estás perdiendo el tiempo, solo tratando de que algo básico funcione.
Así que un día dije: basta. Me armé mi propio servidor LAMP para tener el control total. Nada de interfaces bonitas que fallan cuando no deberían. Quería algo que simplemente funcione y que no me dé sorpresas raras.
Por eso armé esta guía. Es mi forma de poner orden. La dividí en pasos bien claros, sin vueltas, para que cualquiera (incluyéndome a mí en el futuro) pueda montar su entorno sin sufrir.
En este artículo no voy a meterme aún en la instalación específica de WordPress ni en los permisos —eso lo voy a explicar en la próxima parte—, pero por ahora quiero ayudarte a dejar todo listo para cuando llegue ese momento.
Parafraseando al maestro MoureDev, ¡Comencemos!
Mantén tu Fedora a la última
Antes de cualquier otra cosa, asegúrate de que tu sistema esté al día:
sudo dnf -y update
Esto es como limpiar antes de meter los muebles. ¡Orden primero!
Activa el modo permisivo en SELinux
Esto es importante para poder visualizar WordPress en la red local.
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
Instala Apache
Ahora sí, vamos al grano. Apache será nuestro servidor web, generalmente ya está instalado, al menos ha sido así en todas las veces que lo he probado, pero por si acaso, así se instala:
sudo dnf -y install httpd
Ajusta algunas configuraciones básicas en /etc/httpd/conf/httpd.conf para que tu servidor tenga un nombre.
ServerAdmin admin@example.com
ServerName example.com
ServerTokens Prod
Actívalo y haz que se quede encendido:
sudo systemctl start httpd
sudo systemctl enable httpd
Comprueba si está funcionando, es opcional, pero si luego algo no funciona, es probable que sean por aquí los tiros:
sudo systemctl status httpd
Y abre el paso de http y https a tu servidor por el firewall:
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload
Instala PHP y sus extensiones
Sin PHP, tu web sería como un coche sin motor. Así que, instala lo necesario:
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 php-fpm
Revisa tu versión de PHP, en fedora 42 al día de hoy es la 8.4.8
php -v
Y ajusta la zona horaria en /etc/php.ini:
date.timezone = America/Mexico_City
MariaDB, el motor de tus datos
Con este comando agregamos la Base de Datos de MariaDB.
sudo dnf -y install mariadb-server
Y así lo activamos y también activamos el arranque automático:
sudo systemctl enable mariadb
sudo systemctl start mariadb
Con esto se configura el conjunto de caracteres predeterminado del servidor MariaDB, se hace desde /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
character-set-server=utf8
Agrega seguridad a MariaDB, tú escoge las opciones, sé libre.
sudo mysql_secure_installation
Accede como root:
mysql -u root -p
Y abre paso en el firewall:
sudo firewall-cmd --add-service=mysql --permanent
sudo firewall-cmd --reload
¿Quieres permitir acceso solo desde tu red de confianza? Hazlo así:
sudo firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" service name="mysql" source address="10.1.1.0/24" accept'
Verifica que todo esté bien
Crea un archivo PHP para probar:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
Reinicia Apache:
sudo systemctl restart httpd
Y comprueba en tu navegador:
http://localhost/info.php
Instala PHPMyAdmin para más comodidad
Si quieres gestionar tus bases de datos desde el navegador:
sudo dnf -y install phpmyadmin
sudo systemctl restart httpd
Y accede a:
http://localhost/phpmyadmin
Conclusión
¡Listo! Ahora tienes tu propio servidor LAMP corriendo en Fedora, listo para lo que se te ocurra: proyectos, pruebas o simplemente para lucirte. No fue tan complicado como parecía.
¡Mucho éxito con tu nuevo entorno, y que no falten las buenas ideas!
Nos vemos pronto para instalar WordPress y hacerlo funcionar sin problemas.
Bonus: Cómo instalar WordPress y dejarlo funcionando sin dolores de cabeza
Ahora que tu servidor LAMP ya está listo, viene la parte emocionante: poner WordPress en marcha.
Aquí te dejo una guía directa y sin vueltas para que puedas mover tu instalación a /var/www/html, configurar permisos correctamente y evitar los típicos errores de rutas o archivos que no cargan en la red local.
Descarga WordPress y colócalo en tu carpeta pública
Primero mueve tu proyecto (o la carpeta recién descargada de WordPress) a la ruta donde Apache sirve los sitios:
sudo cp -r ~/Descargas/misitio /var/www/html/misitio
Puedes cambiar
misitiopor el nombre real del proyecto.
Establece el propietario correcto (muy importante)
Apache en Fedora usa el usuario y grupo apache. Si no asignas esto, WordPress no podrá crear archivos, subir imágenes o modificar configuraciones.
sudo chown -R apache:apache /var/www/html/misitio
Ajusta los permisos recomendados
Estos permisos siguen las buenas prácticas de seguridad para WordPress:
- Carpetas → 755
- Archivos → 644
sudo find /var/www/html/misitio -type d -exec chmod 755 {} \;
sudo find /var/www/html/misitio -type f -exec chmod 644 {} \;
(Opcional) Permisos amplios sólo para desarrollo del tema
Si estás desarrollando un tema desde cero dentro de wp-content/themes y necesitas modificar archivos rápidamente desde tu editor, puedes dar permisos amplios temporalmente:
sudo chmod -R 777 /var/www/html/misitio/wp-content/themes
Advertencia: No es recomendable dejar 777 en producción.
Sólo úsalo mientras desarrollas y vuelve a 755 cuando ya no lo necesites.
Crea tu base de datos desde PHPMyAdmin
Antes de que WordPress pueda funcionar, necesita un lugar donde guardar todo: entradas, usuarios, ajustes, menús, plugins… absolutamente todo. Ese lugar es la base de datos.
Crea la BD desde el panel de PHPMyAdmin.
Arranca tu instalación de WordPress
Entra a localhost/misitio desde tu navegador y sigue los pasos para lanzar tu sitio WordPress.
Ten anotados estos datos porque los vas a necesitar en la pantalla de instalación:
- Nombre de la base de datos:
misitio_db - Usuario de la BD:
wp_user(o el que hayas elegido) - Contraseña: la que asignaste
- Servidor de la BD:
localhost
Con esto ya podrás avanzar sin problemas y completar la instalación.
Configurar WordPress para funcionar en la red local
Cuando accedes a tu sitio desde otra computadora o dispositivo, WordPress necesita saber la URL correcta del servidor.
Si no lo haces, verás errores como:
- CSS y JS que no cargan
- Imágenes rotas
- Redirecciones raras hacia
localhost
Para solucionarlo, actualiza siteurl y home según la IP local de tu equipo (cámbiala por la tuya):
- Entra a PHPMyAdmin:
http://localhost/phpmyadmin - Selecciona tu base de datos.
- Ejecuta esto en SQL:
UPDATE wp_options
SET option_value = 'http://192.168.0.1/misitio'
WHERE option_name IN ('siteurl', 'home');
¡Y listo! WordPress ya sabrá como enrutar esos archivos.
Verifica que todo funcione
Abre en tu navegador:
http://192.168.0.1/misitio
Si todo está bien, verás el instalador de WordPress o tu sitio funcionando sin fallos de rutas, permisos o archivos que no cargan.
Conclusión del Bonus
Con este último paso, ya tienes:
✔ WordPress instalado
✔ Permisos seguros (y flexibles si estás desarrollando temas)
✔ Acceso desde cualquier dispositivo en tu red local
✔ Un entorno sin los típicos errores de “no carga el CSS” o “Apache no me deja escribir archivos”
Tu servidor Fedora ahora está listo para trabajar