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

Dani Sánchez - Gestionatuweb

Desarrollador web freelance

  • Quién soy
  • ¿Eres agencia?
  • WordPress
    • Mantenimiento WordPress
    • Desarrollo WordPress
    • Soporte técnico WordPress
  • Cursos
  • Blog
  • Portfolio
  • Solicita Presupuesto

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

El 28 de octubre de 2021 por dani 1 comentario

Advertencia: Esta entrada contiene códigos o snippets que podrían no funcionar correctamente en tu instalación de WordPress, o podrían ser incompatibles con tu theme o plugins activos. Úsalos bajo tu responsabilidad, preferiblemente en un entorno de desarrollo y haz siempre copias de tus archivos antes de modificarlos.

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 /etc/var/www/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 😉

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

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

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

Hosting recomendado

Raiola Networks

Autor

Dani Sánchez
Dani Sánchez
@danisanchez82

Entradas recientes

  • Optimizar el archivo de configuración de WordPress (wp-config.php)
  • ¿Qué plugins tengo instalados en mi web en 2022?
  • Tu alojamiento web no es compatible con la rotación de imágenes. [Solución]
  • Instalar LAMP en Manjaro (Linux, Apache, MySQL y PHP)
  • Instalar LAMP (Linux, Apache, MySQL y PHP) en Fedora 34

Comentarios recientes

  1. dani en Publicar en WordPress desde un formulario externo con Advanced Custom Fields
  2. Mikel en Publicar en WordPress desde un formulario externo con Advanced Custom Fields
  3. Armando en Instalar LAMP (Linux, Apache, MySQL y PHP) en Fedora 34
  4. Vito en Configurar en español los campos tipo fecha (date) en Ninja Forms
  5. Manel en Calcular rutas con OpenStreetMap partiendo de la geolocalización del usuario

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

Divi 20% descuento

Hosting Recomendado

Raiola Networks
Banner

Sitios web corporativos, blogs y tiendas online cuidando hasta el mínimo detalle

Si deseas proponerme un proyecto web ponte en contacto conmigo.

Contacto

Gestionatuweb © 2022 · Desarrollado con Genesis · Acceder
Política de privacidad · Política de cookies

En Gestionatuweb.net utilizamos cookies técnicas para el correcto funcionamiento del sitio. Además, utilizamos cookies para obtener datos estadísticos sobre el uso de la web, con el fin de mejorar la experiencia de navegación y conocer qué contenidos son los más consultados. Otras cookies son usadas para servicios adicionales, como conexión con redes sociales, marketing o mostrar publicidad acorde a tus gustos. Puedes desactivar todas las cookies (excepto las técnicas) pulsando en Rechazar, o elegir qué cookies admites y cuales no en el botón de Preferencias. Más información sobre las cookies que utilizamos en nuestra: Política de cookies.

Gestor de cookies:  GDPR Cookie Compliance
Resumen de uso de cookies

En Gestionatuweb.net utilizamos cookies técnicas para el correcto funcionamiento del sitio. Además, utilizamos cookies para obtener datos estadísticos sobre el uso de la web, con el fin de mejorar la experiencia de navegación y conocer qué contenidos son los más consultados. Otras cookies son usadas para servicios adicionales, como conexión con redes sociales, marketing o mostrar publicidad acorde con tus intereses. Puedes desactivar todas las cookies (excepto las técnicas) pulsando en Rechazar, o elegir qué cookies admites y cuales no en el botón de Preferencias.

Cookies técnicas (necesarias)

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies. Estas cookies son:

  • moove_gdpr_popup: Comprueba si debe mostrar o no el aviso de cookies (si ya ha sido aceptado o rechazado no se vuelve a mostrar mientras persista esta cookie). Expira en 1 año.
  • cpnb_cookiesSettings: Comprueba qué categorías de cookies se aceptan o rechazan (por ejemplo, cookies analíticas, cookies de publicidad dirigida, etc.). Expira en 1 año.
  • _GRECAPTCHA: Esta web utiliza el servicio reCAPTCHA para fortalecer la seguridad en los formularios y evitar el envío masivo de SPAM. reCAPTCHA utiliza esta cookie necesaria para realizar su análisis de riesgo. Expira en 6 meses.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de analítica

Utilizamos Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares. Dejando estas cookies activas nos permite mejorar nuestra web.

  • _ga: Analítica de Google. Se usa para distinguir a los usuarios. Expira en 2 años.
  • _gid: Se usa para distinguir a los usuarios. Expira en 24 horas.
  • _gat: Se usa para limitar el porcentaje de solicitudes. Expira en 1 minuto.

¡Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias!

Cookies de publicidad

Utilizamos Google Adsense para mostrar publicidad en los artículos del blog acordes a tus intereses. Esta publicidad nos ayuda al mantenimiento del sitio web y del tiempo dedicado a la redacción del blog.

  • _gads: Publicidad de Google Adsense. Proporciona la publicación de anuncios de interés para el usuario. Expira en 13 meses.

¡Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias!

Política de cookies

Más información sobre nuestra política de cookies