Progetto

Generale

Profilo

WebCalendar » Cronologia » Versione 5

Simone Piccardi, 22-12-2010 19:33

1 5 Simone Piccardi
h1. WebCalendar
2 1 Amministratore Truelite
3 5 Simone Piccardi
h2. Installare e configurare _WebCalendar_
4 4 Amministratore Truelite
5 5 Simone Piccardi
Su Debian è disponibile il pacchetto @webcalendar@, installabile direttamente con APT, il pacchetto però, pur facendo riferimento ad un database, non lo installa.
6 1 Amministratore Truelite
7 5 Simone Piccardi
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]]. 
8 1 Amministratore Truelite
9 5 Simone Piccardi
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.
10 1 Amministratore Truelite
11 5 Simone Piccardi
Segue l'indicazione del database (nel caso si è scelto appunto MySQL dal relativo menù, l'altra possibilità è l'uso di PostgreSQL), per il quale vengono poi richiesti in successione:
12 1 Amministratore Truelite
13 5 Simone Piccardi
* hostname (che sarà @localhost@)
14
* username dell'utente (nel caso si è scelto @webcalendar@)
15
* una password (ad esempio @passwordlungaedifficile@)
16
* il nome del database (@webcalendar@, tanto per cambiare ...)
17 1 Amministratore Truelite
18 4 Amministratore Truelite
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.
19 1 Amministratore Truelite
20 5 Simone Piccardi
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:
21 1 Amministratore Truelite
22 4 Amministratore Truelite
<pre>
23 1 Amministratore Truelite
mysqladmin -u root -p create webcalendar
24 4 Amministratore Truelite
</pre>
25 1 Amministratore Truelite
26 5 Simone Piccardi
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_).
27 1 Amministratore Truelite
28 5 Simone Piccardi
A questo punto si passerà alla creazione dell'utente usato da WebCalendar per l'interazione con MySQL, per il quale si potranno utilizzare le solite istruzioni spiegate in [[MySQLInitConf]].
29 1 Amministratore Truelite
30 5 Simone Piccardi
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 è:
31 1 Amministratore Truelite
32 4 Amministratore Truelite
<pre>
33 1 Amministratore Truelite
mysql -u webcalendar -p webcalendar < /var/lib/webcalendar/sql/tables-mysql.sql
34
</pre>
35
36
(al solito sarà chiesta la password, stavolta dell'utente webcalendar).
37
38 4 Amministratore Truelite
Si potrà verificare che la struttura è stata creata collegandosi con il nuovo utente e verificando quali tabelle sono state crete sul database con:
39 1 Amministratore Truelite
40
<pre>
41
server:~# mysql -u webcalendar -p webcalendar
42
Enter password:
43
44
mysql> show tables;
45
+--------------------------+
46
| Tables_in_webcalendar    |
47
+--------------------------+
48
| webcal_asst              |
49
| webcal_categories        |
50
| webcal_config            |
51
| webcal_entry             |
52
| webcal_entry_ext_user    |
53
| webcal_entry_log         |
54
| webcal_entry_repeats     |
55
| webcal_entry_repeats_not |
56
| webcal_entry_user        |
57
| webcal_group             |
58
| webcal_group_user        |
59
| webcal_import            |
60
| webcal_import_data       |
61
| webcal_nonuser_cals      |
62
| webcal_reminder_log      |
63
| webcal_report            |
64
| webcal_report_template   |
65
| webcal_site_extras       |
66
| webcal_user              |
67
| webcal_user_layers       |
68
| webcal_user_pref         |
69
| webcal_view              |
70
| webcal_view_user         |
71
+--------------------------+
72
23 rows in set (0.00 sec)
73
74
mysql> \q
75
Bye
76
</pre>
77
78 5 Simone Piccardi
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:
79 1 Amministratore Truelite
80 4 Amministratore Truelite
<pre>
81 1 Amministratore Truelite
Include /etc/webcalendar/apache.conf
82 4 Amministratore Truelite
</pre>
83 1 Amministratore Truelite
84 5 Simone Piccardi
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).
85 1 Amministratore Truelite
86 5 Simone Piccardi
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. 
87 1 Amministratore Truelite
88 5 Simone Piccardi
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:
89 1 Amministratore Truelite
90
<pre>
91
user_inc: user-ldap.php
92
</pre>
93
94 5 Simone Piccardi
questo però va in conflitto con la gestione di _debconf_, occorrerà mantenere la modifica a mano.
95 1 Amministratore Truelite
96 5 Simone Piccardi
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:
97 1 Amministratore Truelite
98
<pre>
99
...
100
// base DN to search for users
101
$ldap_base_dn = 'ou=Users,dc=truelite,dc=it';
102
...
103
// A group name (complete DN) to find users with admin rights
104 4 Amministratore Truelite
$ldap_admin_group_name = 'cn=webcal_admin,ou=Groups,dc=truelite,dc=it';
105 1 Amministratore Truelite
...
106 4 Amministratore Truelite
</pre>
107 1 Amministratore Truelite
108 5 Simone Piccardi
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
109 1 Amministratore Truelite
110 5 Simone Piccardi
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.
111 1 Amministratore Truelite
112 5 Simone Piccardi
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).
113 1 Amministratore Truelite
114 5 Simone Piccardi
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.
115 1 Amministratore Truelite
116 4 Amministratore Truelite
Vedi inoltre: 
117 1 Amministratore Truelite
118
* [[ApacheTwoConfig]]