Ejecuta un Apache Web Server básico

Una instancia de máquina virtual en Google Compute Engine se puede controlar como cualquier servidor estándar de Linux. Implementa un Apache Web Server simple para aprender conceptos básicos sobre cómo ejecutar un servidor en una instancia de máquina virtual.

Requisitos

Para crear una instancia de Linux que permita el tráfico HTTP, haz lo siguiente:

  1. Sigue las instrucciones de la guía de inicio rápido para crear una nueva instancia de Linux.

  2. De forma opcional, cuando sigues la guía de inicio rápido a fin de crear una instancia de Linux nueva, puedes permitir el tráfico HTTP, lo que abre el puerto tcp:80 para el tráfico. Sin embargo, si deseas abrir un puerto diferente, configura el firewall y, luego, configura Apache para que se use el firewall.

  3. Conéctate a la instancia nueva de Linux. Para obtener más información, consulta Conéctate a tu instancia.

Instala Apache

  1. Usa el administrador de paquetes de Debian para instalar el paquete apache2.

    sudo apt update && sudo apt -y install apache2
    

    Después de instalar Apache, el sistema operativo inicia el servidor Apache de forma automática.

  2. Reemplaza la página web predeterminada de Apache Web Server por el siguiente comando:

    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
    

Prueba tu servidor

Verifica que tu instancia entregue tráfico en su IP externa.

  1. Ve a la página Instancias de VM en Google Cloud Console.

    Ir a la página Instancias de VM

  2. Haz clic en la IP externa de tu instancia en la columna de IP externa.
  3. En el navegador, ve a http://[EXTERNAL_IP]. No te conectes con https, ya que el servidor mostrará un error Connection Refused.

Deberías ver la página de “Hello World!”.

Limpia

Cuando termines de experimentar, sigue las instrucciones de limpieza en la guía de inicio rápido para evitar incurrir en cargos por la instancia de máquina virtual.

Solución de problemas

Cuando recibes un error Connection Refused

Si te aparece un error Connection Refused, es posible que se den estas situaciones:

  • Tu instancia de VM no es accesible a nivel público porque la configuración de tus etiquetas o reglas de firewall tiene alguno de los errores siguientes:

    • La instancia de VM no tiene la etiqueta correspondiente que permite que Compute Engine aplique las reglas de firewall adecuadas a tu instancia.
    • Tu proyecto no tiene una regla de firewall que permita dirigir el tráfico a la dirección IP externa de tu instancia.
  • Intentas acceder a la VM mediante una dirección https. Verifica que la URL sea http://[EXTERNAL_IP] y no https://[EXTERNAL_IP].

Para asegurarte de que la instancia de VM tenga las etiquetas correctas, sigue estos pasos:

  1. Ve a la página Instancias de VM en Google Cloud Console.

    Ir a la página Instancias de VM

  2. Haz clic en el nombre de la instancia a la que intentas conectarte.
  3. Haz clic en Editar, en la parte superior de la página.
  4. Desplázate hasta Firewalls y asegúrate de que la casilla Permitir tráfico HTTP esté marcada. Si no lo está, márcala.
  5. Guarda los cambios. Esto garantiza que se agreguen las etiquetas correctas a la instancia de VM.

Para asegurarte de que exista la regla de firewall correcta, sigue estos pasos:

  1. Ve a la página Firewall en Google Cloud Console.

    Ir a la página Firewall

  2. Busca una regla de firewall que permita todos los rangos de IP a través de tcp:80. Por lo general, esta regla se llama default-allow-http.
  3. Si no existe la regla, créala.
    1. Haz clic en Crear regla de firewall.
    2. Ingresa un nombre para la regla, como default-allow-http.
    3. En Rangos de IP de origen, ingresa 0.0.0.0/0 para permitir el tráfico desde todas las fuentes.
    4. En Protocolos y puertos, marca la opción Protocolos y puertos especificados y, luego, ingresa tcp:80.
    5. Crea tu regla de firewall.

Dirígete a la dirección IP externa de la instancia para probar tu servidor de nuevo:

http://[EXTERNAL_IP]

Próximos pasos

Obtén más información sobre cómo alojar un sitio web en Google Compute Engine.