Servidor Web Apache

Servidor Web Apache

Crearemos el grupo "www-data". Para ello ejecutaremos los siguientes comandos:

sudo groupadd www-data
sudo usermod -a -G www-data www-data


A partir de aquí empieza la instalación de Apache:

sudo apt-get install apache2


En Debian usaremos el programa Apache Web Server en su versión apache2-mpm-prefork que es la recomendada para Debian por su Multi-Processing Module (MPM) ya que es considerablemente más rápido que el modelo tradicional.

sudo apt-get install apache2-mpm-prefork #Para Debian solamente
sudo a2enmod mpm_prefork #Solo si instalaste el paquete mpm-prefork


Una vez finalizada la instalación abrimos un navegador en nuestro PC de escritorio e introducimos la IP del servidor http://localhost (en este ejemplo http://192.168.11.111) y veremos el mensaje It works!.

Este mensaje quiere decir que el servidor Web Apache está funcionando y listo para servir contenido Web.


El directorio hacia donde apunta el servidor Web Apache por defecto es a /var/www/. Este directorio podemos usarlo, pero cada vez que deseemos añadir nuevos archivo, necesitaremos tener permisos de root o cambiarle los permisos a ese directorio para poder usarlo. De todas formas no es recomendable usarlo, ya que cualquier ataque que pudiésemos recibir, es el principal destino de ataque, ya que es un directorio universal.


Para eliminar un poco esta brecha de seguridad es recomendable cambiar el directorio que reconoce por defecto apache, para que apunte a uno de los directorios que tenemos en nuestro home.

Directorio Web independiente por cada usuario

Para poder asignar a cada usuario del sistema un directorio para publicar sus paginas web es necesario verificar si tenemos los archivos userdir.conf y userdir.load. en /etc/apache2/mods-available, para comprobar esto, tecleamos el siguiente comando el cual debería entregar el mismo mensaje que aquí:

ls /etc/apache2/mods-available/userdir*

Respuesta:

/etc/apache2/mods-available/userdir.conf
/etc/apache2/mods-available/userdir.load

Una vez comprobado esto, debemos comprobar si tenemos esos mismos archivos en el directorio /etc/apache2/mods-enabled, esto lo comprobamos con el siguiente comando:

ls /etc/apache2/mods-enabled/userdir*

Si arroja que no tenemos nada o que no existe continuamos.


Si no apareció ningún resultado con el comando anterior debes teclear los siguientes 3 comando de a continuación. (si apareció resultado, omite el primer comando).

sudo ln -s /etc/apache2/mods-available/userdir* /etc/apache2/mods-enabled/
sudo a2enmod userdir
ls -la /etc/apache2/mods-enabled/userdir*

Respuesta:

  /etc/apache2/mods-enabled/userdir.conf  
  /etc/apache2/mods-enabled/userdir.load

El último comando revisa si están ahora los 2 archivos antes mencionados, cosa que debería aparecer.

Si todo esta correcto ahora hay que reiniciar apache.

sudo /etc/init.d/apache2 restart


Una vez hecho esto, falta añadir en la carpeta personal de cada usuario un directorio que se llame public_html este será el directorio donde cada usuario deberá publicar sus paginas web. Lo primero que haremos es crear el directorio para el usuario que estamos ahora (NO HACER ESTO COMO ROOT)

mkdir ~/public_html


Ahora vamos a crear una pagina web html sencilla para comprobar que funcione.

echo '<html><body><p><strong>Hola Mundo</strong></p></body></html>' > ~/public_html/index.html


Luego en el navegador tecleamos una ruta como la siguiente (IPServer/~TU_USARIO):

10.1.15.148/~juaramir

O desde la terminal podemos teclear ($USER es el nombre de tu usuario):

iceweasel 10.1.15.148/~$USER
links2 10.1.15.148/~$USER


Veremos algo como esto.

Habilitar Python en Apache2

Primero habilitamos los siguientes módulos:

sudo a2enmod cgi cgid

Luego instalamos el soporte:

sudo apt-get install libapache2-mod-python