Cómo crear un servidor web sencillo con darkhttpd

Cómo crear un servidor web sencillo con darkhttpd
Una fotografía de una pantalla de computadora que muestra código HTML.

Darkhttpd es un servidor web ligero y binario único para Linux. Proporciona una forma sencilla de «configuración cero» para implementar sitios web lo más rápido posible en su servidor. Aquí le mostramos cómo instalar darkhttpd en Ubuntu Linux, cómo se compara con los servidores web más populares y lo guiamos a través del proceso de creación de su primer sitio web.

Comparación entre Darkhttpd, Apache y Nginx

Darkhttpd no es el único servidor web que puedes instalar en tu máquina Linux. Existen Apache, Nginx, Caddy, Lighttpd y muchos más. En esta sección, compararemos darkhttpd con Apache y Nginx y veremos cómo funciona.

En cuanto a la facilidad de uso, darkhttpd supera claramente a Apache y Nginx. Darkhttpd se centra en mantener todo en un único programa. Esto significa que puedes compartir tu sitio web sin preocuparte por su configuración ni por el servicio de inicio de tu sistema.

Una terminal que muestra la salida de ayuda de darkhttpd.

En términos de seguridad, darkhttpd utiliza un entorno chroot para sus archivos. También tiene tiempos de espera automáticos para conexiones inactivas y registro básico. Esto es muy distinto a Apache y Nginx. Ambos tienen filtros de limitación de velocidad potentes y opciones para ajustar los encabezados HTTP en sus sitios.

La simplicidad de Darkhttpd también lo hace inflexible ante las demandas personalizadas de los usuarios. Los desarrolladores del programa lo diseñaron como una forma rápida de ofrecer contenido web estático. Esto significa que, en comparación con Apache y Nginx, darkhttpd no puede ejecutar scripts CGI ni actuar como un proxy inverso para sus aplicaciones.

Una terminal que muestra una muestra de configuración de proxy inverso para Nginx.
Categoría http://oscuro.com apache Nginx
Facilidad de uso No requiere configuración adicional para alojar sitios web. Requiere configuración tanto del sistema como específica del sitio para funcionar. Requiere configuración específica del sitio para funcionar.
Seguridad general Viene con funciones básicas de chroot y registro. Viene con limitadores de velocidad y encabezados HTTP centrados en la seguridad. Viene con limitadores de velocidad y encabezados HTTP centrados en la seguridad.
Soporte SSL No hay soporte SSL incorporado. Viene con “mod_ssl” para soporte SSL. Viene con soporte SSL incorporado.
Flexibilidad de la aplicación Sólo puede funcionar con contenido web estático. Puede trabajar con contenido web tanto estático como dinámico. Puede funcionar como servidor web, equilibrador de carga y proxy inverso.

Preparando su sistema para darkhttpd

El primer paso para crear un sitio web con darkhttpd en Ubuntu Linux es obtener las dependencias para Docker y Docker Compose.

Comience descargando la clave de firma para el proyecto Docker:

Utilice su editor de texto favorito para crear un nuevo archivo de repositorio:

Pegue la siguiente línea de código dentro de su archivo de repositorio:

Recargue los repositorios de paquetes de su máquina y actualice todo su sistema:

Instale Docker, su complemento Compose y Git usando apt:

Una terminal que muestra el proceso de instalación de Docker, sus complementos y Git.

Instalación y ejecución de darkhttpd

Vaya a su directorio de inicio y luego descargue la última versión de darkhttpd en su sistema:

Vaya al interior del repositorio de Git y luego cree un nuevo archivo Docker Compose usando su editor de texto favorito:

Pegue el siguiente bloque de código dentro de su archivo Compose:

Guarde su nuevo archivo Compose y luego ejecute el siguiente comando para compilar y ejecutar su contenedor Docker darkhttpd:

Cree una carpeta “html” dentro del repositorio darkhttpd de Linux y luego copie allí los archivos de su sitio web estático:

Confirme que darkhttpd se esté ejecutando correctamente enumerando los contenedores disponibles en el sistema:

Una terminal que muestra el contenedor Docker darkhttpd ejecutándose en el sistema.

Ejecutar darkhttpd sobre SSL con stunnel

En este punto, ya tienes un servidor darkhttpd en ejecución en el puerto 8080. Sin embargo, para acceder a él a través de Internet, primero debes encapsularlo en SSL mediante un proxy inverso.

Para comenzar, crea un nuevo registro DNS “A” para tu dominio que apunte a la dirección IPv4 de darkhttpd. En mi caso, apuntaré la dirección IPv4 de mi máquina al registro: “web.myvpsserver.top”.

Obtenga e instale stunnel, el paquete snap “principal” y Certbot en su máquina:

Registre su instancia de darkhttpd en la Electronic Frontier Foundation:

Genere un certificado SSL básico para su nombre de dominio:

Una terminal que muestra el proceso de generación de certificados SSL en LetsEncrypt.

Cree un nuevo archivo de configuración para su proxy inverso stunnel:

Pegue el siguiente bloque de código dentro de su nuevo archivo de configuración:

Guarde el nuevo archivo de configuración y luego ejecute el siguiente comando para iniciar el proxy inverso:

Una terminal que muestra el estado actual del servicio stunnel en el sistema.

Confirme que su sitio web estático ahora funciona correctamente abriendo su subdominio en un navegador web.

Una captura de pantalla que muestra el sitio web de muestra ejecutándose en darkhttpd con SSL.

Alojar su propio sitio web sencillo con darkhttpd es solo el primer paso para explorar el maravilloso mundo de los servicios web de alojamiento propio. Aprenda a crear feeds RSS para sus redes sociales con RSS-Bridge.

Crédito de la imagen: Ilya Pavlov vía Unsplash . Todas las modificaciones y capturas de pantalla son de Ramces Red.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *