INSTALACION DE APACHE2
En este caso se realizara sobre un Debian 6.0.5 con un kernel 2.6.32-5-686, con lo cual nos valdremos
para instalar el servidor del comando aptitude o apt-get, si lo quieres hacer de una manera mas
gráfica se puede usar synaptic o de una manera más cruda seria, bajarnos los paquetes binarios de
su sitio oficial http://httpd.apache.org/ e instalarlos.

Instalando el servidor

Configuración de servidor Apache2

Configuración
Como todo lo que instalemos en GNU-Linux sus archivos de configuración se encuentran en /etc,
por lo general en un directorio que recibe el nombre del servidor o servicio, en este caso seria
/etc/apache2, en el que encontraremos directorios y archivos con directivas de configuración. Nos
podemos direccionar con el comando “cd /etc/apache2” si queremos chequear donde estamos solo
ejecutamos “pwd” y usamos “ls” listamos los archivos que el directorio contiene.(cd /etc/apache2;
pwd; ls).
web

apache2.conf : Este es el archivo principal de configuración del servidor apache2, el mismo
contiene las directivas, las que se dividen en tres secciones.
1- Las primera se encarga de las directivas que controlan el funcionamiento del proceso del servidor
Apache en forma global.
2- Los parámetros que definen al servidor por defecto, principal o aquellas que no manejan un hosts
virtual. Es por ejemplo cuando simplemente instalamos y dejamos todos por defecto incluso los
hosts virtuales.
3- En la tercera incluye la mas compleja pero mas útil y es configurar servidores virtuales que
permitan solicitudes Web que son enviadas a diferentes direcciones IP manejados por el mismo
proceso del servidor Apache.
En definitiva podremos configurar módulos, tiempos de respuestas, acceso a archivos de
configuración, archivos de log, etc.
conf.d: en el directorio conf.d encontraremos archivos como (charset, gosa.conf, localized-error-
pages, nagvis.conf, other-vhosts-access-log y security). Donde encontraremos manejo de módulos
de PHP, CGI, configuración de log y de seguridad. Así como servicios externos que requieran
Apache, por ejemplo NAGIOS u otros.
envvars: es una variable de entorno por defecto para apache2.ctl, el cual soporta múltiples
instancias. Se recomienda tocar solo si se sabe exactamente lo que se hace.

httpd.conf: Antiguamente era el archivo de configuración principal, donde se definían las
directivas, hoy en día este archivo se encuentra dividido en los que encontramos en /etc/apache2/.

magic: aquí se configura los módulos de imagen, vídeo y sonido usados en el servidor.

mods-available: encontraremos muchos archivos de configuración, con directivas de los dominios
que configuremos en sites-available.

mods-enabled: encontraremos muchos archivos de configuración, con directivas de los dominios
que configuremos en sites-enabled.
ports.conf: aquí configuraremos los puertos de los hosts virtuales, por defecto Apache atiende en el
puerto 80 (HTTP) o en caso de usar SSL en el puerto 443 (HTTPs).

sites-available: En este directorio podremos configurar los servidores virtuales que queramos,
teniendo un archivo “default y default-ssl” por defecto, aquí nosotros generaremos un archivo para
cada dominio que tengamos, son sus respectivas directivas de configuración.

Sites-enabled: En este directorio se configuran los archivos de los sitios que habilitemos en el
directorio de sites-available.

Configuración de sitios virtuales
Primero que nada nos dirigiremos a el directorio sites-available (“cd /etc/apache2/sites-available”).

apache

Aquí encontramos dos archivo, “default” donde se encuentra configurado el puerto y un dominio
por defecto que levanta cuando se inicia por primera vez nuestro apache2. La configuración del
mismo es la siguiente. En el script se define el puerto donde escucha <VirtualHost *:80> siendo el
80 (HTTP) el correcto por defecto, el E-Mail del administrador “ServerAdmin
webmaster@localhost” donde podemos poner nuestro correo. Luego modificaremos
“DocumentRoot /var/www/” Y “<Directory /var/www> “ donde deberemos especificar el directorio
que aloja nuestros sitio Web. Personalmente considero una buena norma de seguridad no dejarlo en
“/var/www” ya que es el directorio por defecto y me parece mas sencillo utilizar el /home de cada
usuario, pudiendo especificar directivas de seguridad como encarcelándolo al mismo, para que solo
tenga permisos en su directorio y no pueda moverse por las demás carpetas. Para finalizar se
configura donde estarán los archivos CGI, dejando como esta por defecto.

