• 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 y phpMyAdmin en MX Linux 19

Instalar LAMP y phpMyAdmin en MX Linux 19

El 8 de enero de 2020 por dani.sanchez

Hace unos días publicábamos un post sobre la instalación del conjunto de herramientas para servidor web LAMP (Linux, Apache, MySQL, PHP) en distribuciones Ubuntu y derivadas.

En este artículo veremos cómo hacerlo en una distro muy especial, que ha conseguido en los últimos meses una gran popularidad manteniéndose en el primer puesto en Distrowatch con diferencia, MX Linux.

Además, phpMyAdmin no se encuentra en los repositorios oficiales de Debian, por lo que la instalación y configuración debe hacerse manualmente.

Artículo disponible en vídeo

Empezamos…

Paso 1. Instalar Apache

sudo apt install apache2

Comandos básicos para Apache

sudo service apache2 start
sudo service apache2 restart
sudo service apache2 reload
sudo service apache2 stop

Una vez instalado e iniciado (normalmente se inicia junto al sistema), comprobar en la dirección http://localhost/ del navegador:

Paso 2. Instalar MariaDB

sudo apt install mariadb-server
sudo apt install mariadb-client

Comandos básicos para MariaDB

sudo service mysql start
sudo service mysql restart
sudo service mysql stop
sudo service mysql status

Securizar la instalación de MySQL

sudo mysql_secure_installation

Nos preguntará si queremos cambiar la constraseña de root, en caso afirmativo, introducirla 2 veces.

Iniciar consola MySQL

sudo mysql -u root -p

Crear usuario de MySQL

Dentro del prompt de MySQL ejecutar la orden:

CREATE USER nombre_usuario IDENTIFIED BY 'clave_usuario';

Crear nueva base de datos

CREATE DATABASE nombre_bbdd;

Asignar usuario MySQL con privilegios a una base de datos

GRANT ALL PRIVILEGES ON nombre_bbdd.* TO nombre_usuario;
FLUSH PRIVILEGES;

Paso 3. Instalar PHP

Estos comandos pueden variar dependiendo de la versión de PHP disponible en los respositorios (7.2, 7.3, 7.4…)

sudo apt install php7.3 php7.3-fpm php7.3-gd php7.3-curl php7.3-mysql libapache2-mod-php7.3

sudo service apache2 restart

Comprobar si PHP se ha instalado correctamente

Creamos un archivo info.php con el editor nano dentro del directorio de proyectos de Apache (var/www/html)
sudo nano /var/www/html/info.php

Escribimos:

<?php echo phpinfo(); ?>

Guardamos con Ctrl+O y salimos con Ctrl+X

En el navegador nos dirigimos a http://localhost/info.php donde debe aparecer una pantalla similar a:

Paso 4. Configuraciones óptimas para WordPress (y otros CMS)

Activar el módulo REWRITE

Imprescindible para que funcionen los enlaces permanentes (slugs) de WordPress.

sudo a2enmod rewrite
sudo service apache2 restart

Editar el archivo de configuración con nano:

sudo nano /etc/apache2/sites-available/000-default.conf

Sobre la parte final del archivo, incluir:

<Directory "/var/www/html">
    AllowOverride All
</Directory>
sudo service apache2 restart

Ajustes óptimos en el archivo php.ini

Abrimos el archivo con nano:

sudo nano /etc/php/7.3/apache2/php.ini

Cambiamos los valores de los siguientes 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

Paso 5. Instalar phpMyAdmin

Instalar los siguientes complementos de PHP (siempre sustituyendo el número de versión de PHP por el disponible en los repositorios):

sudo apt install php-imagick php-phpseclib php-gettext php7.3-imap php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl 

sudo service apache2 restart

Descarga la última versión estable de phpMyAdmin

https://www.phpmyadmin.net/downloads/

Podemos descargar directamente desde el terminal (asegúrate de cambiar el número de versión si es distinto).

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.3/phpMyAdmin-4.9.3-all-languages.zip

Descomprimir con unzip (si no lo tenemos instalado ejecutamos antes)

sudo apt install unzip
unzip phpMyAdmin-4.9.3-all-languages.zip

Mover el directorio descomprimido a /usr/share/phpmyadmin

