 |
Installing WB |
Luca Fini (lfini@arcetri.astro.it). September 2006
Copiare i files sul server Web
Per istallare WB occorre innanzitutto identificare due particolari
directory relativi al server Web:
la directory CGI e la radice dei documenti (document root)
To proceed with WB installation you must first locate two directories on
La directory CGI contiene le procedure eseguibili (CGI). Può trovarsi
in posizioni differenti a seconda della configurazione del server Web, spesso
si trova in una delle seguenti posizioni:
/usr/local/apache/cgi-bin
/var/www/cgi-bin
Anche la radice dei documenti può variare a seconda della configurazione.
Normalmente si trova in:
/var/www/html
/opt/htdocs
/var/htdocs
e simili.
Note: Se utilizzate il server Apache potete cercare la variabile relativa
nel file di configurazione (httpd.conf).
Occorre cercare le variabli:
ScriptAlias per la directory CGI e DocumentRoot per la radice dei documenti.
|
L'istallazione di WB rechiede poche operazioni:
- Creare una sottodirectory specifica sotto la radice dei documenti
dove saranno create le bacheche.
> mkdir /var/www/html/Bacheche
- Trasferire i files della distribuzione WB nella directory creata:
> tar xvfz wb.tgz
o anche
> gunzip -c wb.tgz | tar xvf
- Move the program wb.py into CGI directory. E.g.:
- spostare i programmiwb.py e wbmgmt.py nella directory CGI:
> mv wb.py wbmgmt.py /var/www/cgi-bin
-
Il server http deve avere permessi di scrittura su questa directory.
Il modo più semplice consiste nel assegnare come proprietario della
directory lo userid utilizzato per lanciare il server. Dovete verificare
la vostra installazione; gli userid comunemente usati sono:
"apache", o "cochise" o anche "nobody".
Potete usare il comando ps come segue:
: ps -ef | grep httpd
root 624 1 0 Jul 05 ? 0:09 /usr/local/apache2/bin/httpd
cochise 27509 624 0 16:34:03 ? 0:00 /usr/local/apache2/bin/httpd
cochise 27421 624 0 16:33:05 ? 0:00 /usr/local/apache2/bin/httpd
..... more lines ...
Ignorate la linea con "root", nelle altre viene mostrato lo userid che dovete usare.
Nota:
varie versioni di Unix(Linux) possono evere sintassi un po' diverse per il cpomando ps,
ad esempio: ps aux
|
- Per finire dovete personalizzare il file wb.py per adattarlo
alle vostre esigenze, le linee interessate sono:
# Start customization section
root_http = 'http://www.my.domain/Bacheche'
root_dir = '/var/www/html/Bacheche'
domain = 'my.domain' # e-mail domain
smtphost = 'smtp.my.domain' # smtp host
def_lang = 'it' # Default language
auth_mode = 'unix' # Specify user authorization method
debug = 0 # Set to 1 for debug output
def_ttl = 600 # Session expiring time
dolog = 1 # Set to 0 for no logging
Le prime cinque righe sono le più importanti:
- root_http
- La URL della directory per le Bacheche come richiesta dal vostro server Web.
Nell'esempio sopra si tratta di una sottodirectory della radice del server.
- root_dir
- Il path della stessa directory
- domain
- Il dominio di posta elettronica che sarà utilizzato per inviare messaggi.
- smtphost
- L'indirizzo del server di posta elettronica che invia i messaggi.
- def_lang
- Il linguaggio utilizzato per default.
(Nota: è possibile definire un linguaggio specifico per ogni
bacheca. Si veda le note di
configurazione).
- auth_method
- Questa variabile può essere: 'unix', o 'local'.
Le operazioni sulla bacheca sono protette dal controllo di accesso
basatoi su username/password. Se il valore è 'unix' le
credenziali sono verificate prima mediante il controllo degli utenti standard di Unix,
e poi in un database di credenziali specifico del programma WB.
Se il valore è 'local' viene utilizzato solo il database
specifico. Tale database viene gestito utilizzando il programma
con le relative opzioni: wb.py -u, wb.py -l, wb.py -r.
- Per finire dovete verificare che il programma wb.py possa essere
laniato dal server Web e che i files relativi siano accessibili in lettura.
Potrebbe essere necessario cambiare i diritti di proprietà o di accesso ai files.
Prova dell'istallazione
- Provate a lanciare il programma wb.py da linea di comando:
> python wb.py
wb.py - L.Fini (lfini@arcetri.astro.it). Version 4.11, October 2005
Usage: wb.py -i directory show billboard info
wb.py -m [directory] perform billboard maintenance [only on specified dir]
wb.py -s bboard doc show document file structure
wb.py -u user passwd add user/password to local password file
wb.py -v directory show available languages
Nota: si noti che il programma wb.py può essere utilizzato
anche da linea di comando. Ciò è utile in varie occasioni, ad esempio per
effettuare manutenzioni periodiche programmate delle bacheche (vedere sotto).
|
- Verificate che il programma possa essere lanciato come comando:
> /var/www/cgi-bin/wb.py
E dovete ottenere lo stesso risultato del comando precedente.
Se ciò non accade, vertificate il path dell'interprete python:
> which python
/usr/bin/python
Lo stesso path deve comparire nella prima linea del programma wb.py:
#!/usr/bin/python
- Verificate adesso che wb.py possa essere lanciato come applicazione CGI.
Aprite con un qualunque browser la URL relativa, ad es:
http://www.my.domain/cgi-bin/wb.py
Il risultato dovrebbe essere una pagina con l'elenco delle bacheche disponibili.
Nota: Non vedrete nessuna bacheca perché non ne avete ancora definite!
A questo puntio potete passare alla configurazione per definire la prima bacheca.
Manutenzione della directory delle bacheche
I documenti scaduti possono essere rimossi dalla dirfectory delle bacheche. Non è
individuare i files: i nomi non sono ovvi e ciascun documento può avere files
allegati. WB fornisce una funzione per effettuare la manutenzione dalla sua
interefaccia web, ma un amministratore potrebbe desiderare di automatizzare il processo.
&Egrfave; abbastanza semplice attivare una procedura "crontab" che viene lanciata periodicamente (ad esempio
una volta al giorno) per utilizzare il programma wb.py con l'opportuna opzione, ad esempio:
> python /var/www/cgi-bin/wb.py -m myboard
Dove "myboard" è il nome della bacheca. Il comando verifica tutti i documenti
e cancella quelli scaduti (inclusi gli eventuali allegati).
Ricerca di errori in WB
Quando qualche cosa non funziona, è possibile attivare le funzioni di
debug in due modi:
- Potete fare una copia del file wb.py chiamandolo
wt.py (noater la lettera "t" nel nome), e lanciarlo con
il nuovo nome (un "link" simbolico funziona altrettanto bene).
- Potete modificare il file wb.py e mettere ad 1 il valore
della variabile debug (non dimenticate di rimettere a 0
il valore dopo i test).
Il programma WB in modo debug fornisce molte informazioni aggiuntive ed
inoltre abilita la funzione di "traceback" standard dei programmi CGI scritti
in Python.