mayo 3

Cómo instalar phpMyAdmin en Ubuntu: Guía completa

phpMyAdmin es una de las herramientas más populares para gestionar bases de datos MySQL y MariaDB a través de una interfaz web. Si tienes un servidor LAMP o LEMP, phpMyAdmin te permite crear, modificar y eliminar bases de datos, tablas y registros sin necesidad de escribir comandos SQL. En esta guía te explico cómo instalarlo y configurarlo de forma segura en Ubuntu.

¿Qué es phpMyAdmin?

phpMyAdmin es una aplicación web de código abierto escrita en PHP que proporciona una interfaz gráfica para administrar servidores MySQL, MariaDB y Drizzle. Es la herramienta estándar en la mayoría de los hosting compartidos y es esencial para desarrolladores que trabajan con bases de datos.

Requisitos previos

  • Un servidor con Ubuntu 20.04, 22.04 o 24.04
  • Apache instalado y funcionando
  • MySQL o MariaDB instalado
  • PHP instalado con los módulos necesarios
  • Acceso root o sudo

Paso 1: Instalar phpMyAdmin

sudo apt update
sudo apt install phpmyadmin -y

Durante la instalación, el asistente te preguntará:

  • ¿Qué servidor web configurar? Selecciona apache2 con la barra espaciadora y pulsa Enter
  • ¿Configurar base de datos con dbconfig-common? Selecciona
  • Contraseña de aplicación MySQL: Introduce una contraseña segura

Paso 2: Configurar Apache

Si el asistente no configura Apache automáticamente, hazlo manualmente:

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

O crea un VirtualHost dedicado:

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

Añade:

<VirtualHost *:80>
    ServerName phpmyadmin.tudominio.com
    DocumentRoot /usr/share/phpmyadmin
    ErrorLog ${APACHE_LOG_DIR}/phpmyadmin_error.log
    CustomLog ${APACHE_LOG_DIR}/phpmyadmin_access.log combined
</VirtualHost>

Activa el sitio:

sudo a2ensite phpmyadmin.conf
sudo systemctl reload apache2

Paso 3: Configurar acceso

Por defecto, phpMyAdmin solo permite acceso desde localhost. Para permitir acceso desde otras IPs:

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

Busca las líneas Require ip 127.0.0.1 y Require ip ::1 y añade tu IP:

Require ip 127.0.0.1
Require ip ::1
Require ip 192.168.1.0/24

Paso 4: Crear un usuario MySQL dedicado

Por seguridad, no uses el usuario root de MySQL con phpMyAdmin. Crea un usuario específico:

sudo mysql -u root -p

Dentro de MySQL:

CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'contraseña_segura';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Seguridad de phpMyAdmin

phpMyAdmin es un objetivo común de ataques. Sigue estas recomendaciones:

  • Usa HTTPS con un certificado SSL de Let's Encrypt
  • Cambia la URL por defecto de /phpmyadmin a algo personalizado
  • Configura autentecación adicional con .htaccess
  • Restringe el acceso por IP en la configuración de Apache
  • Actualiza regularmente a la última versión
  • Deshabilita el login root desde phpMyAdmin

Conclusión

phpMyAdmin es una herramienta indispensable para gestionar bases de datos MySQL/MariaDB. Con esta guía tienes un phpMyAdmin instalado, configurado y seguro en tu servidor Ubuntu. Recuerda siempre seguir las buenas prácticas de seguridad y mantener todo actualizado.

Categoría: Bases de Datos, Inteligencia Artificial, Linux, Servidores Web | Comentarios desactivados en Cómo instalar phpMyAdmin en Ubuntu: Guía completa
mayo 2

Instalar LAMP Stack en Ubuntu: Apache, MySQL y PHP

La pila LAMP es una de las configuraciones de servidor web más populares del mundo. Sus siglas representan Linux, Apache, MySQL y PHP. Es la base que impulsa millones de sitios web, desde blogs personales hasta aplicaciones empresariales. En esta guía completa te explico cómo instalar y configurar cada componente paso a paso en Ubuntu.

¿Qué es exactamente LAMP?

LAMP es un acrónimo que describe una pila de software de código abierto para servidores web:

  • Linux — El sistema operativo (Ubuntu, Debian, CentOS, etc.)
  • Apache — El servidor web que sirve las páginas HTTP
  • MySQL/MariaDB — El sistema de gestión de bases de datos
  • PHP — El lenguaje de programación del lado del servidor