sudo mv phpMyAdmin-4.9.3-all-languages /usr/share/phpmyadmin

Hacer que el usuario del servidor web (www-data) sea propietario del directorio:

sudo chown -R www-data:www-data /usr/share/phpmyadmin

Crear la base de datos de phpMyAdmin y asignarla a nuestro usuario

sudo mysql -u root -p
CREATE DATABASE phpmyadmin;
GRANT ALL PRIVILEGES ON phpmyadmin.* TO nombre_usuario;
FLUSH PRIVILEGES;

Crear el archivo de configuración de phpMyAdmin para Apache

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Insertar el código:

# phpMyAdmin default Apache configuration

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    <IfModule mod_php5.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>

</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>

Fuente del código:

https://www.linuxbabe.com/debian/install-phpmyadmin-apache-lamp-debian-10-buster

Habilitar el snippet para la configuración:

sudo a2enconf phpmyadmin.conf

Crear el directorio temporal de phpMyAdmin

sudo mkdir -p /var/lib/phpmyadmin/tmp

Hacer que el usuario del servidor web (www-data) sea propietario del directorio:

sudo chown www-data:www-data /var/lib/phpmyadmin/tmp
sudo service apache2 reload

Iniciar phpMyAdmin en la ruta http://localhost/phpmyadmin

Si tienes algún problema, no dudes en dejarlo en los comentarios. Espero que te haya servido el artículo y disfrutes de tu MX Linux.

Publicado en: Linux, Publicaciones, Tutoriales Etiquetado como: apache, lamp, linux, mx linux, 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. Cacho dice

    15 de junio de 2020 a las 16:39

    Buenas, me ha sido de muchisima utilidad el articulo, Muchas Gracias, todo esta funcionando muy bien, salvo por un detalle: no puedo loguearme como root en phpmyadmin, si por linea de comandos. CUal sera el problema? Saludos

    • Daniel, Gestionatuweb.net dice

      15 de junio de 2020 a las 18:09

      Hola, creo que se debe a que phpMyAdmin, como aplicación no tiene permisos para ejecutar tareas de root. Seguramente habrá algún modo de darle permisos de root. Yo lo que hago es crear las bases de datos directamente desde el terminal y asignarle todos los privilegios a mi usuario de mysql.

      • Cacho dice

        16 de junio de 2020 a las 02:28

        Buenas Daniel, gracias por responder, te comento que luego de escribir la pregunta, encontre en otro articulo la siguiente solucion. El autor decia

        »Básicamente lo que pasa, es que tu usuario «root» en la BB.DD MySQL no tiene password, y tienes que ponerle uno, así que abres una consola de Linux y escribes (como root)»

        $ mysqladmin -u root password rootpassword

        Debo decir que yo si habia seteado el password de root en el script mysql_secure_installation, pero aun asi no me funcionaba. Volviendo a setear el password de esta manera pude acceder a phpmyadmin como root.

        Saludos 🙂

        • Daniel, Gestionatuweb.net dice

          16 de junio de 2020 a las 08:19

          Pues perfecto entonces. A mí también me extrañó que configurando mysql_secure_installation no aceptase el acceso como root. Puede que se trate del acceso root del sistema al gestor MySQL, y no al usuario root de MySQL en sí.

          Gracias por el aporte!

  2. Hernan dice

    25 de agosto de 2020 a las 10:00

    simplemente agradecerte por este tutorial es muy completo y sin dudas funciona, he instalado todo en minutos y a corrido como la seda, una vez mas gracias, todos los exitos

  3. Mayorcito dice

    3 de noviembre de 2020 a las 05:05

    Hola, cuando quiero ingresar a loclahost/phpmyadmin, sale un mensaje: 403 forbidden, you don’t have permission to acces to this resource.

    • dani dice

      3 de noviembre de 2020 a las 07:15

      Revisa que no te hayas saltado algún paso. Lo he instalado muchas veces siguiendo punto por punto y nunca me ha dado ningún problema.

  4. william maffiold dice

    11 de enero de 2021 a las 19:45

    excelente explicación, todo bien sin ningún problema.

  5. Alex dice

    10 de marzo de 2021 a las 10:52

    excelente articulo, me sirvio mucho, muchas gracias por compartir.

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