Continuamos con las entradas de la sección de Raspberry Pi. En esta ocasión nos toca configurar un servidor web con el popular Apache, un servidor web HTTP de código abierto, modular y multiplataforma.
Apache es fue lanzado en 1995 y mantuvo grandes niveles de popularidad hasta 2005, donde dominaba con un 70% de las páginas web alojadas en Apache. Desde entonces su implantación ha caído progresivamente con el crecimiento de otras soluciones IIS, NGIX, o NodeJS. Sin embargo, Apache sigue siendo una de las principales alternativas para montar un servidor Web.
El servidor Apache es desarrollado y mantenido por una comunidad de usuarios bajo la supervisión de la Apache Software Foundation dentro del proyecto HTTP Server (httpd).
En esta entrada veremos cómo crear una configuración básica del servidor Web Apache en un Raspberry PI funcionando bajo Raspbian.
Instalar Apache
Instalar Apache en Raspbian es muy sencillo empleando el gestor de paquetes APT. Simplemente tenemos que ejecutar los siguientes comandos.
sudo apt update
sudo apt install apache2
Configurar el firewall para Apache
Para poder acceder a las páginas servidas por Apache deberemos permitir las conexiones en el Firewall. Para ello, si estamos usando UFW como firewall, en primer lugar listamos las aplicaciones que se ejecutan.
sudo ufw app list
A continuación, añadimos a las aplicaciones permitidas ‘Apache’
sudo ufw allow Apache
Si posteriormente vamos a instalar un certificado SSL para habilitar el acceso mediante HTTPS, ‘Apache Full’
sudo ufw allow Apache Full
Probar Apache
Para probar que todo funciona correctamente, en primer lugar, comprobamos el estado de Apache.
sudo systemctl status apache2
A continuación, crearemos una página web de ejemplo. Las páginas web servidas por Apache se guardan en la ruta ‘www/html’ y subcarpetas. Por tanto, usamos el siguiente comando para crear un fichero ‘index.hmtl’ que será nuestra página web ‘Hola mundo’.
nano /var/www/html/index.html
En este fichero creamos lo siguiente:
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>¡Hola mundo!</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h1>Esta es tu página web. ¡Enhorabuena!</h1>
</body>
</html>
Ahora accedemos a la ruta ‘localhost’ desde un navegador web. Si todo ha salido correctamente veremos nuestra página web de ejemplo ‘Hola mundo’.
¡Enhorabuena, habéis configurado correctamente Apache en vuestra Raspberry Pi! En la siguiente entrada veremos cómo implementar entornos virtuales en Apache.