[successivo] [precedente] [inizio] [fine] [indice generale] [licenze] [indice analitico] [tomo] [parte]


Capitolo 216.   Servente HTTP: Boa

Boa (1) è un servente HTTP elementare ma efficace, in grado di offrire le funzionalità tipiche di questo servizio. Si compone fondamentalmente di un demone, boa, e di un file di configurazione, /etc/boa/boa.config. Solitamente, al demone si affianca anche un programma utile per la generazione degli indici: boa_indexer.

Nella sua semplicità, Boa mantiene alcune convenzioni comuni ad altri sistemi del genere. In particolare, esiste una directory di origine del programma servente (server root), intesa idealmente come la directory corrente in diverse situazioni; nello stesso modo esiste una directory di origine per i documenti pubblicati (document root).

Dalle direttive del file di configurazione si possono intendere in modo molto semplice le sue caratteristiche.

216.1   Configurazione di Boa

Il file di configurazione di Boa va collocato in base alle scelte fatte in fase di compilazione. In generale dovrebbe trattarsi precisamente di /etc/boa/boa.conf. Come in molti altri casi, le righe vuote e quelle bianche sono ignorate, inoltre i commenti iniziano con il simbolo # e terminano alla fine della riga. Per il resto, le direttive possono avere una di queste due forme:

nome   valore_assegnato
nome

Nel primo caso si attribuisce un valore a ciò che viene rappresentato dal nome a sinistra; nel secondo si intende abilitare un'opzione booleana.

L'unica cosa che non si può modificare con la configurazione è la definizione della directory di origine del servente, che viene definita in fase di compilazione del programma. In alternativa, si può usare l'opzione -c  directory per imporla all'avvio del demone boa.

Nel seguito vengono descritte alcune delle direttive di configurazione di Boa.

Per completare la descrizione sulla configurazione di Boa, si mostra un esempio relativamente completo, ma con meno commenti di quello reale.

# Port: The port Boa runs on.  The default port for http servers is 80.
# If it is less than 1024, the server must be started as root.
Port 80

#  User: The name or UID the server should run as.
# Group: The group name or GID the server should run as.
User www-data
Group www-data

# ErrorLog: The location of the error log file. If this does not start
# with /, it is considered relative to the server root.
# Set to /dev/null if you don't want errors logged.
# If unset, defaults to /dev/stderr
ErrorLog /var/log/boa/error_log

# AccessLog: The location of the access log file. If this does not
# start with /, it is considered relative to the server root.
# Comment out or set to /dev/null (less effective) to disable 
# Access logging.
AccessLog /var/log/boa/access_log

# DocumentRoot: The root directory of the HTML documents.
# Comment out to disable server non user files.
DocumentRoot /var/www

# UserDir: The name of the directory which is appended onto a user's home
# directory if a ~user request is recieved.
UserDir public_html

# DirectoryIndex: Name of the file to use as a pre-written HTML
# directory index.  Please MAKE AND USE THESE FILES.  On the
# fly creation of directory indexes can be _slow_.
# Comment out to always use DirectoryMaker
DirectoryIndex index.html

# DirectoryMaker: Name of program used to create a directory listing.
# Comment out to disable directory listings.  If both this and
# DirectoryIndex are commented out, accessing a directory will give
# an error (though accessing files in the directory are still ok).
DirectoryMaker /usr/lib/boa/boa_indexer

# MimeTypes: This is the file that is used to generate mime type pairs
# and Content-Type fields for boa.
# Comment out to avoid loading mime.types (better use AddType!)
MimeTypes /etc/mime.types

# DefaultType: MIME type used if the file extension is unknown, or there
# is no file extension.
DefaultType text/plain

# ScriptAlias: Maps a virtual path to a directory for serving scripts
# Example: ScriptAlias /htbin/ /www/htbin/
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

216.2   Avvio e gestione del servizio

Il demone boa è ciò che svolge tutto il lavoro. In generale si avvia senza argomenti, oppure si specifica la directory di origine del servente:

boa [-c  directory_origine_servente]

Naturalmente, è normale che sia avviato con i privilegi dell'utente root.

Per la gestione del servizio si utilizza normalmente la procedura di inizializzazione del sistema. Semplificando molto le cose, lo script che attiva a disattiva il funzionamento di Boa potrebbe essere simile all'esempio seguente:

#! /bin/sh

case "$1" in
    start)
        echo "Avvio del servizio HTTP."
        /usr/sbin/boa
        ;;
    stop)
        echo "Arresto del servizio HTTP."
        killall boa
        ;;
    *)
        echo "Utilizzo: /etc/init.d/boa {start|stop}"
        exit 1
esac

exit 0

216.3   Riferimenti

Appunti di informatica libera 2001.01.30 --- Copyright © 2000-2001 Daniele Giacomini --  daniele @ swlibero.org

1) Boa   GNU GPL


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome servente_http_boa.html

[successivo] [precedente] [inizio] [fine] [indice generale] [licenze] [indice analitico] [tomo] [parte]