
Introducción
Hoy vamos aprender como configurar e instalar un Servidor Web Apache en Debian (10.2). Añadiremos una página web para abrirla desde distintos clientes. Configuraremos el servidor y los clientes para poder entrar usando un nombre de dominio: «www.salomundo.com» y configuraremos un Alias. En nuestro caso los clientes serán; Un Debian 10.2 (Con entorno gráfico) y un Windows 7 (Home Premium).
Caso Practico
En esta ocasión tenemos el trabajo de dar acceso a la página web de la universidad para que todos los trabajadores del centro y alumnado tengan acceso a la información que ofrece esta misma. La pagina sera creada específicamente para esta tarea. Trabajaremos sobre el entorno y las configuraciones establecidas en las prácticas anteriores.
Trabajaré sobre un entorno VirtualBox preparado y configurado para esta tarea , pero se puede hacer con máquinas reales conectadas y cableadas entre sí.
Instalación del Servicio Web Apache
Antes de empezar la instalación debemos iniciar sesión en la terminal como root, con el siguiente comando:
su -
Después actualizaremos los recursos del sistema para posteriormente instalar apache2, que se encargará de gestionar nuestra pagina web:
apt-get update

Ahora empezaremos la instalación del servicio apache2 con el siguiente comando:
apt-get install apache2

Después de la instalación del servicio apache se nos habrá creado una serie de carpetas en la ruta «/var/www«, dentro de esta encontramos «/html» que es donde se crea la página web apache por defecto.

Si entramos desde un cliente conectado a la red del servidor nos mostrará lo siguiente.
Al ver esta página nos queda claro que realizamos correctamente la instalación, tampoco es que se muy complicado, pero podemos desechar la idea de que la red esta mal configurada o desde un principio no teníamos acceso. Ahora solo nos quedaría añadir la página del centro.
Configuración del Servidor Web en Debian
Para nuestra suerte la configuración es bastante sencilla y solo necesitaremos configurar 2 ficheros importantes, uno es el principal del servidor que está en la siguiente ruta, aquí se configura los parámetros principales del servidor:
/etc/apache2/apache2.conf
Y las configuraciones de los distintos sitios web que vayamos añadiendo:
/etc/apache2/sites-available/000-default.conf
Si abrimos este fichero, encontraremos la ruta donde esta la página creada por defecto en la instalación. Nosotros crearemos un directorio diferente para almacenar la nuestra, es muy importante dejar este fichero por defecto para en el futuro tenerlo como copia de seguridad, si tocamos o borramos algo sin querer.

Dicho esto hacemos una copia del fichero para poder editarlo a nuestro gusto. En mi caso utilizare el nombre de la página web para ser mas exacto.
cp /etc/apache2/sites-available/00-default.conf /etc/apache2/sites-available/salomundo.conf

Ahora podremos editar «salomundo.conf» para especificar de qué directorio se cargara la página web, en mi caso crearé el siguiente directorio.
mkdir /var/www/salomundo
Editaremos el archivo «salomundo.conf» y especificamos en que ruta estará nuestra página web. En mi caso «/var/www/salomundo», creada anteriormente.
nano /etc/apache2/sites-available/salomundo.conf

Ademas especificaremos el nombre que tendrá nuestra página web para no tener conflicto si queremos tener mas de un sitio web. Agregamos las siguientes líneas justo debajo de «DocumentRoot«.
ServerName "<tabulación>" www.salomundo.com

También tendremos que crear un enlace simbólico para que el servidor web reconozca la nueva página web creada. Entramos en el siguiente directorio.
cd /etc/apache2/sites-enabled
Y escribimos el siguiente comando para crear el enlace simbólico.
a2ensite salomundo.conf

Nos pedirá que reiniciemos el servicio apache2.
systemctl restart apache2

Luego del reinicio correcto meteremos los archivos de la nueva página web en el directorio «/var/www/salomundo«.
Pasar archivos con ssh entre máquinas sin entorno
Para ello utilizaremos el comando «scp» que es para copiar archivos de una máquina a otra, utilizando el protocolo ssh que tendrá que estar instalado en las máquinas que se quieran pasar información. Esto lo utilizamos ahora porque no disponemos de entorno gráfico para arrastrar los archivos como anteriormente lo hacíamos.
La sintaxis del comando es muy sencilla:
scp -r /ubicación del archivo en la máquina / usuario@192.168.1.1:/ubicación donde queremos copiar el archivo/
Pero antes de nada tendremos que dar permiso a las carpetas donde se vayan a copiar los archivos.
chmod 777 /var/www/salomundo
El propietario del fichero puede leer, escribir y ejecutar el archivo. Todos los demás tienen el acceso completo a la carpeta. «IMPORTANTE« Después de pasar los archivos volvemos a dejar los permisos por defecto.
chmod 755 /var/www/salomundo

