Progetto

Generale

Profilo

Actions

WebCalendar » Cronologia » Versione 4

« Precedente | Versione 4/5 (diff) | Successivo »
Amministratore Truelite, 10-10-2006 20:14


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.


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:

<pre>
mysqladmin -u root -p create webcalendar
</pre>

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:

<pre>
mysql --user=root mysql -p
</pre>

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:

<pre>
GRANT ALL PRIVILEGES ON *.* TO webcalendar@localhost IDENTIFIED BY 'antani' WITH GRANT OPTION;
</pre>

(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 è:

<pre>
mysql -u webcalendar -p webcalendar < /var/lib/webcalendar/sql/tables-mysql.sql
</pre>

(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:

<pre>
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
</pre>

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:

<pre>
Include /etc/webcalendar/apache.conf
</pre>

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:

<pre>
user_inc: user-ldap.php
</pre>

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:

<pre>
...
// 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';
...
</pre>

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]]

Aggiornato da Amministratore Truelite circa 18 anni fa · 4 revisions