Progetto

Generale

Profilo

WebCalendar » Cronologia » Versione 2

Versione 1 (Amministratore Truelite, 26-01-2006 17:21) → Versione 2/5 (Amministratore Truelite, 08-03-2006 15:49)

[[TracNav(TOC)]] 
 = WebCalendar = 

 == Installare e configurare WebCalendar == 

 Su Debian è disponibile il pacchetto webcalendar, installabile direttamente con APT, il pacchetto però, pur facendo riferimento ad un database, non lo installa. 

 Per questo motivo è sempre il caso di installare preventivamente MySQL (database scelto per l'occasione) con apt-get install mysql ed eseguire le procedure di configurazione iniziale descritte in MySQLInitConf. 

 Una volta presente il database si può procedere all'installazione di WebCalendar; il sistema di debconf farà una serie di domande, la prima è se far gestire lui il file di configurazione principale config.php. In genere è opportuno rispondere di si. 

 Segue l'indicazione del database (nel caso si è scelto appunto MySQL dal relativo menù, l'altra possibilità è l'uso di Postgres), per il quale vengono poi richiesti in successione: 

  * hostname (che sarà localhost) 
  * username dell'utente (nel caso si è scelto webcalendar) 
  * una password (ad esempio antani) 
  * il nome del database (webcalendar, tanto per cambiare ...) 

 Immessi i dati sarà richiesto se il calendario deve essere usato da un singolo utente (rispondere no), verrà poi dato l'avviso che le tabelle devono essere create a mano. 

 Il passo successivo è quello della creazione su MySQL dell'infrastruttura dati necessaria alla manutenzione dei dati del calendario; si parte con la creazione del database, questa si fa con il comando: 

 {{{ 
 mysqladmin -u root -p create webcalendar 
 }}} 

 che chiederà la password del root del database e creerà il database dedicato a WebCalendar (si noti che si è usato lo stesso nome messo nella configurazione di '''debconf'''). 

 A questo punto si passerà alla creazione dell'utente usato da WebCalendar per l'interazione con MySQL. Il primo passo è collegarsi con i privilegi di amministratore al database mysql che contiene i dati di gestione di MySQL stesso; questo si fa con il comando: 

 {{{ 
 mysql --user=root mysql -p 
 }}} 

 che ovviamente chiede la password. A questo punto si sarà connessi sulla console di MySQL, e si potrà creare l'utente ed assegnagli i premessi necessari con la seguente riga di codice SQL: 

 {{{ 
 GRANT ALL PRIVILEGES ON *.* TO webcalendar@localhost IDENTIFIED BY 'antani' WITH GRANT OPTION; 
 }}} 

 (di nuovo si noti che si sono utilizzati username e password immessi in fase configurazione con debconf). E' poi oppotuno dare il comando FLUSH PRIVILEGES; prima di uscire, in modo da essere sicuri che i privilegi siano aggiornati. 

 Si può poi passare a creare le tabelle necessarie a WebCalendar nel rispettivo database, usando l'utente appena creato. Il file della struttura viene distribuito con il pacchetto, ed il comando da dare è: 

 {{{ 
 mysql -u webcalendar -p webcalendar < /var/lib/webcalendar/sql/tables-mysql.sql 
 }}} 

 (al solito sarà chiesta la password, stavolta dell'utente webcalendar). 

 Si potrà verificare che la struttura è stata creata collegandosi con il nuovo utente e verificando quali tabelle sono state crete sul database con: 

 {{{ 
 server:~# mysql -u webcalendar -p webcalendar 
 Enter password: 

 mysql> show tables; 
 +--------------------------+ 
 | Tables_in_webcalendar      | 
 +--------------------------+ 
 | webcal_asst                | 
 | webcal_categories          | 
 | webcal_config              | 
 | webcal_entry               | 
 | webcal_entry_ext_user      | 
 | webcal_entry_log           | 
 | webcal_entry_repeats       | 
 | webcal_entry_repeats_not | 
 | webcal_entry_user          | 
 | webcal_group               | 
 | webcal_group_user          | 
 | webcal_import              | 
 | webcal_import_data         | 
 | webcal_nonuser_cals        | 
 | webcal_reminder_log        | 
 | webcal_report              | 
 | webcal_report_template     | 
 | webcal_site_extras         | 
 | webcal_user                | 
 | webcal_user_layers         | 
 | webcal_user_pref           | 
 | webcal_view                | 
 | webcal_view_user           | 
 +--------------------------+ 
 23 rows in set (0.00 sec) 

 mysql> \q 
 Bye 
 }}} 

 A questo punto occorrerà configurare Apache per poter utilizzare WebCalendar via web; se si è usato Apache 1.3 occorre semplicemente aggiungere in coda ad /etc/apache/httpd.conf la seguente riga: 

 {{{ 
 Include /etc/webcalendar/apache.conf 
 }}} 

 se invece si usa Apache 2.0 si dovrà eseguire la configurazione apposita dei moduli necessari (descritta in ApacheTwoConfig) ed installare a mano questi ultimi (le dipendenze installate da WebCalendar sono per Apache 1.3). 

 Fatto questo si potrà puntare il browser sull'indirizzo http://localhost/webcalendar per ottenere la pagina di login; di default viene usato l'utente admin con password admin. La schermata iniziale è illustrata nella immagine seguente: 

 Una configurazione interessante di WebCalendar è quella che permette di di tenere l'autenticazione degli utenti del calendario su LDAP. Per far questo occorre modificare /etc/webcalendar/settings.php, utilizzando la riga: 

 {{{ 
 user_inc: user-ldap.php 
 }}} 

 questo però va in conflitto con la gestione di debconf, occorrerà mantenere la modifica a mano. 

 La prima parte del file /etc/webcalendar/user-ldap.php contiene le definizioni delle variabili usate per l'accesso a LDAP; per la configurazione dello stesso vanno allora modificate le seguenti righe: 

 {{{ 
 ... 
 // base DN to search for users 
 $ldap_base_dn = 'ou=Users,dc=truelite,dc=it'; 
 ... 
 // A group name (complete DN) to find users with admin rights 
 $ldap_admin_group_name = 'cn=webcal_admin,ou=Groups,dc=truelite,dc=it'; 
 ... 
 }}} 

 la prima serve a indicare sotto quale sezione dell'albero si trovano gli utenti, la seconda a indicare quale gruppo deve essere utilizzato per identificare gli utenti che avranno i privilegi amministrativi di WebCalendar. 

 Si tenga presente che in questo modo tutti gli utenti definiti su LDAP avranno accesso a WebCalendar. Nel caso illustrato per concedere i privilegi di amministratore ad un utente occorrerà anzitutto creare il gruppo webcal_admin e poi inserire l'utente all'interno dello stesso. 

 Con la configurazione citata sopra (che è quella usata anche da OpenPrivacy) questo comporta che detti utenti e gruppo saranno visibili anche localmente sulla macchina (se si usa PAM e NSS su LDAP) e sul dominio (se si usa anche Samba su LDAP). 

 Si tenga conto infine che è necessario anche eseguire parecchie modifiche al codice del file user-ldap.php distribuito col pacchetto di Debian (almeno per la versione 0.9.45-4) dato che questo contiene vari errori e non funziona. Si consulti il bugtracker Debian per le modifiche suggerite. 

 Vedi inoltre:  

  * ApacheTwoConfig