Saltar la navegación

5.- Servicio Web: Apache.

Instalación y configuración del servicio web Apache

En la unidad 9 se instaló Internet Información Services de Windows con su servidor web y servidor ftp.
En este apartado se va a explicar la configuración del servidor web Apache. Apache se puede instalar tanto en Windows como en Linux. En la tarea no se ha incluido ningún ejercicio relacionado con Apache, no por su poca importancia, sino por haber instalado ya un servicio web en Windows.

Hace 20 años se creó la "Apache Software Foundation". Esta fundación la forman desarrolladores de software donde cada uno realiza sus propios proyectos de código abierto.
Página de Apache: http://www.apache.org/
Página de la fundación de software de Apache: https://es.wikipedia.org/wiki/Apache_Software_Foundation

Para instalar Apache en GNU-Linux: # apt-get install apache2
Una vez instalado, ya está funcionando Apache. Para comprobarlo, ejecutar: #service apache2 status

Ya se puede navegar y ver la página por defecto del servidor web Apache:

  • Desde el equipo servidor, escribir en el navegador: http://localhost
  • Desde otra máquina, escribir en el navegador: http://IP_servidor

Apache devuelve la página por defecto index.html alojada en el directorio /var/www/html

Ilustración que muestra la página por defecto de Apache
Miguel Ángel García Lara (CC BY-NC-SA)

Configuración del servidor Apache

La configuración de apache se almacena en el directorio de configuración /etc/apache2.
A continuación se ven las opciones de configuración más importantes:

  • El archivo /etc/apache2/apache2.conf tiene la configuración global del servidor.
  • El archivo /etc/apache2/ports.conf. Permite establecer los puertos de escucha de Apache, por defecto puerto 80 para http y puerto 443 para https.
    Listen *:80
    Listen *:443
    El * significa que puede realizar la petición cualquier ordenador.
  • En el mismo servidor se pueden tener varios sitios web, para ello, en la carpeta /etc/apache2/sites-available se guarda la configuración de cada uno en un archivo. Por defecto se encuentran los sitios default y default-ssl. Cada sitio (o archivo) tiene la siguiente estructura:
    <VirtualHost *:80>
    ServerAdmin servermaster@localhost
    Servername www.miempresa.com
    DocumentRoot /var/www/html
    DirectoryIndex index.html default.html
    </VirtualHost>

Dónde el significado de estas 4 directivas es el siguiente:

  • ServerAdmin es el correo electrónico del administrador del sitio web.
  • Servername es el nombre FQDN del sitio web. Para el dominio por defecto (archivo default) no se indica ningún nombre, por lo que la línea se deja comentada. Pero para otros dominios (por ejemplo, www.miempresa.com) sí se debe establecer.
  • DocumentRoot. Indica la ubicación donde se encuentra las páginas web del sitio.
  • DirectoryIndex. Indica el nombre de los ficheros que envía por defecto el servidor web. En el ejemplo, significa, que cuando en el navegador se escriba http://IP_servidor se devuelve la página /var/www/html/index.html

Ejemplo de creación de un nuevo sitio web

En un servidor web Apache se pueden alojar distintas páginas web o sitios web. Por defecto el servidor web publica el directorio /var/www/html para todos los dominios pero es posible personalizar de forma independiente cada dominio.

  • Para añadir el dominio www.miempresa.com que se aloje en la carpeta /portales/miempresa hay que crear el fichero /etc/apache2/sites-available/miempresa.com con el siguiente contenido:
    <virtualhost *:80>
    ServerName www.miempresa.com
    DocumentRoot /portales/miempresa
    DirectoryIndex index.html index.htm
    </virtualhost>
  • Activar el sitio
    # a2ensite miempresa.com
  • Reiniciar el servidor web
    # service apache2 restart

Página de inicio del servidor https

Con el auge de los negocios en Internet se ha popularizado el uso de comunicaciones cifradas entre los clientes y el servidor Web, siendo la tecnología de encriptación más utilizada el Security Socket Layer (SSL).

Por defecto viene instalado en Apache, por lo que para utilizar una página segura bajo https en Apache sólo hay que:

  • Activar el módulo ssl
  • Activar el sitio default-ssl
  • Reiniciar el servidor web

Una vez reiniciado el servidor, se accede desde el navegador con la dirección https://IP_Servidor.
Se puede generar certificado de seguridad utilizando el comando open-ssl.