Como configurar Apache en DreamCompute Corriendo Debian o Ubuntu

Generalidades

Apache es el servidor HTTP más utilizado en Internet y DreamHost lo utiliza como servidor HTTP predeterminado para todos los productos de alojamiento.

Estas instrucciones asumen que has lanzado una instancia que ejecuta Debian o Ubuntu. Consulta el siguiente artículo para obtener instrucciones sobre cómo iniciar una instancia:

Iniciar sesión en tu instancia como usuario por defecto

Inicia sesión en tu nueva instancia usando las Llaves de SSH que has asignaste cuando se creó.

Los siguientes comandos requieren privilegios sudo los cuales están asignados al usuario predeterminado de la instancia automáticamente.

Instalar Apache

Corre los siguientes comandos:

[user@instance]:$ sudo apt-get update
[user@instance]:$ sudo apt-get install -y apache2

Cuando se completa, el servidor HTTP Apache está instalado y se ejecuta con su configuración predeterminada. Si visitas la dirección IP pública de tu instancia en tu buscador, verás la página por defecto de Apache.

El directorio /etc/apache2

Este directorio contiene todos los archivos de configuración de tu servidor Apache. Si editas cualquiera de los archivos encontrarás que muchos incluyen detalles del propósito general en la parte superior.

Archivo /etc/apache2/apache2.conf

Este es el archivo de configuración principal que finalmente controla cómo funciona Apache. Si bien es posible configurar completamente tus sitios y módulos directamente en este archivo, en su lugar se recomienda usar archivos individuales más pequeños para cada uno de tus sitios y módulos para simplificar. Ve el artículo "Agregar un sitio web a DreamCompute" para obtener más instrucciones sobre cómo agregar archivos de configuración del sitio en el directorio/etc/apache2/sites-available.

Esto es posible gracias a la directiva Include para insertar otros archivos en apache2.conf en tiempo de ejecución. Algunos de los valores de interés aquí son:

Timeout

Tiempo en segundos que Apache intenta completar una solicitud. Predeterminado: 300

KeepAlive

Define si se permiten conexiones persistentes, lo que permite más de una solicitud por conexión. Predeterminado: Activado

MaxKeepAliveRequests

Define el número máximo de solicitudes permitidas para cada conexión persistente KeepAlive. Predeterminado: 100

KeepAliveTimeout

Define la cantidad de segundos para esperar otra solicitud antes de finalizar la conexión persistente KeepAlive. Por defecto: 5

Configuración MPM

Debian y Ubuntu tienen diferentes paquetes de Apache que están optimizados para diferentes situaciones. Cada paquete es un tipo diferente de MPM (módulo de multiprocesamiento) y las configuraciones para cada uno se definen cerca del final de este archivo.

Los paquetes disponibles son:

  • mpm-event
  • mpm-prefork
  • mpm-worker

Comprueba qué configuración de MPM está habilitada

Corre el siguiente comando:

[user@instance]:$ apache2ctl -M | grep mpm
 mpm_event_module (shared)

Esto muestra que el módulo de eventos está habilitado. Si lo deseaa, puedes cambiar eso a mpm-prefork con los siguientes comandos.

[user@instance]:$ sudo a2dismod mpm_event
[user@instance]:$ sudo a2enmod mpm_prefork
[user@instance]:$ sudo service apache2 restart

Hosts Virtuales

Los hosts virtuales definen cada sitio para que Apache sepa qué debe hacer cuando recibe una solicitud. Puedes ver todos los archivos de configuración del host virtual en el directorio /etc/apache2/sites-available.

/etc/apache2/sites-available/000-default.conf

El directorio /etc/apache2-sites-available contiene un archivo de configuración predeterminada titulado 000-default.conf. Estos archivos de configuración son responsables de lo siguiente:

  • Definir que debe hacer Apache cuando tiene una solicitud que no coincide con otos hosts virtuales.
  • Si solo esperas tener un sitio en tu instancia de DreamCompute, puedes usar este archivo y ningún otro si lo prefieres.
  • Para aquellos con varios sitios, esto se puede utilizar para indicar al visitante que puede haber hecho algo mal o redirigirlo a otro sitio.

/etc/apache2/sites-available/example.com.conf

Cualquier sitio agregado a tu instancia de DreamCompute tendría su propio archivo de configuración creado. Si tu sitio era example.com, el archivo de configuración se titularía example.com.conf.

  • Para cada sitio que desees configurar, se recomienda que nombre un archivo similar al nombre de tu sitio en el directorio /etc/apache2/sites-available/.
  • Hay muchos ejemplos de hosts virtuales disponibles en la wiki de Apache página de Hosts de ejemplo. A continuación se muestra uno básico para escuchar en el puerto 80 (http) con registro personalizado:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/www.example.com

CustomLog /var/log/apache/www.example.com-access.log combined
ErrorLog /var/log/apache/www.example.com-error.log
</VirtualHost>

Alternativamente, si deseas especificar la IP en lugar de * puedes usar el siguiente comando reemplazando 1.1.1.1 con tu dirección IP real:

<VirtualHost 1.1.1.1:80>

Agregar el código de tu sitio

Ahora que se creó el archivo de configuración, debes agregar el código de tu sitio a la instancia. Lo agregarás en el siguiente directorio:

/var/www/example.com/index.html

Administrar archivos de Virtual Host

Cuando hayas configurado el archivo de host virtual de tu sitio, puedes habilitarlo/deshabilitarlo ingresando los siguientes comandos:

sudo a2ensite — Proporciona una lista de archivos de sitios que puedes habilitar.
[user@instance]:$ sudo a2ensite
sudo a2dissite — Proporciona una lista de archivos de sitios que puedes deshabilitar.
[user@instance]:$ sudo a2dissite
sudo service apache2 reload — Recarga Apache para hacer el cambio en vivo luego de habilitar o deshabilitar un sitio.
[user@instance]:$ sudo service apache2 reload

Este commando crea un enlace simbólico pára los archivos de tu sitio desde /etc/apache2/sites-enabled a su archivo correspondiente en /etc/apache2/sites-available.

Módulos

Los módulos pueden ser habilitados o deshabilitados por los siguientes comandos:

[user@instance]:$ sudo a2enmod <module-name>
[user@instance]:$ sudo a2dismod <module-name>

Si no especificas un nombre de módulo, el comando muestra una lista de módulos disponibles para habilitar o deshabilitar.

Luego de habilitar o deshabilitar un sitio, recarga Apache para hacer un cambio en vivo usando el siguiente comando:

[user@instance]:$ sudo service apache2 reload

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?