HOWTO: Bozohttpd en NetBSD
De NetBSD Mexico
Contenido |
[editar] BozoHttpd
httpd - hyper text transfer protocol version 1.1 daemon (via man httpd)
httpd(8) lee una peticion por medio del protocolo http y envia la respuesta a la salida standard.
[editar] Requerimientos
NeBSD 5 o superior.
[editar] Introduccion
httpd(8) es un servidor web light que viene en el sistema base NetBSD y ejecuta via inetd, no es necesario instalar paquetes adicionales, tiene la habilidad de ejecutar scripts cgi,php,c,sh etc. e indexar una lista de directorios en su caso. El ser ligero lo hace atractivo en sistema empotrados, en routers,firewall usando solo Compact Flash como medio de almacenamiento. httpd(8) soporta indizado de directorios y virtualhosts y es posible ejecutarlo bajo chroot(8). Soporta ipv6 tambien.
[editar] Usos
- Blog cgi, estatico, php (cgi)
- Sistemas empotrados.
- Autenticacion por web.
- etc.
[editar] Configuracion
httpd(8) se inicia via inetd(8), para ello editamos lo siguiente:
# vi /etc/inetd.conf
Descomentar la linea;
http stream tcp nowait:600 _httpd /usr/libexec/httpd httpd /var/www
La linea anterior habilita el inicio de httpd(8) via inetd, el directorio /var/www es la ubicacion de nuestros archivos html o cgi, este directorio ya existe en nuestro sistema, lo que procede es poner documentos ahi para que httpd(8) los lea.
Ahora tambien es posible ejecutar httpd desde el shell, via rc.d(8) de la sig. forma.
# /etc/rc.d/httpd start
A continuacion ponemos algo dentro del directorio por defecto de httpd :
# vi /var/www/index.html
Escribimos una linea html en el archivo y guardamos los cambios, ejemplo:
<h1> It work's </h1>
A continuacion, iniciamos httpd(8), para ello basta ejecutar desde la linea de comandos:
# /etc/rc.d/inetd restart
Apuntamos nuestro browser hacia http://localhost para probar nuestra configuracion.
[editar] Parametros adicionales
-c habilita el uso de scripts cgi, bajo el directorio /var/www/cgi-bin -x Permite el indizado de directorios dentro de un directorio particular dentro del DocumentRoot (/var/www en este caso) -v Habilita el uso de VirtualHost o servidores virtuales dentro de nuestro DocumentRoot.
[editar] Ejemplos
http stream tcp nowait:600 _httpd /usr/libexec/httpd httpd -v /var/vroot /var/www Inicia httpd(8) via inetd con Vhosts dentro de /var/vroot
httpd -C .php /usr/pkg/bin/php /var/www Inicia httpd(8) con soporte php dentro de /var/www/
[editar] Autenticacion
httpd(8) soporta autenticacion basica, si un archivo .htpasswd se encuentra en el algun directorio del DocumentRoot, este permite restringir el acceso a el mismo.