GNU

Hasta aquí tenemos una configuración por defecto, para ejecutarlo ejecutamos en consola
“/etc/init.d/apache2 start” para frenar el mismo usamos “stop”, en caso que queramos pararlo y
luego arrancarlo ejecutamos “restart” y si queremos saber si esta corriendo ejecutamos “status” en
tal caso tendremos que recibir algo como “Apache2 is running”.
Para configurar hosts virtuales, primero que nada tenemos que crear un archivo por cada dominio
que tengamos, lo mejor es poner un nombre representativo el cual termine en “.conf”. Para ello me
valdré del comando “touch”. Por ejemplo estando posicionados en /etc/apache2/sites-available
ejecutamos
touch serpiente.homelinux.com.conf serpiente.homelinux.org.conf
Con esa linea creamos ambos demonios un .com y un .org.

debian

Luego editamos con nano, mcedit o gedit según la herramienta que tengamos a disposición, y
escribimos el script para cada uno con la redirección a sus directorios respectivos.
Código del Script (solo reemplaza con el nombre de tu dominio y lugar donde lo alojas)

*********************************************************************************************************************
<VirtualHost *:80>
DocumentRoot "/home/nuestro_usuario/nuestro_dominio" # Directorio de root
ServerName nuestro_dominio.com # Nombre del domino
ServerAlias *.nuestro_dominio.com # Alias del miso es importante el *.
<Directory "/home/serpiente/www/serpiente.org"> # Directorio que aloja el Dominio.
Options -Indexes FollowSymLinks MultiViews
allow from all
</Directory>
ErrorLog /var/log/apache2/nuestro_dominio.com.error.log # log que se auto-generara
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/nuestro_dominio.com.access.log combined #log auto-generable
ServerSignature On
</VirtualHost>

*********************************************************************************************************************

Configuracion para "gato.linux.com"

servidores


Como podemos apreciar solo cambiamos los parámetros del Directorio de contención /var/www
por el /home/serpiente/www/ donde contendremos el directorio serpiente.homelinux.com que
contendrá su archivo index.html, también cambiamos ServerAlias donde ponemos el nombre de
nuestro dominio y si queremos dejamos por defecto el directorio de donde se registrara el sistema
de logueo en /var/log/apache2/ pero con el nombre de nuestros dominios
“serpiente.homelinux.com.error.log y serpiente.homelinux.com.access.log” así tenemos un orden
donde ir a buscar datos cuando ocurra un problema, estos dos últimos archivos se auto-generan. Lo
mismo repetiremos para el archivo de serpiente.homelinux.org.conf.

Configuración para gato.linux.org

Linux

Cuando ya creamos los sitios que queramos tener, los cuales están en sites-available, tendremos que
realizar un enlace simbólico hacia sites-anabled para que puedan funcionar. Para ello ejecutamos lo
siguiente, estando posicionados en /etc/apache2/sites-available
a2ensite serpiente.homelinux.com.conf
a2ensite seriamente.homelinux.org.conf
y veremos algo así
Enabling site serpiente.homelinux.com.conf.
Run '/etc/init.d/apache2 reload' to activate new configuration!
Ahora si listamos sites-enabled usando la opción “ls -l” veremos algo así

ssl

Luego solo nos queda crear nuestros directorios en nuestro /home donde tendremos una carpeta
www.

apache2


Listamos para ver que este todo en orden donde además podemos tener el index.html de la
configuración que realizamos antes por defecto y ahora entramos a nuestro directorio donde
creamos un index.html.


Ahora en nuestro index.html ponemos un poco de código como para que aparezca algo que nos
indique que el servidor esta funcionando perfectamente.

Configuración de servidor Apache2

Luego editaremos el archivo /etc/hosts donde especificaremos cada host con su IP, los cuales en este
caso serán todas dirigidas al localhost la IP 127.0.0.1. Esto es para que cuando en nuestro browser
coloquemos gaot.linux.com o gato.linux.org nos muestre el sitio
correspondiente.

web


Si queremos por algún motivo deshabilitar alguno de los sitios lo podemos hacer con el comando
a2dissite por ejemplo si quisiéramos desactivar serpiente.homelinux.com, solo ejecutamos.
a2dissite serpiente.homelinux.com.conf
Si todo sale bien tendríamos que ver nuestro sitios web en nuestra maquina local.

apache

GNU