↩️ index
Guía 01 - Instalación LAMP con MariaDB 10 Autor
1) Actualiza e instala Apache
sudo apt update
sudo apt -y install apache2
sudo systemctl enable --now apache2
#(Opcional si usas UFW)
sudo ufw allow 'Apache Full'Prueba en el navegador: http://localhost/ o http://<IP>
2) Instala PHP (y extensiones típicas)
sudo apt -y install php libapache2-mod-php php-mysql php-cli php-curl php-xml php-mbstring php-zip php-gd
sudo systemctl restart apache2
php -v
3) Instala MariaDB (10.11 LTS) y asegúrala
sudo apt -y install mariadb-server mariadb-client
sudo systemctl enable --now mariadb
sudo mysql_secure_installationEn mysql_secure_installation acepta endurecer contraseñas, eliminar usuarios anónimos y deshabilitar acceso root remoto.
4) Crea un usuario y una base de datos de pruebas
sudo mariadbDentro de CLI:
CREATE DATABASE prueba CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'dev'@'localhost' IDENTIFIED BY 'TuPassFuerte!';
GRANT ALL PRIVILEGES ON prueba.* TO 'dev'@'localhost';
FLUSH PRIVILEGES;
EXIT;Prueba login:
mysql -u dev -p pruebaTe pedirá la contraseña del usuario de la base de datos que creaste (DB=dev y pass = TuPassFuerte!) y luego estarán dentro de mysql.
Mostrará algo similar a esto:

Para salir de MariaDB (MySQL)
exit;5) Instala phpMyAdmin
sudo apt -y install phpmyadmin- Cuando pregunte por servidor web, marca apache2 (barra espaciadora → asterisco) y OK.
- Si pregunta por dbconfig-common, di Sí y pon una clave para el usuario interno
phpmyadmin.
OJO: En caso de que no se haya habilitado la conf de Apache automáticamente te mostrará una imgen así:

Para solucionar aplica esto:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin
sudo phpenmod mbstring
sudo systemctl reload apache2Abre: http://localhost/phpmyadmin

Entra con dev / TuPassFuerte! (o con el usuario y pass que hayas creado).

6) Archivo PHP de prueba (para verificar PHP y MySQL)
Ir a la ubicación: /var/www/html y crear un archivo “info.php” con esta información
cd /var/www/html
sudo touch info.php
modifica el archivo creado info.php con nano
sudo nano info.phpAquí el código a ingresar a info.php
<?php phpinfo(); ?>
Prueba en el navegador:
http://localhost/info.php(deberías ver phpinfo)

7) Permisos básicos en el DocumentRoot (si vas a desplegar código)
sudo usermod -aG www-data $USER && \
sudo chown -R $USER:www-data /var/www/html && \
find /var/www/html -type d -exec chmod 775 {} \; && \
find /var/www/html -type f -exec chmod 664 {} \;8) Servicios al arranque y estado (sanidad)
systemctl status apache2
systemctl status mariadbNOTA: Por si acaso para salir luego de que les muestre el estatus de apache2 o de mariadb deben salir presionando ctrl+c
9) En caso que exista errores
En el caso de que existan errores mostrando phpmyadmin desde el servidor local (localhost) en el navegador web, podemos revisar el log de error de apache para revisar los detalles e investigar en internet el error, su causa y su solución.
No es recomendable hacer caso a todo lo que dice ChatGPT ya que puede darnos instrucciones contraproducentes.
10) Resultado esperado

11) Comprobación de conexión con la base de datos
dentro de la ruta: /var/www/html/ crea un documento “test_sql.php”
sudo touch test_sql.phpModifica con nano el archivo creado:
sudo nano test_sql.phpAquí lo que debe contener el archivo test_sql.php
<?php
try {
$pdo = new PDO(
'mysql:host=localhost;dbname=prueba;charset=utf8mb4', //Ubicar los datos de su base de datos de mariadb
'dev', //Usuario de base de datos
'Marcelo!', //Contraseña de base de datos
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);
$stmt = $pdo->query("SELECT 'OK LAMP + MariaDB + PHP' AS mensaje");
echo $stmt->fetch(PDO::FETCH_ASSOC)['mensaje'];
} catch (PDOException $e) {
echo "Error de conexión: " . $e->getMessage();
}Recuerda que para que se pueda revisar el documento debes de haber realizado el paso 7 de este manual, si aún no lo ha hecho o si en caso de falla, puede aplicar nuevamente este paso.
http://localhost/test_sql.php
El resultado debería ser una ventana de navegador web con el texto:

OK LAMP + MariaDB + PHP
↩️ index