El Servidor HTTP Apache (Apache) es una aplicación de servidor web de código abierto. Apache se define como un desarrollo de software colaborativo, cuyo objetivo es crear una implementación de servidor HTTP (web) robusta, de nivel comercial, completa y disponible de forma gratuita. Apache es ampliamente conocido y utilizado en el entorno web y en esta guía explicamos cómo instalarlo y configurarlo en un VPS con CentOS 6.

Nota:
Esta guía está escrita para un usuario no root. Los comandos que requieren privilegios elevados utilizan el prefijo sudo. Si no está familiarizado con el uso del comando sudo puede visitar nuestras guías de grupos y usuarios.

Instalar Apache

Para instalar el servidor HTTP Apache utilice:

sudo yum install httpd

Luego edite el archivo de configuración principal de Apache (httpd.conf) para ajustar la configuración de uso de recursos. La configuración mostrada a continuación es un buen punto de partida para un VPS de 2GB de RAM (ajuste la configuración según el plan de su servidor):

Extracto del archivo: /etc/httpd/conf/httpd.conf

KeepAlive Off


<IfModule prefork.c>
    StartServers        4
    MinSpareServers     20
    MaxSpareServers     40
    MaxClients          200
    MaxRequestsPerChild 4500
</IfModule>

Configurar Apache para alojamiento compartido (virtual)

  1. Cree un archivo bajo el directorio /etc/httpd/conf.d llamado vhost.conf. (Para crear un archivo puede dirigirse al directorio indicado y usar el editor de su preferencia, por ejemplo: sudo vi vhost.conf; cuando termine recuerde guardar y salir) El contenido del archivo se muestra a continuación, recuerde remplazar todas las ocurrencias de ejemplo.com con la información de su dominio:
    Extracto del archivo: /etc/httpd/conf.d/vhost.conf

     <VirtualHost *:80> 
          ServerAdmin admin@ejemplo.com
          ServerName ejemplo.com
          ServerAlias www.ejemplo.com
          DocumentRoot /srv/www/ejemplo.com/public_html/
          ErrorLog /srv/www/ejemplo.com/logs/error.log 
          CustomLog /srv/www/ejemplo.com/logs/access.log combined
     </VirtualHost>
    

Se pueden añadir bloques de hosts virtuales al archivo para cualquier otro dominio que desee alojar en su servidor.

  1. Cree los directorios a los cuales hizo referencia en el contenido del archivo anterior:

     sudo mkdir -p /srv/www/ejemplo.com/public_html
     sudo mkdir -p /srv/www/ejemplo.com/logs
    

Una vez más, recuerde remplazar las instancias de ejemplo.com.
3. Inicie el servicio de Apache:

	sudo service httpd start
  1. Configure Apache para que se ejecute al arrancar el servidor (de esta manera se asegura de que el servicio esté activo incluso después de un reinicio):

     sudo chkconfig httpd on
    

Módulos (mods) y scripts de Apache

Instalar los módulos Apache

Por defecto, los módulos están ubicados en el directorio: /etc/httpd/modules/. La configuración de directivas para los módulos por defecto está ubicada en /etc/httpd/conf/httpd.conf, mientras que las opciones de configuración para los módulos opcionales instalados con yum por lo general están ubicadas en los archivos .conf en el directorio /etc/httpd/conf.d/.

  1. Para enumerar los módulos Apache disponibles ejecute:

     sudo yum search mod_
    
  2. Instalar un módulo deseado:

     sudo yum install mod_[nombre-del-módulo]
    

Los módulos deberían estar habilitados y listos para uso después de la instalación.

Instalar soporte para Scripting

Los siguientes comandos instalan el soporte de Apache para desarrollar scripts del lado del servidor en PHP, Python y Perl. El soporte de estos lenguajes de programación es opcional con base en su ambiente de servidor.

Para instalar:

  1. El soporte para Perl:

     sudo yum install mod_perl
    
  2. Soporte para Python:

     sudo yum install mod_wsgi
    
  3. Soporte PHP:

     sudo yum install php php-pear
    

Recursos adicionales

Este tutorial provee las instrucciones para la instalación y la configuración básica de un servidor web con Apache. Para complementar la información aquí presentada puede consultar los siguientes recursos. Aunque este material es provisto esperando que sea útil, tome en cuenta que no podemos dar fe de la actualidad o precisión de los contenidos externos.

  • Documentación oficial de Apache. Este primer enlace presentar la información según las versiones de Apache. Dato interesante: ¡podrá encontrar varias guías en español!