Servidor Web en Debian Jessie (Parte 1)

Buenas de nuevo, seguimos con el proyecto del servidor Debian pero esta vez vamos a explicar la instalación y configuración del servidor web en varias entradas. El objetivo de esto es poder dar acceso web a los profesores y alumnos del centro utilizando el dominio «elolimpo.org».

Por el momento en esta entrada veremos:


Instalación del servidor Web

El paquete que usaremos como servidor Web es apache2 el cual instalaremos y configuraremos a continuación.

Para instalar el servidor Web escribimos lo siguiente en la línea de comandos siendo «root»:

aptitude install apache2

Configuración del servidor Web

El archivo principal de configuración de «Apache2» es /etc/apache2/apache2.conf y el directorio donde se encuentran los archivos de configuración de los sitios web se encuentra en /etc/apache2/sites-available .

Configuración principal

Lo primero que haremos será verificar qué directorio tenemos habilitado para el servicio web. En nuestro caso utilizaremos el directorio por defecto /var/www , para ello editamos el archivo /etc/apache2/apache2.conf y buscamos las siguientes líneas siendo «root»:

<Directory /var/www/>     
   Options Indexes FollowSymLinks         
   AllowOverride None         
   Require all granted
<Directory>

Por defecto veremos que no están comentadas, es decir que ya está habilitado el directorio /var/www/ en el que tienen que aparecer las opciones Options Indexes  y  Require all granted para que se pueda tener acceso a las páginas web de dicho directorio.

Creación del sitio web

Lo siguiente será crear el directorio y el archivo de configuración del sitio web del centro, para ello:

  • Creamos el nuevo directorio de la web del centro dentro del directorio habilitado para el servicio web siendo «root»:
mkdir /var/www/elolimpo
  • Copiamos el archivo de configuración del sitio por defecto en  /etc/apache2/sites-available dándole otro nombre siendo «root»:
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/elolimpo.conf

Recuerda que el archivo debe terminar en .conf .

Configuración del sitio web

Ahora configuraremos y activaremos el sitio web de la siguiente manera:

  • Editamos el nuevo archivo creado /etc/apache2/sites-available/elolimpo.confsiendo «root» y dejamos las siguientes líneas tal que así dentro del apartado <VirtualHost *:80> :
ServerName www.elolimpo.org
ServerAdmin webmaster@localhost
DocumentRoot /var/www/elolimpo

Donde en la línea ServerName www.elolimpo.org especificamos el nombre de la web y en la línea DocumentRoot /var/www/elolimpo especificamos el directorio donde estará alojado nuestro sitio web.

  • Para activar el nuevo sitio web escribiremos lo siguiente como «root»:
a2ensite elolimpo.conf
  • Y para que se efectúen los cambios escribiremos lo siguiente como «root»:
systemctl reload apache2

Alojamiento de la página web

Terminando solo nos queda alojar los archivos html,etc… en el directorio del nuevo sitio web /var/www/elolimpo . Si los archivos los tenemos en la máquina por dónde accedemos por «ssh» al servidor, podemos escribir lo siguiente en una nueva terminal en nuestra máquina:

scp /home/usuario/index.html usuario@192.168.1.13:/home/usuario

Donde  /home/usuario/index.html es o pueden ser los archivos de la página del sitio web del centro y  usuario@192.168.1.13:/home/usuario es el usuario, ip y directorio del servidor donde copiaremos dicho archivo.

Luego queda copiar el archivo al directorio del sitio web en el servidor siendo «root»:

cp /home/usuario/index.html /var/www/elolimpo/
  • Si quieres copiar un directorio con archivos por «scp» puedes añadir la opción «-R».
  • Y recuerda que para que se vea por defecto un archivo «html» en tu sitio web, debes llamarlo «index.html».

Haciendo todo esto, por último debemos establecer como propietario del directorio /var/www  al usuario y grupo www-data por temas de seguridad y para evitar errores, para ello escribimos siendo «root» lo siguiente:

chown -R www-data:www-data /var/www

Creación de «alias»

Lo que veremos ahora será cómo crear una página en el sitio web que llamaremos  «www.elolimpo.org/documentos» , en la cual podremos descargar y visualizar los archivos públicos del centro y estos archivos lo alojaremos en un directorio distinto al directorio principal del sitio web del centro. A esto se le denomina «alias».

Configuración principal

Primero habilitaremos el nuevo directorio para la nueva página, para ello editaremos el archivo /etc/apache2/apache2.conf como «root». Utilizaremos el directorio /srv/ que ya está bien configurado en el archivo principal de configuración, solo queda descomentarlo:

<Directory /srv/>     
   Options Indexes FollowSymLinks         
   AllowOverride None         
   Require all granted
<Directory>

Configuración del «alias»

Para establecer el «alias» añadiremos la línea alias /documentos /srv/documentos en el archivo de configuración del sitio web /etc/apache2/sites-available/elolimpo.conf siendo «root» y quedando así:

ServerName www.elolimpo.org
ServerAdmin webmaster@localhost
DocumentRoot /var/www/elolimpo
alias /documentos /srv/documentos

Recargamos el servicio apache2 para que se efectúen los cambios siendo «root»:

systemctl reload apache2

Quedaría alojar los archivos públicos del centro, que si los tenemos almacenados en nuestra máquina podremos usar «scp» como anteriormente hemos explicado para alojarlos en el servidor.

Y para terminar establecemos como propietario del directorio /srv/documentos  al usuario y grupo www-data siendo «root»:

chown -R www-data:www-data /srv/documentos/

Resolución estática de los clientes

Para que los clientes puedan acceder de forma estática al sitio web deberemos editar sus archivos «hosts», para ello:

  • En Windows editaremos como «administrador» el archivo C:\Windows\System32\drivers\etc\hosts  con el «bloc de notas» añadiendo una línea con «192.168.0.254    www.elolimpo.org» quedando así:
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#    127.0.0.1       localhost
#    ::1             localhost

    192.168.0.254    www.elolimpo.org

Siendo 192.168.0.254 la ip del servidor y «www.elolimpo.org» el nombre de la página web principal del centro.

  • En Linux editamos como «root» el archivo \etc\hosts  añadiendo la misma línea anteriormente dicha quedando de la siguiente manera:
127.0.0.1       localhost
127.0.1.1       poseidon
192.168.0.254   www.elolimpo.org
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Pruebas del acceso a la web

Ahora probaremos si los clientes acceden a la página principal del centro «www.elolimpo.org» y a la página de los documentos públicos del centro «www.elolimpo.org/documentos» :

  • En Windows:

captura-de-pantalla-de-2017-01-27-234329captura-de-pantalla-de-2017-01-27-234338

  • En Linux:

captura-de-pantalla-de-2017-01-27-234239captura-de-pantalla-de-2017-01-27-234252

2 comentarios sobre “Servidor Web en Debian Jessie (Parte 1)

Deja un comentario