viernes, 13 de enero de 2012

Instalación y configuración de apache2 en Linux


Hola a todos, en este artículo veremos como instalar y configurar un servidor apache2 en Linux. El servidor web apache es un software libre de código abierto y es compatible con plataformas Linux,Windows,Mac y otras. El servidor consta de una sección core y diversos módulos que aportan mucha de la funcionalidad que podría considerarse básica para un servidor web.
Para instalar el paquete Apache2 se ejecutan el siguiente comando:
apt-get install apache2

El directorio de configuración se localiza en ”/etc/apache2/” y dentro de este se crea una estructura de carpetas que se explica a continuación:
·         ”apache2.conf”:  fichero principal de configuración de apache.
·         ”conf.d”: directorio en el cual se pueden incluir configuraciones específicas para algún sitio en particular.
·         ”httpd.conf”: fichero de configuración adicional en el cual pueden agruparse las directivas de configuración adicionadas por el administrador del sistema.
·         ”mods-enabled”: contienen los módulos disponibles (instalados) y su configuración.
·         ”mods-available”: contienen los módulos que van a ser cargados dinámicamente por el servidor.
·         ”sites-available”: configuración de los sitios que se encuentran disponibles en el servidor.
·         ”sites-enabled”: configuración de los sitios que se encuentran activos en el servidor. Por lo general son enlaces simbólicos a los  “sites-available”.
·         “envvars”:  ficho en el cual se configuran las variables de entorno.
·         ports.conf: configuración de los puertos por los que estará escuchando el servidor web.

Para comprobar que el servidor apache ya esta funcionando puede escribir en el navegador  http://<numero ip>  o http://nombre de maquina en dns:dominio. Como resultado debe visualizarse la página por defecto de apache. Esta debe encontrarse almacenada en /var/www/html/ con el nombre de index.html. Todo lo que se publique bajo /var/www/html/ podrá ser accedido usando las direcciones antes expuestas.

Configuración de los host virtuales.

De forma general casi siempre en un servidor web ahí varios sitios alojados. Para lograr esto los servidores web hacen uso de host virtuales o virtualhost.

Apache fue uno de los primeros servidores web en soportar hosting virtual basado en direcciones IP. Las versiones 1.1 y posteriores de Apache soportan hosting virtual (vhost) basado tanto en direcciones IP como en nombres. El conjunto de directivas de un VirtualHost se aplica solamente a ese VirtualHost. Si alguna de ellas no se encuentra en la configuración se aplican las configuradas por defecto.

Vamos a hacer algunos cambios al sitio publicado por defecto, para editar el virtualhost por defecto hacemos uso del siguiente comando:

mcedit /etc/apache2/sites-available/default

En este se debe adicionar la directiva NameVirtualHost al inicio del mismo. Con esta directiva no hacemos mas que activar el uso de los host virtuales, el valor de la misma debe ser el ip del servidor web. Otras directivas que deben de modificarse son ServerAdmin, ServerName, Server Alias y ErrorLog cuyos valores se muestran en el ejemplo.
<VirtualHost 10.8.X.X:80>
        ServerAdmin admin@phpinfo.cujae.edu.cu
        ServerName phpinfo.cujae.edu.cu
        ServerAlias phpinfo
        DocumentRoot /var/www/vhost/phpinfo
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/vhost/phpinfo/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog /var/log/apache2/phpinfo-error.log
        LogLevel warn
        CustomLog /var/log/apache2/phpinfo-access.log combined
        ServerSignature On
</VirtualHost>

El sitio por el momento se encuentra disponible pero no activo. Por tal motivo, el próximo paso es pasar a activa el sitio. En Ubuntu existe una utilidad con este fin: a2ensite (apache2 enable site), la cual se usa para habilitar sitios que se encuentren en sites-available. Para activar el sitio puede ejecutarse el comando:

a2ensite phpinfo

En este momento tenemos alojados en el servidor el sitio por defecto y el sitio de nuestro ejemplo lo ideal seria agregar el nombre de nuestro sitio en el servidor DNS pero en caso que este fuera de nuestro alcance podemos editar el fichero /etc/hosts adicionando la línea que aparece en el ejemplo con el siguiente comando:

sudo mcedit /etc/hosts

192.68.7.120   phpinfo.com

Otra configuración necesaria que debe hacerse es crear un fichero llamado fqdn bajo “/etc/apache2/conf.d/“ que contenga el nombre de la máquina. Para ello se ejecuta el siguiente comando: 
 
root@tolinux0:/home$ sudo echo 'ServerName mipc.midominio.cu' > /etc/apache2/conf.d/fqdn

Por último, lo que resta es publicar el nuevo sitio bajo la carpeta “/var/www/vhost/phpinfo/”. Por el momento el sitio solo va a contar con una página llamada index.html que va a informar que se está accediendo al sitio phpinfo. Para crear el fichero index.html puede ejecutarse el siguiente comando:
root@tolinux0:/home$ sudo echo '<b>Funcionando phpinfo!</b>' > /var/www/vhost/ejemplo/index.html

Por último se reinicia el servidor apache2 para aplicar os cambios hechos hasta el momento, para ello se ejecuta:
root@tolinux0:/home$ sudo /etc/init.d/apache2 restart

Si no devuelve ningún error podemos acceder al sitio mediante la siguiente dirección: http://phpinfo.com

Saludos 

No hay comentarios:

Publicar un comentario