Cómo instalar y configurar el servidor web Apache en Ubuntu / Debian

Cómo instalar y configurar el servidor web Apache en Ubuntu / Debian

Ningún otro paquete de servidor web se acerca a ser tan popular como Apache. Actualmente, se estima que algo más de la mitad de todos los sitios en línea sirven desde un paquete Apache. Ubuntu y Debian son distribuciones populares de Linux para sistemas de servidor, y ambas vienen con paquetes especiales solo para servidor. Esto hace que Apache y Debian o Ubuntu sean una combinación ganadora en la mayoría de configuraciones. Si bien hay muchos otros paquetes de servidor para elegir, Apache es útil debido a la cantidad de rutinas diferentes que son compatibles con él.

2016-11-24_223222

Si bien Debian y Ubuntu crean los paquetes de Apache de la misma manera, esto difiere de algunas otras estructuras de servidor. openSUSE y la mayoría de las distribuciones comerciales de Linux tienen sus propias formas de construirlo. Si está familiarizado con el esquema de administración de paquetes DEB, es posible que ya esté familiarizado con algunas de las técnicas utilizadas para instalar esta popular arquitectura de servidor.



Instalación y configuración de paquetes de Apache

La tecnología de servidor de Ubuntu y Debian a menudo viene sin ningún entorno de escritorio cargado. Lo más probable es que esté trabajando con una interfaz CLI pura de Bash, aunque puede instalar otro intérprete de comandos si lo desea. Para esta discusión, asumiremos que está trabajando desde una consola virtual con una cuenta de usuario. Puede cambiar entre consolas virtuales manteniendo presionada la tecla CTRL y presionando F1-F6. La tecla CTRL + F7 está reservada para un servidor XFree86, que probablemente no tenga en esta configuración.

Empiece por iniciar sesión en su cuenta. Una vez que haya llegado al indicador $, puede comenzar a instalar Apache Web Server. Emita los siguientes comandos seguidos de presionar return:

sudo apt-get update

2016-11-24_222915

sudo apt-get install apache2

2016-11-24_222945

Dependiendo de su instalación, puede recibir una tonelada de salida o nada. Si recibe alguna advertencia sobre los paquetes que ya se han instalado, intente emitir man apache2. Si obtiene una página de manual adecuada, entonces ya está instalada. Si dice “No hay entrada de hombre para apache2”, entonces querrá intentar instalar de nuevo.

Una vez instalados los paquetes, ya estará ejecutando un servidor web en funcionamiento. Probar si Apache se está ejecutando correctamente requiere un navegador web. Acceda a la dirección IP de su VPS escribiéndola en la barra de direcciones de un navegador web gráfico activo conectado a Internet en otra máquina o diríjase a un navegador CLI como Lynx y haga lo mismo.

Obtendrá una página muy básica que lee su nombre de dominio o la dirección IP de su servidor si está funcionando correctamente. Esto significa que tiene el servidor en ejecución, pero aún no ha agregado nada a su página. Ahora puede comenzar la configuración si así lo desea. Use el comando cd para dirigirse al directorio de Apache escribiendo 2016-11-24_223145y luego escriba ls para obtener una lista de directorios. Si su servidor no le da salida de color, entonces use dir –color o ls –color para ver qué entradas son archivos de texto plano y qué directorios. El contenido de la lista dependerá de la versión de los paquetes de Apache instalados. Varios lugares en la estructura del archivo son de particular importancia:

- ports.conf: los hosts virtuales escuchan los puertos registrados dentro de este archivo. Asegúrese de que la información esté actualizada para respaldar su sistema SSL. Si usa SSL, entonces también querrá probar sudo nano conf.d para verificar la configuración SSl y los valores predeterminados de seguridad.

- apache2.conf: la mayoría de las opciones de configuración se establecen en este archivo, y el binario apache2 siempre comprobará este archivo primero para ver si se configuró una opción específica. Escriba sudo nano apache2.conf cuando esté en el directorio para editar este archivo. Observa que este archivo presenta tres secciones separadas. El primero le permite cambiar los procesos del servidor Apache a nivel global. La configuración predeterminada del servidor se coloca en la segunda sección y los hosts virtuales se definen en la tercera. Las distribuciones basadas en Debian, incluido Ubuntu, requieren la mayor parte de la configuración en la parte inferior mediante el uso de las directivas include. Hay una serie de configuraciones de inclusión en la parte inferior del archivo.

- sitios disponibles y habilitados para sitios: ambos son subdirectorios dentro del directorio. El primero define qué contenido se sirve independientemente de las configuraciones que estén activas. El segundo define definiciones de host virtual y, en su mayoría, contiene enlaces simbólicos a archivos almacenados en el primero.

Es posible que reciba un error durante la configuración que dice:

El programa 'nano no está instalado actualmente. Puede instalarlo escribiendo:

sudo apt install e3

Esto significa que la instalación de su servidor Ubuntu o Debian en realidad no incluye el editor de texto nano. Puede instalarlo emitiendo el comando seleccionado, o reemplazar la palabra nano con vi en la mayoría de sus comandos. Generalmente, se incluirá alguna forma de vi o vim en su paquete. Esta también es una buena idea si prefiere vi sobre nano.

Cuando revise la inclusión y otras líneas de configuración, es posible que encuentre algunas de las principales que desee cambiar. Apache establece un parámetro de tiempo de espera de 300, lo que significa que su servidor tiene 300 segundos para atender cada solicitud. A la mayoría de la gente le gusta esto en menos de un minuto. KeepAlive generalmente está desactivado de forma predeterminada, lo que obliga a cada solicitud a cargar una nueva conexión. Activarlo permite que las conexiones permanezcan abiertas para que los clientes puedan emitir múltiples solicitudes. Si ajusta esto, establezca un número personalizado en la sección MaxKeepAliveRequests. Esta línea le dice a Apache cuántas solicitudes individuales maneja una conexión antes de que se apague. Establecerlo en 0 obligará a Apache a servir solicitudes ilimitadas a cada conexión. También puede eliminar las conexiones estableciendo un número de umbral de tiempo de espera en segundos en la línea KeepAliveTimeout.

Si desea verificar qué módulos se compilaron en su paquete Apache, regrese al indicador de CLI y emita este comando:

apache2 -l

Es posible que vea prefork.c, http_core.c, mod_so.cy muchas otras opciones. Lo más probable es que haya que incluir el código http_core.c para que su paquete Apache funcione correctamente. Los paquetes de Debian y Ubuntu instalados a través del sistema apt tienden a tener todos los módulos necesarios compilados desde el momento en que se crearon.

4 minutos de lectura