Servidor LAMP · 6 min read · Feb 02, 2026
Tutorial de Servidor LAMP en Debian 9 con Apache, PHP 7 y MariaDB
LAMP es la abreviatura de Linux, Apache, MySQL, PHP. Este tutorial muestra cómo puedes instalar un servidor web Apache en un servidor Debian Stretch (9) con soporte para PHP 7 (mod_php) y MariaDB. MariaDB es un fork del conocido servidor de bases de datos MySQL, proporciona un conjunto de características compatible con MySQL y es un poco más rápido según los benchmarks que encontré en internet. MariaDB funcionará con todas las aplicaciones que requieren MySQL como Wordpress, Joomla, etc.
Una configuración LAMP es una base perfecta para sistemas CMS como Joomla, Wordpress o Drupal.
1 Nota Preliminar
En este tutorial, utilizo el nombre de host server1.example.com con la dirección IP 192.168.1.100. Estas configuraciones pueden diferir para ti, así que debes reemplazarlas donde sea apropiado.
2 Instalando MariaDB como reemplazo de MySQL
Primero, instalamos MariaDB de la siguiente manera:
apt-get -y install mariadb-server mariadb-clientA continuación, aseguraremos MariaDB con el comando mysql_secure_installation. Ejecuta el siguiente comando y sigue el asistente.
mysql_secure_installationLa entrada recomendada se muestra en rojo.
mysql_secure_installationNOTA: ¡SE RECOMIENDA EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT PARA TODOS LOS SERVIDORES MariaDB EN USO DE PRODUCCIÓN! ¡LEE CADA PASO CUIDADOSAMENTE!Para iniciar sesión en MariaDB y asegurarla, necesitaremos la contraseña actual del usuario root. Si acabas de instalar MariaDB, y no has configurado la contraseña de root aún, la contraseña estará en blanco, así que solo debes presionar enter aquí.Introduce la contraseña actual para root (presiona enter si no hay): <-- Presiona enter
OK, contraseña utilizada correctamente, continuando...Configurar la contraseña de root asegura que nadie pueda iniciar sesión en el usuario root de MariaDB sin la autorización adecuada.¿Establecer contraseña de root? [Y/n] <-- y
Nueva contraseña: <-- Introduce la nueva contraseña para el usuario root de MariaDB
Reingresa la nueva contraseña: <-- Introduce la contraseña nuevamente
¡Contraseña actualizada con éxito!
Recargando tablas de privilegios..
... ¡Éxito!Por defecto, una instalación de MariaDB tiene un usuario anónimo, permitiendo que cualquiera inicie sesión en MariaDB sin tener que tener una cuenta de usuario creada para ellos. Esto está destinado solo para pruebas, y para hacer que la instalación sea un poco más fluida. Debes eliminarlos antes de pasar a un entorno de producción.¿Eliminar usuarios anónimos? [Y/n] <-- y
... ¡Éxito!Normalmente, solo se debería permitir que root se conecte desde 'localhost'. Esto asegura que alguien no pueda adivinar la contraseña de root desde la red.¿Deshabilitar el inicio de sesión remoto de root? [Y/n] <-- y
... ¡Éxito!Por defecto, MariaDB viene con una base de datos llamada 'test' a la que cualquiera puede acceder. Esto también está destinado solo para pruebas, y debe ser eliminado antes de pasar a un entorno de producción.¿Eliminar la base de datos de prueba y el acceso a ella? [Y/n] <-- y
- Eliminando base de datos de prueba...
... ¡Éxito!
- Eliminando privilegios sobre la base de datos de prueba...
... ¡Éxito!Recargar las tablas de privilegios asegurará que todos los cambios realizados hasta ahora surtan efecto de inmediato.¿Recargar tablas de privilegios ahora? [Y/n] <-- y
... ¡Éxito!Limpiando...¡Todo listo! Si has completado todos los pasos anteriores, tu instalación de MariaDB ahora debería estar segura.¡Gracias por usar MariaDB!La configuración de MariaDB ahora está asegurada.
3 Instalando el servidor web Apache
Apache está disponible como un paquete de Debian, por lo tanto, podemos instalarlo de la siguiente manera:
apt-get -y install apache2Ahora dirige tu navegador a http://192.168.1.100, y deberías ver la página de marcador de posición de Apache2 (¡Funciona!):