En mi caso he utilizado una máquina con entorno gráfico donde están los archivos de mi página web. Estaremos entrando como usuario de la máquina normal, deberemos saber la contraseña del usuario para poder pasar los archivos.
Comprobaremos que la página web se paso correctamente, y que la configuración que hicimos en el archivo «salomundo.conf » es correcta. Rápidamente nos vamos a una máquina cliente donde modificaremos los archivos hosts para resolver el nombre de nuestra página web ya que no tenemos un DNS en el servidor, por ahora.
Entramos en el siguiente fichero y añadimos la resolución del nombre.
nano /etc/hosts

Reiniciamos el cliente para efectuar los cambios. Abrimos el navegador en entorno privado por problemas con las cookies y ponemos el nombre «http://www.salomundo.com«.

Como es la primera vez que buscamos nuestra página web y precisamente no pesa poco, a tardado en cargar demasiado tiempo. Lo bueno, que solo tardará la primera vez, luego sera mucho menos.
Esta comprobación es solo para saber que los pasos anteriores los realizamos correctamente. No es la comprobación final con la configuración del Alias que explicaremos a continuación.
Configuración del Alias en Servidor Web
Las directivas Alias y ScriptAlias se usan para enlazar url con rutas del sistema de ficheros. Esto permite que se visualice el contenido que no está directamente dentro del DocumentRoot como si fuera parte de éste.
Para configurar el Alias nos situaremos en el archivo de «nuestra página web.conf» y escribiremos las siguientes líneas, justo debajo de «DocumentRoot«.
Alias /documentos /srv/doc
/documentos hace referencia a la carpeta dentro de la página web.
/srv/doc hace referencia a la nueva ubicación donde estará la nueva información.
Lo que conseguiremos es que cada vez que entremos salomundo.com/documentos/, no entraremos en la carpeta «documentos» si no, en la carpeta «/srv/doc» con distintos archivos. Anterior a esto deberíamos haber creado una carpeta llamada «documentos» en la ubicación de nuestra página web.

<Directory /srv/doc> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory>
Las siguientes líneas tendrán la función de indexar el contenido y dar formato. Entramos en la ubicación «/srv/doc» y agregamos las carpetas que aparecerá en la ubicación desde la web.

Ahora solo tendremos que crear dentro de la página web el enlace a /documentos para que automáticamente lo enlace con «/srv/doc.

Guardamos los cambios y creamos la carpeta documentos en el mismo directorio de la página web.

Como podemos ver en la carpeta documentos no hay ningún archivo, vamos a ver que pasa si entramos desde la página web. Pero antes reiniciamos el servicio apache2 con:
systemctl restart apache2
Para verificar que los cambios son correctos entraremos en los clientes con los hosts configurados para resolver el nombre de nuestra página web.
Comprobación de funcionamiento en los clientes
Cliente Debian
En el cliente Debian ya tenemos configurado el hosts, probaremos que el Alias creado funciona correctamente.

Como podemos ver hace referencia a la carpeta /documentos. ¿Pero que ocurre si pulsamos en el?.

Si recordamos dentro del directorio /documentos dentro de la página web no hay ningún archivo. ¿Que está ocurriendo?. Muy simple el Alias nos está redireccionando a la carpeta «/srv/doc«. Ademas las fechas de los archivos coinciden con las creadas anteriormente.
Cliente Windows
Entramos ahora en el windows 7 cliente para verificar que las páginas son accesibles desde los dos clientes. Modificamos el archivos hosts:

Abrimos el navegador que mas nos guste, no recomiendo utilizar Internet Explore, descuadra todas la páginas web. En mi caso utilizare firefox.

Verificaremos el Alias entrando en Menú -> Documentos:

Efectivamente nos redirecciona correctamente a los documentos que creamos anteriormente.
Este seria el final del post. Si tenéis algún problema con errores de ficheros, verificad las faltas de ortografía y erratas que suele ser el mayor problema a la hora de configurar ficheros en debian.
Muchas gracias por ver este post, si tienes alguna duda deja tu comentario abajo.😀

