Servidor en un Mac prePPC, paso tres: Servicios del servidor, por Toad

Hoy veremos los serivicos que vamos a instalar en este servidor.

– Lo típico: FTP y Finger, corriendo con inetd.

– Acceso por telnet o SSH (ver más abajo).

– DynDNS-Updater, usando mi programa (ver sección de software). Eejecutándose cada día a una determinada hora.

– Servidor WWW: thttpd.

En realidad ya había probado Apache como servidor de WWW, pero he decidido pasar a otros servidores más ligeros, que está claro que son menos potentes (y menos seguros) que el rey-de-los-servidores Apache, pero la ventaja es que el aumento de velocidad supongo que se notará en un Quadra a 25MHZ…

El servidor web que había pensado instalar primeramente era cherokee, un servidor español, más rápido que Apache y que me habían recomendado. El problema es que require POSIX threads (pthreads), que no vienen instaladas de «serie» en NetBSD/mac68k; y como quería probar algo rápido instalé thttpd, que también sabía que era muy rápido, bastante seguro y que había visto en funcionamiento en algunos servidores.

Antes de empezar a configurar el servidor, lo primero era añadir un grupo de usuarios los cuales puedan «escribir» en el directorio de webs, y además el usuario sobre el que corra el daemon httpd también pertenecerá a este group (no quería correr el servidor como «root»):

radon# groupadd www

Ahora añadimos el usuario «www» que pertenecerá al grupo «www»:

radon# useradd -m www -g www

radon# passwd www

Modificamos el «/etc/group» para añadir al grupo «www» aquellos usuarios que puedan escribir en el dir. de webs:

radon# vi /etc/group

Creamos el directorio donde estarán las webs, y el «cgi-bin»:

radon# mkdir /www

radon# chgrp www /www

radon# chown www /www

radon# chmod 775 /www

radon# ls -dl /www

radon# mkdir /www/cgi-bin

radon# chgrp www /www/cgi-bin

radon# chown www /www/cgi-bin

radon# chmod 775 /www/cgi-bin

Ahora nos hacemos con el servidor, en mi caso la última versión era la thttpd-2.25b:

radon# ftp ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/thttpd/thttpd-2.25b.tar.gz

Después configuramos, compilamos e instalamos el servidor:

radon# tar -zxvf thttpd-2.25b.tar.gz

radon# cd thttpd-2.25b

radon# ./configure && make && make install

Después hice el shell-script que lanzará el servidor.

Las opciones que he usado son:

#!/bin/sh

/usr/local/sbin/thttpd -p 80 -d /www -u www -c «cgi-bin/*» -l /home/www/logs/actual

Con un man thttpd se ven todas. Básicamente hace que escuche en el puerto 80, le dice que la web está en «/www», que lo arranque como usuario «www» (despues de hacer algunas cosas como root), y que los CGIs son todos los que hay en la carpeta cgi-bin (hay que reiniciar el servidor cuando ponemos uno nuevo); y que el log lo haga por ejemplo en /home/www/logs/actual.

Ese documento lo guardo en:

/root/soft/thttpd/thttpd.sh.

En el mismo directorio también he hecho un daemonwatcher.sh que contiene lo siguiente:

#!/bin/sh

pgrep thttpd > /dev/null 2> /dev/null

if [ «$?» = «1» ]

then

echo «thttpd is not active at `date`. Starting…» >> /root/soft/thttpd/LOG

/root/soft/thttpd/thttpd.sh

else

echo «thttpd is active at `date`» >> /root/soft/thttpd/LOG

fi

Eso se ejecuta con «cron» cada hora. Más abajo pondré mi archivo crontab.

3 Comments

Deja una respuesta