Documentazione

Abyss Web Server & DJB daemontools mini HOWTO

Lorenzo Benazzi, lorenzo_benazzi-sysadmin (at) yahoo.it

v1.3 2013-08-14

Questo documento ha lo scopo di spiegare come configurare un server HTTP Abyss gestito dai daemontools di DJB.


1. Introduzione

Abyss Web Server & DJB Daemontools miniHOWTO è una piccola guida all'installazione e configurazione di Abyss Web Server, in modo da poterlo gestire daemontools.

Abyss Web Server è (come dice il nome) un web server, basato sull'ottimo Abyss 0.3; al contrario di quest'ultimo però è closed-source (anche se aprelium non esclude di renderlo opensource in futuro).

I daemontols sono un pacchetto di utility per la gestione dei servizi (daemons) su sistemi unix & c. Sono stati sviluppati da D. J. Bernstein; non credo che DJB abbia bisogno di presentazioni (ha creato qmail).

1.1. Licenza

Se non specificato diversamente, il copyright dei documenti HOWTO di Linux appartiene ai loro rispettivi autori.

I documenti HOWTO di Linux possono essere riprodotti e distribuiti nella totalità o in parte, su ogni mezzo fisico o elettronico, purché questo messaggio sia contenuto in tutte le copie.

È consentita e incoraggiata la ridistribuzione commerciale; tuttavia, all'autore piacerebbe ricevere informazioni su ciascuna di tali distribuzioni.

Tutte le traduzioni, lavori derivati o lavori aggregati che contengono qualsiasi documento HOWTO di Linux devono essere ricoperti da questo messaggio di copyright.

Ossia, non è possibile produrre un lavoro derivato da un HOWTO e imporre delle restrizioni addizionali alla sua distribuzione.

Eventuali eccezioni a queste regole possono essere concesse sotto particolari condizioni; si prega di contattare il coordinatore degli HOWTO di Linux.

In breve, desideriamo promuovere la diffusione di queste informazioni attraverso più canali possibile.

Tuttavia, vogliamo mantenere il copyright sui documenti HOWTO, e gradiremmo essere informati su qualsiasi intenzione di ridistribuire gli HOWTO.

Per maggiori dettagli sulla licenza fate riferimento al documento orginale della licenza LDP prelevabile all'indirizzo.

http://tldp.org/COPYRIGHT.html

2. Installazione

Per prima cosa, servono 2 utenti:

  • www-data è l'account non amministrativo utilizzato da abyss; su debian esiste già l'utente www-data con id 33 e gid 33.
  • multilog è l'account utilizzato da daemontools per i log.
useradd -u 64001 -s /bin/false -d /nonexistant -g nogroup multilog

Scaricare abyss web server e installarlo:

cd /opt
tar xzf /tmp/abwsx1.tgz
cd abyssws/
./abyssws -r

L'opzione -r permette di avviare abyss attraverso l'utente root (utile per una prima configurazione).

Collegarsi a http://IP_Server:9999.

Configurare la lingua e la login (es. user:admin pass:admin) e impostare che il servizio giro con utente www-data.

Arrestare il servizio.

Impostazione permessi:

chown -R root:sys /opt/abyssws
chown -R www-data:root abyss.conf kcstore log persist.data htdocs

Creare le cartelle da utilizzare con daemontools e impostarne i permessi:

mkdir /var/svc.d/abyssws
mkdir /var/svc.d/abyssws/log
mkdir /var/multilog/abyssws

chown -R multilog:nogroup /var/multilog/abyssws
chmod g+s /var/multilog/abyssws /var/svc.d/abyssws/ /var/svc.d/abyssws/log

creare un file /var/svc.d/abyssws/run:

#!/bin/sh
exec 2>&1
echo "*** Starting Abyss Web Server... ***"
exec /opt/abyssws/abyssws -c abyss.conf 2>&1

Creare /var/svc.d/abyssws/log/run:

#!/bin/sh
exec setuidgid multilog multilog t s10485760 n8 /var/multilog/abyssws

Rendere gli script avviabili:

chmod 755 /var/svc.d/abyssws/run /var/svc.d/abyssws/log/run

Creare un link:

ln -s /var/svc.d/abyssws /service/

Dopo aver creato questo ultimo link, abyss web server è operativo.

Ora è possibile completare la configurazione.

3. Collegamenti

Aprelium - Il sito degli sviluppatori di Abyss Web Server.

djb daemontools - gli strumenti per gestire i servizi UNIX.

Debian - la distro Linux utilizzata.