La raíz del documento predeterminada de Apache es /var/www en Debian, y el archivo de configuración es /etc/apache2/apache2.conf. Las configuraciones adicionales se almacenan en subdirectorios del directorio /etc/apache2 como /etc/apache2/mods-enabled (para módulos de Apache), /etc/apache2/sites-enabled (para hosts virtuales), y /etc/apache2/conf-enabled.
4 Instalando PHP 7.1
Podemos instalar PHP y el módulo PHP de Apache de la siguiente manera:
apt-get -y install php7.0 libapache2-mod-php7.0Debemos reiniciar Apache después:
service apache2 restart5 Probando PHP / Obteniendo detalles sobre tu instalación de PHP
La raíz del documento del sitio web predeterminado es /var/www/html. Ahora crearemos un pequeño archivo PHP (info.php) en ese directorio y lo llamaremos en un navegador. El archivo mostrará muchos detalles útiles sobre nuestra instalación de PHP, como la versión de PHP instalada.
nano /var/www/html/info.phpAhora llamamos a ese archivo en un navegador (por ejemplo, http://192.168.1.100/info.php):

Como puedes ver, PHP 7.0 está funcionando, y está funcionando a través del Manejador de Apache 2.0, como se muestra en la línea de API del Servidor. Si desplazas hacia abajo, verás todos los módulos que ya están habilitados en PHP5. MySQL / MariaDB no está listado allí lo que significa que aún no tenemos soporte para MySQL en PHP5.
6 Obteniendo soporte para MySQL y MariaDB en PHP
Para obtener soporte para MySQL en PHP, instalaremos el paquete php7.0-mysql. Es una buena idea instalar algunos otros módulos de PHP también, ya que podrías necesitarlos para tus aplicaciones. Puedes buscar módulos PHP 7 disponibles de la siguiente manera:
apt-cache search php7.0Elige los que necesites e instálalos de la siguiente manera:
apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xslAhora reinicia Apache:
service apache2 restart7 Caché de PHP para mejorar la velocidad de PHP
Para acelerar PHP, se debe instalar un Opcache. Verifica si el módulo Opcache de PHP ha sido instalado y habilitado correctamente. Ejecuta este comando:
php --versionLa salida debe contener la línea que marqué en rojo.
PHP 7.0.27-0+deb9u1 (cli) (built: Jan 5 2018 13:51:52) (NTS)
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.27-0+deb9u1, Copyright (c) 1999-2017, by Zend TechnologiesSi no ves el módulo Opcache en el resultado, instálalo con este comando:
apt-get -y install php7.0-opcacheHay una caché más que podría ser útil, su nombre es APCu. APCu es un caché de opcodes PHP gratuito para almacenar en caché y optimizar el código intermedio de PHP.
APCu se puede instalar de la siguiente manera:
apt-get -y install php-apcuAhora reinicia Apache:
service apache2 restartAhora recarga http://192.168.1.100/info.php en tu navegador y desplázate hacia abajo a la sección de módulos nuevamente. Ahora deberías encontrar muchos nuevos módulos allí, incluido el módulo MySQL que se utiliza como controlador de MariaDB:

8 phpMyAdmin
phpMyAdmin es una interfaz web a través de la cual puedes gestionar tus bases de datos MySQL y MariaDB. Es una buena idea instalarlo:
apt-get -y install phpmyadminVerás las siguientes preguntas:

Servidor web para reconfigurar automáticamente: <-- apache2¿Configurar la base de datos para phpmyadmin con dbconfig-common? <-- SíContraseña de aplicación MySQL para phpmyadmin: <-- Presiona enter, apt creará una contraseña aleatoria automáticamente.Después, puedes acceder a phpMyAdmin en http://192.168.1.100/phpmyadmin/:

9 Habilitar inicio de sesión root de MySQL para phpMyAdmin
Mientras puedes iniciar sesión como usuario root en MariaDB en la shell, el inicio de sesión root no funcionará en phpMyAdmin. Para permitir que el usuario root use phpMyAdmin también, ejecuta el siguiente comando en la shell:
echo "UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';FLUSH PRIVILEGES;" | mysql -u root -p10 Enlaces
- Apache: http://httpd.apache.org/
- PHP: http://www.php.net/
- MySQL: http://www.mysql.com/
- Debian: http://www.debian.org/
- phpMyAdmin: http://www.phpmyadmin.net/
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.