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
- Configuración del servidor Web
- Creación de «alias»
- Resolución estática de los clientes
- Pruebas del acceso a la web
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.conf
siendo «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:
- En Linux:
Leído, muy buen post introductorio.
Me gustaMe gusta