Baikal Update auf stable Version

Die Open Source Software Baikal zur Kalender- und Kontaktsynchronisation über CalDAV bzw. CardDAV ist nach etwas längerer Pause in einer neuen Version erschienen. Das Update ist relativ unkompliziert durchzuführen. Natürlich sollten alle relevanten Komponenten wie Datenbank und Daten zuvor gesichert werden, um ein schnelles Fallback ermöglichen zu können. Nach dem Update von der Version „0.2.7“ auf die aktuellste Version müssen nachträglich auch die URLs in den Kalender bzw. Kontaktprogrammen (Thunderbird, iOS etc…) angepasst werden, damit die Cloud basierte Synchronisation wieder funktioniert.

Als erstes wird die Datenbank von Baikal gesichert. Die Parameter „DBUSER“, „DBPASSWD“ und „DBNAME“ müssen an die eigenen Gegebenheiten angepasst werden. Das Backup wird direkt in das Homeverzeichnis des aktuellen Benutzers geschrieben.

mysqldump -h localhost -u DBUSER -pDPPWD DBNAME > ~/baikal-sqlbkp_`date +"%Y%m%d"`.sql

Über wget wird die aktuelle Version heruntergeladen. Bei neueren Versionen muss die Download URL natürlich angepasst werden.

wget https://github.com/fruux/Baikal/releases/download/0.4.0/baikal-0.4.0.zip

Die Binaries werden entpackt und landen automatisch im Verzeichnis „baikal“.

unzip baikal-0.4.0.zip

Das zuvor heruntergeladene Archiv kann jetzt gelöscht werden.

rm baikal-0.4.0.zip

Die bestehenden Daten der Baikal Installation, die im Webroot liegen, werden verschoben. Dies dient später automatisch als Backup. Das Webroot Verzeichnis kann je nach Distribution  unterschiedlich sein. Bei Debian dürfte es „/var/www/“ sein.

sudo mv /srv/http/baikal /srv/http/baikal_old

Jetzt können auch die neuen Dateien an die richtige Stelle verschoben werden.

sudo mv baikal /srv/http/baikal

Aus der alten Version werden ein paar bestehende Dateien benötigt, die aus dem Backup kopiert werden.

sudo cp -a /srv/http/baikal_old/Specific/ /srv/http/baikal/

Die Besitzrechte des Verzeichnisses müssen auch wieder an den Webserver angepasst werden.

sudo chown -R http:http /srv/http/baikal

Unter Debian wird der Befehl wie folgt aussehen.

sudo chown -R www-data:www-data /var/www/baikal

Das Update kann jetzt über die Weboberfläche abgeschlossen werden.

https://foo.bar/baikal/html/admin/

Wenn das Update erfolgreich abgeschlossen ist, müssen die URLs in den einzelnen Programmen noch angepasst werden. In den folgenden Beispielen wird das Vorgehen für die Kalender in Thunderbird und iOS beschrieben.

Thunderbird alt: https://foo.bar/baikal/card.php/calendars/USER/kalender
Thunderbird neu: https://foo.bar/baikal/html/dav.php/calendars/USER/kalender
iOS alt: https://foo.bar/baikal/card.php/principals/USER/
iOS neu: https://foo.bar/baikal/html/dav.php/principals/USER/

Im letzten Schritt wird der Webauftritt der Baikal Installation begrenzt, indem nur noch das Verzeichnis „html“ von außen erreichbar gemacht wird. Dazu wird unter nginx die Konfiguration der Location angepasst.

sudo nano /etc/nginx/sites-available/baikal.conf
Alt:
# Baikal CalDav/CardDav config
location ~* /baikal {
        root /srv/http;
	...
Neu:
# Baikal CalDav/CardDav config
location ~* /baikal/html {
        root /srv/http;
	...

Das Webinterface ist ab jetzt unter „https://foo.bar/baikal/html/admin/“ erreichbar.

Baikal Update
Bei Erfolg kann das alte Baikal Verzeichnis sowie die Sicherung der Datenbank wieder gelöscht werden.