ConfigurazioneSerWeb
SerWeb è una applicazione PHP usata per creare ed amministrare gli account Sapientel. Qui a Sapientel stiamo usando la versione 0.9.4, e per il suo corretto funzionamento, abbiamo affrontato i seguenti passi di configurazione:
- configurazione email
- prerequisiti
- configurazione dei Path
- localizzazione dei messaggi
- restrizione di accesso
- inserimento di un footer comune e rimozione delle linguette non usate
- links alla documentazione
Configurazione email
Per poter creare un nuovo account, SerWeb invia una email all'utente, che contiene un link ad una pagina da cliccare, in modo da confermare che l'utente possieda una email reale. L'email viene inviata facendo uso dell'SMTP della stessa macchina, il quale in genere non viene accettato come mittente dall'SMTP di destinazione, per evidenti restrizioni anti-spam. Per questo, si è modificato il file /etc/mail/sendmail.mc
, definendo lo SMART_HOST
come l'SMTP dl proprio provider, il quale possiede un RR MX nel DNS, e viene dunque accettato come mittente.
Prerequisiti
Una volta creato l'account, se si desidera gestirlo e si riceve il seguente messaggio di errore "FIFO not running or bad path to it" , accertarsi che Ser sia in esecuzione.
Una volta entrati nell'interfaccia di gestione dell'account, cliccando le sezioni "missed calls" o "accounting" si riceve l'errore "DB Error: syntax error" . Questo e' dovuto al fatto che Serweb richiede una versione MySql >=4, in quanto fa uso di UNIONS. Al momento su smile.ing.uniroma1.it
c'e' la versione 3. Allo stato attuale si e' risolto, non facendo visualizzare i tab "missed calls" e "accounting" disabilitandoli nel file config.php
Se si riceve il messaggio di errore "sorry --cannot open write fifo" , accertarsi che il file /tmp/ser_fifo
abbia i giusti permessi, eseguendo ad esempio un chmod 666 /tmp/ser_fifo
.
Configurazione dei Path
I path vanno settati nel file config_path.php
, indicando la directory radice della cartella html
di Serweb. Si consiglia di rendere accessibile al webserver la sola cartella html (per esempio impostando un Alias e modificando i permessi).
Nel nostro caso, abbiamo deciso di collocare serweb in /var/www/
e per renderlo accessibile, sono stati modificati i permessi nel seguente modo:
chown apache /var/www/serweb/html/
chgrp root /var/www/serweb/html/
chmod 755 /var/www/serweb/html/
Si e' poi impostato un Alias nel file di configurazione di Apache
Alias /serweb "/var/www/serweb/html"
Mentre nel file config_path.php
di Serweb, si e' inserito il path :
$config->root_path="/serweb/";
Localizzazione dei messaggi
Dato che Sapientel si rivolge principalmente ad una utenza di lingua italiana, ci è sembrato opportuno procedere alla traduzione dei files contenenti i messaggi inviati agli intestatari degli account, ed in pieno spirito OpenSource, desideriamo condividere questo sforzo, con coloro a cui può essere utile.
File | Completato | Data |
---|---|---|
mail_register.txt | 26/11/06 | |
terms.txt | ||
mail_forgot_password_conf.txt | 26/11/06 | |
mail_forgot_password_pass.txt | 26/11/06 | |
italiano-utf-8.php.ZIP | 02/12/06 |
Restrizione di accesso
Senza ulteriori modifiche, chiunque nel mondo può richiedere un nuovo account di Sapientel, e questo sembra essere esageratamente permissivo. Abbiamo allora individuato due possibili soluzioni:
@uniroma1.it
. Questo è stato possibile, apportando al codice PHP le modifiche
- nella intestazione di function.php, si inserisce la variabile
$reg_validate_email_uniroma1 = "^[^@]+@[^,;@ ]*uniroma1\.it$"
Creg()
si inserisce
$reg_validate_email_uniroma1
$this->uniroma1 = $reg_validate_email_uniroma1
- in apu_registration.php si inserisce il controllo
"valid_regex"=>$this->reg->uniroma1
- in registration.tpl, si inserisce il codice
<tr>
<td><label for="codice">{$lang_str.ff_codice}:</label></td>
<td>{$form.codice}</td>
</tr>
<tr>
<td> </td>
<td><div -->class="swRegFormDesc">{$lang_str.reg_codice_desc}</div></td>
</tr>
- in apu_registration.php si inserisce il codice per il nuovo campo
$this->f->add_element(array("type" => "text",
"name" => "codice",
"size" => 10,
"maxlength"=> 10,
"pass" => 1,
"value"=> "",
"extrahtml"=> "style='width:250px;'"));
validate_form
si inserisce il controllo del valore del gettone:
if ($_POST['codice'] != "metti qui il gettone desiderato") {
$errors[]=$lang_str['fe_invalid_token']; return false;}
- in italiano-utf-8.php, si inseriscono le scritte di contorno al nuovo campo
$lang_str['ff_codice'] = "gettone di autorizzazione";
$lang_str['reg_codice_desc'] = "Inserisci qui sopra il gettone di autorizzazione che
ti e' stato comunicato. Puoi richiederlo scrivendo al DevTeam.";
$lang_str['fe_invalid_token'] = "Gettone di autorizzazione non valido";
Le due soluzioni possono coesistere in forma alternativa, ma per ora è valida solo la seconda, mentre l'ammissione per tutti i possessori di una email *.uniroma1.it sarà attivata qualora il servizio venga effettivamente adottato dall'ateneo.
Inserimento di un footer comune e rimozione delle linguette non usate
Si e' provveduto ad inserire un footer comune (logo Sapientel)a tutte le pagine, modificando il file /template/_tail.tpl
e inserendo il codice:
<p><a href="http://smile.ing.uniroma1.it/sapientel"><img border=0 src="percorso_immagine"</a></p>
Come ilustrato sopra, Serweb richiede una versione MySql >=4, in quanto fa uso di UNIONS. Usando invece la versione 3, si è scelto di non visualizzare i tab "missed calls" e "accounting", disabilitandoli nel file config.php
Links alla documentazione
La documentazione più aggiornata probabilmente si trova presso il CVS, e qui linkiamo quella presente nella distribuzione:
Pagine che puntano a questa: