Guía Completa: LAMP Stack y Virtual Hosts

Aprende a instalar el entorno LAMP y a configurar múltiples sitios web en un solo servidor.

¿Qué es LAMP Stack?

El stack LAMP es un conjunto de software de código abierto que se utiliza para alojar sitios web dinámicos y aplicaciones web. El acrónimo significa:

Esta guía se centrará en la instalación en un sistema operativo basado en Ubuntu/Debian.

Paso 1: Instalación de LAMP Stack

Abre una terminal en tu servidor y sigue estos pasos:

1. Actualizar los paquetes del sistema

sudo apt update

Esto asegura que estás instalando las versiones más recientes de todos los paquetes.

2. Instalar Apache

sudo apt install apache2 -y

Una vez completada la instalación, puedes verificar que Apache está funcionando visitando la dirección IP de tu servidor en un navegador web. Deberías ver la página por defecto de Apache.

3. Instalar MySQL/MariaDB

sudo apt install mysql-server -y

Para mejorar la seguridad de tu instalación de MySQL, ejecuta el siguiente script:

sudo mysql_secure_installation

Este script te guiará a través de varias preguntas, como establecer una contraseña de root, eliminar usuarios anónimos, deshabilitar el inicio de sesión de root remoto, etc. Es muy recomendable que respondas "Y" a todas las preguntas.

4. Instalar PHP y módulos adicionales

sudo apt install php libapache2-mod-php php-mysql -y

El paquete `php-mysql` es crucial para permitir que PHP se conecte a la base de datos MySQL.

5. Verificar la instalación de PHP

Para asegurarte de que PHP está funcionando correctamente, crea un archivo de prueba en el directorio raíz de Apache:

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

Copia el siguiente código en el archivo, guárdalo (Ctrl+O) y ciérralo (Ctrl+X):

<?php
phpinfo();
?>

Ahora, visita `http://TU_IP_DEL_SERVIDOR/info.php` en tu navegador. Si ves una página con información detallada de PHP, ¡felicidades, la instalación fue exitosa! Por seguridad, una vez que hayas verificado, es una buena práctica eliminar este archivo:

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

Paso 2: Creación de Virtual Hosts

Un Virtual Host permite alojar múltiples sitios web en un único servidor. Aquí te explicamos cómo replicar el proceso para cada uno de tus proyectos.

1. Crear un directorio para tu sitio

Vamos a crear un directorio para tu nuevo sitio. Reemplaza `tudominio.com` con el nombre de tu dominio.

sudo mkdir -p /var/www/tudominio.com/public_html

2. Asignar permisos al directorio

Cambia la propiedad del directorio para que tu usuario pueda trabajar en él.

sudo chown -R $USER:$USER /var/www/tudominio.com/

Asegúrate de que los permisos son correctos.

sudo chmod -R 755 /var/www/tudominio.com/

3. Crear una página de prueba (opcional)

Crea un archivo `index.html` simple para probar la configuración.

sudo nano /var/www/tudominio.com/public_html/index.html

Añade el siguiente código:

<html>
    <head>
        <title>¡Bienvenido a tudominio.com!</title>
    </head>
    <body>
        <h1>¡Éxito! El Virtual Host para tudominio.com está funcionando.</h1>
    </body>
</html>

4. Crear el archivo de configuración del Virtual Host

Copia el archivo de configuración por defecto para crear uno nuevo para tu dominio.

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/tudominio.com.conf

Ahora, edita el nuevo archivo:

sudo nano /etc/apache2/sites-available/tudominio.com.conf

Modifica el contenido para que se vea así:

<VirtualHost *:80>
    ServerName tudominio.com
    ServerAlias www.tudominio.com
    DocumentRoot /var/www/tudominio.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/tudominio.com-error.log
    CustomLog ${APACHE_LOG_DIR}/tudominio.com-access.log combined
</VirtualHost>

5. Habilitar el Virtual Host

Usa la utilidad `a2ensite` para habilitar tu nuevo Virtual Host.

sudo a2ensite tudominio.com.conf

También es una buena práctica deshabilitar el Virtual Host por defecto.

sudo a2dissite 000-default.conf

6. Reiniciar Apache

Aplica los cambios reiniciando el servicio de Apache.

sudo systemctl restart apache2

7. Configurar el archivo hosts (solo para pruebas locales)

Si estás probando esto en tu máquina local, debes modificar el archivo `hosts` para que el dominio `tudominio.com` apunte a tu servidor (o a `127.0.0.1` si es local). En sistemas Linux/Mac, edita `/etc/hosts`; en Windows, edita `C:\Windows\System32\drivers\etc\hosts`.

127.0.0.1 tudominio.com

Ahora, visita `http://tudominio.com` en tu navegador para ver tu página de prueba.