Juntos, estos cuatro componentes crean un entorno completo para ejecutar aplicaciones web dinámicas como WordPress, Joomla, Drupal, Laravel y muchas más.

Requisitos previos

  • Un servidor o máquina virtual con Ubuntu 20.04, 22.04 o 24.04
  • Acceso root o un usuario con privilegios sudo
  • Conexión a Internet
  • Al menos 512MB de RAM (1GB recomendado)

Paso 1: Actualizar el sistema

Antes de instalar cualquier paquete, actualiza los repositorios y el software existente:

sudo apt update
sudo apt upgrade -y

Paso 2: Instalar Apache

Apache es el servidor web más utilizado del mundo. Para instalarlo:

sudo apt install apache2 -y

Después de la instalación, Apache se inicia automáticamente. Verifica que está funcionando:

sudo systemctl status apache2

Deberías ver active (running). También puedes abrir un navegador y visitar http://tu-ip-del-servidor para ver la página de bienvenida de Apache.

Configurar el firewall

Si tienes UFW activado, permite el tráfico HTTP y HTTPS:

sudo ufw allow 'Apache Full'
sudo ufw status

Paso 3: Instalar MySQL

MySQL es un sistema de gestión de bases de datos relacional. Para instalarlo:

sudo apt install mysql-server -y

Después de la instalación, ejecuta el script de seguridad:

sudo mysql_secure_installation

Este script te guiará para:

  • Establecer una contraseña para el usuario root de MySQL
  • Eliminar usuarios anónimos
  • Deshabilitar el login remoto de root
  • Eliminar la base de datos de prueba

Responde Y (sí) a todas las preguntas para una configuración segura.

Verificar MySQL

sudo systemctl status mysql

Paso 4: Instalar PHP

PHP es el lenguaje de programación que procesa el contenido dinámico. Instala PHP junto con los módulos más comunes:

sudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip -y

Cada módulo tiene una función específica:

  • php-mysql — Conexión a bases de datos MySQL
  • php-curl — Peticiones HTTP externas
  • php-gd — Manipulación de imágenes
  • php-mbstring — Cadenas multibyte (UTF-8)
  • php-xml — Procesamiento de XML
  • php-zip — Compresión de archivos

Verificar PHP

Crea un archivo de prueba:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Visita http://tu-ip/info.php en tu navegador. Deberías ver la página de información de PHP. Importante: elimina este archivo después de verificar:

sudo rm /var/www/html/info.php

Paso 5: Probar la pila completa

Crea un script de prueba que conecte a MySQL:

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

Añade este contenido:

<?php
$mysqli = new mysqli("localhost", "root", "tu_contraseña");

if ($mysqli->connect_error) {
    die("Error de conexión: " . $mysqli->connect_error);
}
echo "Conexión exitosa a MySQL!";
$mysqli->close();
?>

Visita http://tu-ip/test_db.php para verificar la conexión. Recuerda eliminarlo después.

Paso 6: Configurar Virtual Hosts

Para alojar múltiples sitios web en un solo servidor, configura Virtual Hosts:

sudo nano /etc/apache2/sites-available/misitio.conf

Añade:

<VirtualHost *:80>
    ServerName misitio.com
    ServerAlias www.misitio.com
    DocumentRoot /var/www/misitio
    ErrorLog ${APACHE_LOG_DIR}/misitio_error.log
    CustomLog ${APACHE_LOG_DIR}/misitio_access.log combined
</VirtualHost>

Activa el sitio y el módulo rewrite:

sudo mkdir -p /var/www/misitio
sudo a2ensite misitio.conf
sudo a2enmod rewrite
sudo systemctl reload apache2

Conclusión

Con estos pasos, tienes un servidor LAMP completamente funcional en Ubuntu. Esta configuración es la base para ejecutar WordPress, aplicaciones Laravel, tiendas PrestaShop, y prácticamente cualquier aplicación web basada en PHP. Recuerda mantener el sistema actualizado y seguir buenas prácticas de seguridad.

Categoría: Bases de Datos, Linux, Seguridad, Servidores Web | Comentarios desactivados en Instalar LAMP Stack en Ubuntu: Apache, MySQL y PHP