Falls man seine Termine oder Kontaktdaten zur Synchronisation nicht an Dritte weitergeben möchte, ist es mit sehr einfachen Mitteln möglich, sie über den eigenen Server zu hause zu synchronisieren. Das Flagschiff in dieser Richtung ist im Prinzip Owncloud, welches ebenfalls zu synchronisation CalDAV und CardDAV zur Verfügung stellt. Allerdings hatte ich bei der Synchronisation immer wieder Probleme, und so wollte ich Baikal eine Chance geben.
Baikal ist ein in PHP geschriebener, kleiner und robuster Server zum synchronisieren von Kalender- bzw. Kontaktdaten mittels CalDAV bzw. CardDAV.
Baikal speichert seine Daten in einer SQLite- oder MySQL-Datenbank, wobei für den Privatgebrauch eine SQLite-Datenbank vollkommen ausreichend ist.
Da der Webserver Apache ein wenig zu mächtig ist für einen Raspberry oder Beaglebone, wollte ich es mal mit dem Nginx versuchen ( Ausgesprochen Engine X ) - ein kleiner, schlanker und sehr performanter Webserver.
Leider habe ich dazu im Netz einige Anleitungen gefunden, die nicht richtig funktioniert haben. Daher hab ich meine funktionierende Lösung nochmal aufgeschrieben.
Nginx installieren
apt-get install nginx
PHP und SQLite installieren
apt-get install sqlite php5 php5-fpm php5-sqlite
SSL-Zertifikat erstellen
mkdir /etc/nginx/ssl cd /etc/nginx/ssl openssl genrsa -out privkey.pem 2048 openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
Virtuellen Host für Nginx erstellen
nano /etc/nginx/sites-available/ssl
Das ist die für mich funktionierende Datei ssl, die ich nach einigen Versuchen so zusammen gestellt habe. Man kann sie also so übernehmen - gegebenenfalls noch den root-Pfad an die eigene Installation anpassen.
server { listen 443; ssl on; ssl_certificate /etc/nginx/ssl/cacert.pem; # path to your cacert.pem ssl_certificate_key /etc/nginx/ssl/privkey.pem; # path to your privkey.pem root /var/www/; index index.html index.htm index.php; server_name localhost; location / { try_files $uri $uri/ /index.html; } location ~ ^(.+\.php)(.*) { try_files $fastcgi_script_name =404; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_index index.php; include fastcgi_params; } charset utf-8; location ~ /(\.ht|Core|Specific) { deny all; return 404; } }
Jetzt noch den virtuellen Host ssl aktivieren. Das geht durch einen sogenannten "symbolischen Link" im Ordner sites-enabled auf den soeben erstellten virtuellen Host.
ln -s /etc/nginx/sites-available/ssl /etc/nginx/sites-enabled
Baikal runter laden und installieren
Jetzt wird es Zeit, Baikal zu installieren. Dazu wird einfach das Paket herunter geladen und im Root-Ordner des Web-Servers entpackt.
cd /var/www wget http://baikal-server.com/get/baikal-flat-0.2.7.zip unzip baikal-flat-0.2.7.zip mv baikal-flat/ baikal/ chown -R www-data:www-data baikal/
Um jetzt Baikal in den Installationsmodus zu schalten, muss man eine leere Datei ENABLE_INSTALL im Ordner Specific erstellen.
touch /var/www/baikal/Specific/ENABLE_INSTALL
Jetzt kann man unter https://meine-url.com/baikal/ die Installation von Baikal abschließen.
Dafür legt man erst einen Administrator-Account an, legt die Zeitzone fest und - in meinem Fall - den Haken vor MySQL benutzen entfernen.
Dann logt man sich mit dem Administrator-Account ein und legt einen Nutzer an. Beim anlegen des Nutzers werden für ihn automatisch ein Kalender und ein Adressbuch mit dem Namen default angelegt.
Damit ist die Installation abgeschlossen.
Nun kann man unter folgenden Adressen auf seine Daten zugreifen:
CalDav: https://meine-url.com/baikal/cal.php/calendars/[username]/default/ CardDav: https://meine-url.com/baikal/card.php/addressbooks/[username]/default/
Synchronisation mit Thunderbird/Lightning
Zur Synchronisation mit Thunderbird / Lightning siehe Artikel Baikal mit Thunderbird / Lightning synchronisieren
Synchronisation mit Android-Geräten
Zur synchronisation mit meinen Android-Geräten verwende ich CalDAV Sync Free Beta. Funktioniert einwandfrei. Nach der Installation von CalDAV Sync Free Beta:
- Unter Einstellungen / Konten ein neues Konto erstellen
- CalDAV Sync Adapter wählen
- Nutzername, Passwort und die oben angegebene CalDAV-Adresse eintragen
- Dann auf Verbindung testen klicken
- Nochmal das neu erstellte CalDAV-Sync-Adapter-Konto wählen, um die automatische Synchronisation einzuschalten
Wenn alles passt, meldet der CalDAV Sync Adapter, dass er einen neuen Kalender namens default gefunden hat. Diesen kann man dann man dann in die Kalenderliste des Telefons übernehmen.
Synchronisation mit Android-Geräten
Zur Synchronisation seiner Kontakte gibt es ebenfalls eine kostenolse Variante, und zwar CardDAV-Sync free beta.
Comments
Anonymous (not verified)
Servus,
Fri, 03.10.2014 - 21:57Servus,
Deine Anleitung ist echt super!
Allerdings hast du im Befehl zur Erstellung der Verknüpfung einen Schreibfehler drin: availible anstatt available.
Ansonsten wirklich alles super. Selbst für mich als Linux noob. einfach eingeben und Verbindung mit SSL haben. Absolut super.
Bjoern Stremmel (not verified)
Hey Danke
Sat, 04.10.2014 - 01:39Hey Danke
Habs verbessert. Hab mich da echt vertippt.
Und freut mich, dass dir die Anleitung weiter geholfen hat.Ich hab auch echt lange gesucht und probiert, bis alles funktioniert hat.
Bjoern
Anonymous (not verified)
Hej Bjoern,
Sat, 04.10.2014 - 08:18Hej Bjoern,
noch ein Nachtrag für alle DAVdroid Nutzer. Die können in die SSL-Datei noch folgende zwei Zeilen eintragen (über der Zeile charset utf-8;):
rewrite ^/.well-known/caldav /baikal/cal.php redirect;
rewrite ^/.well-known/carddav /baikal/card.php redirect;
Damit muss man bei Davdroid als Basis-URL nur noch
https://meine-url.com/
eintragen und CalDav und CardDav nicht als zwei Konten anlegen.
Die DAVdroid Nutzer müssen außerdem bei der Erstellung des Zertifikats darauf achten, bei "Common Name" ihre Domain "meine-url.com" anzugeben.
Bin immer noch begeistert :).
Gruß Michael
Bjoern Stremmel (not verified)
Klasse Hinweis. Vielen Dank!
Sun, 05.10.2014 - 14:40Klasse Hinweis. Vielen Dank!
Markus (not verified)
Hallo Bjoern,
Fri, 14.11.2014 - 21:51Hallo Bjoern,
Du hast mir kürzlich in meinem Blog dankenswerterweise Deine Links hinterlassen.
Nun drängen sich aber noch ein paar Fragen hierzu auf: wenn ich das ganze mit Apache und SSL machen will, wie läuft hier das ganze? Wenn ich den Standardport 443 ändern muß, weil schon anderweitig belegt, wie sehen dann die Pfadangaben von den mobilen Geräten (Android') aus?
Ich hoffe Du kannst mir helfen.
Grüße Markus
Bjoern Stremmel (not verified)
So eine Frage an einem
Sat, 15.11.2014 - 02:41So eine Frage an einem Freitag :-)
Ich hab ein paar Ideen dazu, bin aber am Wochenende unterwegs und kann nicht testen, ob es wirklich funktioniert. Schau bitte Montag nochmal vorbei ..
Bjoern Stremmel (not verified)
Hallo Markus
Mon, 17.11.2014 - 13:56Hallo Markus
Also wenn der Port 443 benutzt wird, gehe ich davon aus, dass du SSL mit Apache schon eingerichtet hast?
Wenn dem so ist, kannst du den Baikal-Ordner einfach in die DocumentRoot des Apache-Servers ( in der Regel /var/www/ oder /var/www/htdocs) rein kopieren.
Dann sind die Pfade für die Clients wie gehabt
CalDav: https://deine-url.com/baikal/cal.php/calendars/[username]/default/
CardDav: https://deine-url.com/baikal/card.php/addressbooks/[username]/default/
Oder, wenn du Baikal-Flat nutzt und den Ordner nicht umbenannt hast
CalDav: https://meine-url.com/baikal-flat/cal.php/calendars/[username]/default/
CardDav: https://meine-url.com/baikal-flat/card.php/addressbooks/[username]/default/
Ich hoffe, das hilft weiter
Gruß Bjoern
zitom (not verified)
Danke Bjoern,
Sat, 10.01.2015 - 18:30Danke Bjoern,
deine präzise Anleitung hat mir sehr geholfen!
zitom
Bjoern Stremmel (not verified)
Freut mich
Sat, 10.01.2015 - 20:11Freut mich
Uwe (not verified)
Hallo Bjoern,
Mon, 26.01.2015 - 21:39Hallo Bjoern,
ich habe Baikal installiert und einen User angelegt.
Lightning findet den Kalender nicht,
Carddav und Wave-Kalender auf Android syncen sich, aber:
Ich kann im Baikal-Web-Admin keine User oder Kalender hinzufügen.
Auch zeigt er mir bei Anzahl der Termine und Adressbucheinträgen
jeweils noch 0 an.
Mir gehen die Ideen aus und hoffe du hast welche für mich!
Uwe
Bjoern Stremmel (not verified)
Hallo Uwe
Tue, 27.01.2015 - 08:40Hallo Uwe
Zu Lightning: Leider hakt Lightning bei der ersten Anmeldung. Einfach mehrfach versuchen. Wenn gar nichts geht, Kalender nochmal löschen und neu anlegen. Irgendwann nimmt er es ..
Das du keine Nutzer und / oder Kalender hinzufügen kannst, könnte ein Problem mit den Rechten sein. Wenn du Baikal als nutzer root installiert und SQLite als Datenbank gewählt hast, musst du noch mit
<pre>
chown -R www-data:www-data /pfad/zu/baikal </pre>
die richtigen Rechte für das Verzeichnis setzen, so dass dein Webserver auch in das Verzeichnis rein schreiben darf.
Ich hoffe, das hilft dir weiter.
Gruß
Uwe (not verified)
Nein Lightning will nocht ...
Tue, 27.01.2015 - 17:25Nein Lightning will nocht ... erstmal egal !
Und
"chown -R www-data:www-data /var/www/baikal"
hat nicht geholfen !
wie kann ich Baikal denn neu installieren ?
Bjoern Stremmel (not verified)
Hast du nach dem "chown ... "
Tue, 27.01.2015 - 17:45Hast du nach dem "chown ... " den Webserver mal neu gestartet?
Wenn du noch keinen Nutzer anlegen konntest, dürfte auch noch kein Kalender da sein, auf den Lightning zugreifen kann. Das könnte das Problem mit Lightning sein, denn die Kalenderadresse ist ja https://Deine-IP/baikal/cal.php/calendars/[nutzername]/default/ .. und wenn noch kein Nutzer angelegt ist, existiert diese Adresse nicht.
Um Baikal neu zu installieren brauchst du einfach nur das Verzeichnis "baikal" löschen und das entpackte flat-Paket neu dort hin zu kopieren. Ich denke aber nicht, dass dich das weiter bringt.
Hast du als Datenbank SQLite oder MySQL genommen ?
Uwe (not verified)
Zunächst sah alles super aus.
Tue, 27.01.2015 - 18:02Zunächst sah alles super aus.
Ich habe den default Kalender und das default Adressbuch angelegt bekommen.
Ich kann den Server auch per Android-App erreichen (ich habe einen Kalender und Adressbuch anlegen können).
Dann ist mir aber aufgefallen, das im WebAdmin kein Eintrag im Kalender und auch nicht im Adressbuch angezeigt wird.
In der Adresszeile ist bei der WebAdmin Seite das "https" rot durchgestrichen...
Uwe (not verified)
Ich habe übrigen SQLite
Tue, 27.01.2015 - 18:12Ich habe übrigen SQLite genommen
Bjoern Stremmel (not verified)
Das klingt echt merkwürdig.
Tue, 27.01.2015 - 19:26Das klingt echt merkwürdig. Ich hab jetzt nochmal ein wenig rum gesucht. Die meisten Probleme traten mit Baikal auf, wenn Baikal während der Installation keine Schreibrechte auf seine Ordner hatte.
Vielleicht installierst du Baikal wirklich nochmal neu, achtest aber dieses mal drauf, das du vor dem ersten Einloggen mit Abschluss des Setups du mit "chown ... " die richtigen Rechte auf den Ordner setzt. Ist ja eine Sache von ein paar Minuten.
Zu dem https-Problem: welchen Webserver nutzt du?
Julian (not verified)
Vielen Dank für deine
Wed, 28.01.2015 - 21:40Vielen Dank für deine Anleitung !
Habe erst die Anleitung für die Baikal installation durchgeführt und anschließend die für den eigenen Heimserver, da noch php etc. zur vollen Funktion gefehlt hat.
Jetzt funktioniert alles bestens.
Ich habe eine dynamische dns und sogar auf meinem Blackberry, das öfters probleme machte, funktioniert alles einwandfrei.
Bei der einrichtung ist zu beachten, dass Blackberry die serveradresse ohne https:// möchte, um zu funktionieren.
Da ich was Kalender angeht immer paralel Owncloud verwendet habe, da Kalender mit mehreren Benutzern geteilt werden können, werde ich versuchen diese Funktion in Baikal zu integrieren und die Anleitung hier als Kommentar anzufügen....
Bjoern Stremmel (not verified)
Gerne .. :-) Danke dafür!
Thu, 29.01.2015 - 00:42Gerne .. :-) Danke dafür!
Uwe (not verified)
Ich nutze Nginx.
Thu, 29.01.2015 - 20:19Ich nutze Nginx.
Ich habe den baikal Ordner gelöscht und neu gezipt
baikal-flat in baikal umbenannt.
"chown -R www-data:www-data baikal/" ausgeführt(ja ich war im richtigen Verzeichniss).
"touch /var/www/baikal/Specific/ENABLE_INSTALL"
Dann die Webseite geöffnet und das Passwort eingegeben.
Nach dem speichern passiert nichts...ich werde nicht zu zweiten Seite weitergeleitet ?
Ps:Danke für deine Ideen
Bjoern Stremmel (not verified)
Kein Problem.
Thu, 29.01.2015 - 20:38Kein Problem.
Bislang konnte ich ja leider nicht wirklich helfen. Wenn du magst, schick mir mal per Mail die Datei, die in der /etc/nginx/sites-available für die Baikal-Installation zuständig ist .. also default oder default-ssl oder so.
Ich schicke dir eine Mail an deine Adresse, damit du meine Adresse hast.
David H. (not verified)
Hallo Bjoern,
Sat, 18.04.2015 - 19:08Hallo Bjoern,
super Anleitung!
doch nach der Installation von Baikal und nachdem ich versucht habe "Meine Addresse"/baikal/cal.php/calendars/David/default/" aufzurufen kam dieser Fehler: "Mit dieser XML-Datei sind anscheinend keine Style-Informationen verknüpft. Nachfolgend wird die Baum-Ansicht des Dokuments angezeigt."
zudem steht auf der Seite:
"Sabre\DAV\Exception\NotImplementedGET is only implemented on File objects1.8.7".
Weißt du wie man das beheben kann?
LG
David
Bjoern Stremmel (not verified)
Hallo David
Sat, 18.04.2015 - 19:33Hallo David
Naja, beheben musst du das nicht. Das heißt nämlich erstmal, dass der Kalender funktioniert.
Was du vermutlich suchst, ist ein Kalenderoberfläche, wo deine Termine drin stehen - wie früher bei Owncloud.
Die gibt es aber bei Baikal (noch) nicht.
Die Hauptaufgabe von Baikal ist, die Kalender deiner unterschiedlichen Geräte wie Smartphone, PC usw. synchron zu halten.
Du kannst z.B. in dem Kalender auf deinem PC ( ich nutze Thunderbird mit der Erweiterung Lightning ) einen Termin eintragen und über Baikal synchronisiert sich z.B. dein Telefon dann mit den Terminen auf deinem PC. Das funktioniert aber auch mit Outlook und vielen anderen Kalendern, da die meisten mittlerweile das CalDAV-Protokkoll unterstützen.
Wie es mit Thunderbird klappt, habe ich in diesem Artikel beschrieben.
http://my5cent.spdns.de/allgemein/baikal-mit-thunderbird-lightning-synch...
Ich hoffe, das hilft dir weiter
Gruß Bjoern
Herr Walther (not verified)
Also von meiner Seite aus
Tue, 21.04.2015 - 23:54Also von meiner Seite aus auch noch mal vielen Dank, total toll,
jetzt hat es nach gut drei Wochen 'basteln' auch endlich mit dem Zertifikat funktioniert. :D
Ich habe das Gefühl das viele andere HowTo Schreiber ja nur IOS nutzen. -.- Was mich schier zu Verzweiflung gebracht hatte, weil ich das Zertifikat nicht zum laufen bekommen habe unter dem Androiden.
Grüße
Percy
Bjoern Stremmel (not verified)
Cool .. Freut mich :-)
Thu, 23.04.2015 - 12:13Cool .. Freut mich :-)
sebastian (not verified)
Mal ne kurze frage. Hat
Mon, 27.04.2015 - 23:34Mal ne kurze frage. Hat jemand dad ganze unter nginx mit einem subdirectory hinbekommen? Bei mir findet er nämlich die Kalender nicht. Scheint ein Problem mit dem Document Root zu sein. Im Internet fand man ein paar hilfreiche tips, wie das nutzen von aliase statt root path. Doch weiter als das admin menü bin ich nicht gekommen. Beim aufruf des kalenders erhalte ich nur ein 404 not found
Bjoern Stremmel (not verified)
Hey Sebastian
Tue, 28.04.2015 - 00:06Hey Sebastian
Hast du da vielleicht ein paar zusätzliche Infos? Zum Beispiel, in welches Unterverzeichnis du Baikal installiert hast und welchen Pfad zum Kalender du dann eingestellt hast?
Gruß
Sebastian (not verified)
Also Baikal liegt bei mir
Sun, 03.05.2015 - 02:15Also Baikal liegt bei mir unter /baikal. Hier mal meine nginx config:
location /baikal {
charset utf8;
alias /var/www/baikal;
index index.php;
error_log /var/log/nginx/e.log debug;
rewrite ^(/baikal)(/.?.php)(/.)?$ /...$document_root/...$1/...$2/...$3 last;
rewrite ^/baikal/.well-known/caldav /cal.php redirect;
rewrite ^/baikal/.well-known/carddav /card.php redirect;
location ~ \.php$ {
fastcgi_split_path_info ^(.+?\.php)(/.*)?$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
location ~* /baikal/(.ht|Core|Specific) {
deny all;
return 404;
}
}
Damit wird schonmal unter www.server-name.de/baikal angezeigt das Baikal läuft.
Auch unter www.server-name.de/baikal/admin krieg ich die Admin Oberfläsche zu Gesicht. Unter SystemSettings habe ich dann die Card und Cal Dav BaseUri entsprechend angepasst nach:
PROJECT_BASEURI . "baikal/cal.php/"
PROJECT_BASEURI . "baikal/card.php/"
Der Aufruf von www.server-name.de/baikal/cal.php lässt dann auch das Login Fenster aufpoppen und die XML Ansicht erscheint im Browser.
Sobald ich aber auf einen Kalender zugreifen möchte:
www.server-name.de/baikal/cal.php/calendars/username/default
bekomme ich nur einen 404 zurück.
Bjoern Stremmel (not verified)
Hey Sebastian
Sun, 03.05.2015 - 02:37Hey Sebastian
Das sieht auf den ersten Blick alles OK aus, daher entschuldige bitte, wenn ich erstmal völlig blöd Frage:
Bei der URL zu dem Kalender .. Ersetzt du da den Teil mit dem Usernamen? Also stett
http://www.server-name.de/baikal/cal.php/calendars/username/default
dann so was wie
http://www.server-name.de/baikal/cal.php/calendars/sebastian/default
Gruß Bjoern
Sebastian (not verified)
Da war ja auch einer Nacht
Sun, 03.05.2015 - 15:38Da war ja auch einer Nacht-Aktiv :D
Ja wie Pflegt man doch immer zu sagen, es gibt keine dummen Fragen ^^
Mein Username trage ich schon korrekt ein. Hab das ganze getestet wenn es im root directory läuf, da klappt alles. Momentan hab ich ne Notlösung, indem ich den Port 82 missbrauche. Aber das ist immer so ne Sache mit Firewalls, daher wäre mir die saubere Lösung mit Subdirecory und Port 80 lieber. Aber diesbezüglich steh ich auch stark auf dem Schlauch.
Bjoern Stremmel (not verified)
Ja .. sch... Vollmond :-)
Sun, 03.05.2015 - 16:37Ja .. sch... Vollmond :-)
So, ich hab das jetzt mal mit meiner Konfig verglichen. Ich vermute mal, dass deine rewrite-Anweisungen da Durcheinander rein bringen.
Ich habe die gar nicht und alle Angaben in dem Tut beziehen sich auch auf URLs ohne diese rewrites ..
Versuch es mal ohne die Dinger .. Zur Sicherheit schicke ich dir mal noch per Mail meine Konfig .. mit der bei mir Baikal auch in einem Unterverzeichnis läuft.
Gruß Bjoern
Erwin (not verified)
Hi Björn, many thanks.
Wed, 09.09.2015 - 13:55Hi Björn, many thanks.
I struggled a bit with the standard installation instructions provided with Baïkal. With Apache, it becomes complicated, especially to "harden" the web server. With nginx, I had issues with the virtual host solution, like you.
When following your instructions, I have had to restart nginx after making the virtual host file. Command is sudo /etc/init.d/nginx restart
Furthermore, after completing the OS-part, I still could not reach the admin page on address https://myserver/admin or https://myserver/baikal. Instead, I had to use https://myserver/baikal/html/admin. Not sure what causes it, presumably it is in the virtual host file.
Erwin
Bjoern Stremmel (not verified)
Hey .. You are welcome.
Wed, 09.09.2015 - 20:27Hey .. You are welcome.
Did you set the right document root?
Andre (not verified)
Hallo Zusammen,
Thu, 01.10.2015 - 18:03Hallo Zusammen,
Ich habe genau wie Sebastian Baikal unter /baikal liegen, da ich auch noch Seafile installiert habe (die /etc/nginx/sites-available/default habe ich entsprechend dem Post von Sebastian vom 3. Mai ergänzt). Seafile (mit nginx, https und mysql) läuft tadellos. Auch ich kann unter https://example.spdns.de:Port/baikal sehen, dass Baikal läuft. Auch einen Benutzer samt neuem Kalender konnte ich anlegen. Unter https://example.dyndns.de:Port/baikal/admin kann ich ebenfalls die Admin Oberfläche mir ansehen und Einstellungen etc. ändern. Leider kann ich weder per Andoid (CalDav Sync) noch per Thunderbird (Lightning) auf einen meiner Kalendar zugreifen.
Was habt ihr damals gemacht? Es sieht ja ziemlich danach aus, dass ich jetzt das gleiche Problem habe :D
Gruß
Bjoern Stremmel (not verified)
Hey Andre
Fri, 02.10.2015 - 18:32Hey Andre
Also wenn du schon so weit bist, kann es ja eigentlich nur noch an der URL liegen, mit der du auf den Kalender zugreifst. Vergleich vielleicht nochmal mit den Beispielhaften Links auf meiner Seite ..
CalDAV https://meine-url.com/baikal/cal.php/calendars/[username]/default/
meine-url.com, [username] sind zu erssetzen. Und wenn du zusätzliche Kalender angelegt hast, ist der letzte Wert "default" noch durch den entsprechenden Kalendernamen zu ersetzen.
Ich hoffe, so kommst du weiter
Gruß Bjoern
Andre (not verified)
Hallo Bjoern,
Fri, 02.10.2015 - 19:17Hallo Bjoern,
zunächst einmal vielen Dank für die Antwort, allerdings funktioniert die Sache immer noch nicht. Die URL wurde mehrfach überprüft, daran kann es also nicht liegen.
Sebastian hatte ja anscheinend das gleiche Problem, habt ihr es damals zusammen lösen können?
Gruß
Cloud und Kalen... (not verified)
[…] Baikal: http://my5cent
Tue, 06.10.2015 - 21:01[…] Baikal: http://my5cent.spdns.de/beaglebone-black-raspberry-pi/baikal-mit-nginx-u... […]
Peter (not verified)
Habe auch ein Problem mit
Fri, 15.01.2016 - 22:29Habe auch ein Problem mit Baikal. Nach dieser Anleitung hier installiert. Ich komme in das Webinterface und habe 2 user angelegt. es gelingt mir jedoch nicht das caldav einzurichten auf Mac OS X. Auf der Test in troubleshooting geht schon schief. Irgendwie scheinen die Anfragen verbogen zu werden.
der Test mit Curl liefert das:
curl -so - --digest --user USER:PASSWORT http://192.168.178.31/cal.php/calendars/USER/default
404 Not Found
404 Not Found
nginx/1.6.2
bei Verbinden mit Mac OS X sieht es so aus als ob user und Passwort nicht passen.
im ACCESS-Log steht dann folgendes:
192.168.178.36 - - [15/Jan/2016:22:15:41 +0100] "PROPFIND /baikal/cal.php/calendars/Peter/default HTTP/1.1" 405 172 "-" "Mac+OS+X/10.11.2 (15C50) CalendarAgent/361.1"
und bei Abfrage mit Curl:
192.168.178.31 - - [15/Jan/2016:21:45:19 +0100] "GET /cal.php/calendars/Peter/default
HTTP/1.1" 404 168 "-" "curl/7.38.0"
im Error-log lese ich folgende Meldungen:
2016/01/15 22:13:06 [error] 3558#0: *82 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: 192.168.178.36, server: 192.168.178.31, request: "PROPFIND /principals/ HTTP/1.1", host: "192.168.178.31"
und für die Curl-Anfrage:
2016/01/15 21:45:19 [error] 3557#0: *1 open() "/var/www/html/cal.php/calendars/Peter/default" failed (2: No such file or directory), client: 192.168.178.31, server: , request: "GET /cal.php/calendars/Peter/default HTTP/1.1", host: "192.168.178.31"
hat jemand eine Tip
Grüße
Peter
Bjoern Stremmel (not verified)
Hey Peter
Sat, 16.01.2016 - 13:54Hey Peter
Was mir auffällt ist, dass du die Adresse http://adresse/cal.php/.. bzw /var/www/html/cal.php/... abfragst. Wenn du Baikal wie beschrieben installiert hast, sollte die Adresse aber http://adresse/baikal/cal.php/.. heißen.
Es sei denn, du hast einen Vhost eingerichtet, der /var/www/html/baikal als Documentroot hat.
Kannst du das nochmal checken?
Einfach mal mit dem Browser http://192.168.178.31/baikal/cal.php/calendars/Peter/default aufrufen und schauen, ob noch Fehler auftreten.
Gruß Bjoern
peete (not verified)
Hallo
Thu, 15.09.2016 - 12:01Hallo
Habe auch ein Problem mit Baikal und Seafile zusammen auf Raspberry pi3
404 Not Found
nginx/1.6.2
hat jemand eine Tip
Gruß peete
Bjoern Stremmel (not verified)
Hey peete
Thu, 15.09.2016 - 13:06Hey peete
Das kann jetzt ne Menge Gründe haben .. Tipps sind:
<ul>
<li>Pfade checken</li>
<li>Config checken</li>
<li>NginX neu starten</li>
</ul>
Wenn das alles nichts hilft, müssen wir mal die Config checken.
Gruß Bjoern
peete (not verified)
Hi Meine Config
Fri, 16.09.2016 - 11:42Hi Meine Config
server {
listen 80;
server_name ;
rewrite ^/(.*) https://$server_name/$1 permanent;
}
server {
listen 443; #IPv4
#listen [::]:443; # IPv6
ssl on;
ssl_certificate /var/www/ssl/cloudssl.crt;
ssl_certificate_key /var/www/ssl/cloudssl.key;
server_name ;
location / {
fastcgi_pass 127.0.0.1:8000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param HTTPS on;
fastcgi_param HTTP_SCHEME https;
}
location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082;
client_max_body_size 0;
}
location /media {
root /home/seafile/seafile-server-latest/seahub;
}
location /seafdav {
fastcgi_pass 127.0.0.1:8080;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param HTTPS on;
}
location /baikal {
root /var/www;
index index.php index.html;
location ~ ^(.+\.php)(.*)$ {
try_files $fastcgi_script_name =404;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include /etc/nginx/fastcgi_params;
}
rewrite ^/baikal/caldav /baikal/cal.php redirect;
rewrite ^/baikal/carddav /baikal/card.php redirect;
charset utf-8;
location ~ /(\.ht|Core|Specific) {
deny all;
return 404;
}
}
location /seafmedia {
rewrite ^/seafmedia(.*)$ /media$1 break;root /home/seafile/seafile-server-latest/seahub;
}
}
Bjoern Stremmel (not verified)
Hey Peete
Fri, 16.09.2016 - 17:28Hey Peete
Ich denke, dass im Abschnitt baikal der Parameter root nichts zu suchen hat. Der sollte mit am Anfang der Datei stehen.
Ich vermute dort der Fehler...
Gruß Bjoern
peete (not verified)
O.K probier ich mal Danke
Fri, 16.09.2016 - 20:00O.K probier ich mal Danke
Gruß peete
peete (not verified)
Ja Das wars
Fri, 16.09.2016 - 20:18Ja Das wars
Danke Supper!!!!!
Bjoern Stremmel (not verified)
Na perfekt!
Fri, 16.09.2016 - 21:44Na perfekt!
Gerne!
Gruß Bjoern
Anonymous (not verified)
Hallo bei mir kommt bei
Mon, 03.10.2016 - 11:34Hallo bei mir kommt bei Kontakte Hinzufügen (macOS Sierra)
Fehler . Der Vorgang konnte nicht abgeschlossen werden. (CoreDAVHTTPStatusErrorDomain-Fehler 404.)
Gruß peete
Bjoern Stremmel (not verified)
Hey Peete
Mon, 03.10.2016 - 17:21Hey Peete
Ich bin leider kein Experte für OSX. Ich hab im Netz etwas gesucht und diesen Link gefunden. Geht zwar um OwnCloud, aber vielleicht findest du ein paar Anhaltspunkte
https://forum.owncloud.org/viewtopic.php?t=30993
Gruß Bjoern
Anonymous (not verified)
O.K Danke
Wed, 05.10.2016 - 19:35O.K Danke
Ich Probiere mal
Danke Bjoern
techcom (not verified)
hallo bjoern,
Tue, 11.10.2016 - 23:35hallo bjoern,
vielen dank für deine schnelle antwort (im 'seafile' thread).
hab jetzt beide server (seafile und baikal mit nginx) zum laufen gebracht.
allerdings hab ich jetzt ein richtiges problem den androiden mit baikal zu verbinden.
sitz schon seit stunden und bin leicht frustriert. seafile lief auf anhieb - caldav/cardav am androiden scheitert kläglich.
server: basic auth. und sqlite.
client: cm13 barebone, versucht hab ich davdroid, cardav-sync free, caldav sync, cardav-sync.
bestenfalls bin ich bis zur zertifikatsbestätigung gekommen, das wars aber auch schon.
in den logs hab ich nicht wirklich brauchbare infos gefunden. im admin-gui kann ich user
und kalender/kontak-db anlegen und wird das sqlite-file am server auch gespeichert.
meine frage:
wo fange ich am besten mit der fehlersuche an?
servus aus wien
techcom
Bjoern Stremmel (not verified)
Heyho
Wed, 12.10.2016 - 23:43Heyho
Ich habe auch vor Kurzem ein Update gemacht und habe seitdem auch Probleme mit dem Androiden.
Ich komme aber erst am Wochenende dazu, mich damit zu beschäftigen - vorher kann ich dir leider nicht mehr sagen.
Ich würde im NginX access-log und im Error-Log anfangen .. ich werde hier schreiben, wenn ich mehr weiß
Gruß Bjoern
techcom (not verified)
hallo bjoern,
Thu, 13.10.2016 - 17:24hallo bjoern,
habs mittlerweile geschafft den androiden zu verbinden.
(in der config des nginx den error-level auf 'debug' gesetzt - nicht vergessen
den level wieder auf 'error' zurückzusetzen, sonst müllt das log file den rpi zu!)
problem war (wie so oft) ein falscher pfad am server.
die zuständigen *.php files lagen bei mir (nach der installation) unter :
/var/www/baikal/html/
muss aber sein:
/var/www/baikal/
und im tb (mit lightning addon) unbedingt mit
https://user:passwd@meindyndnsserver/baikal/cal.php/calendars/user/default/
anmelden. (realm true/false hab ich noch nicht überprüft).
jetzt hab ich am androiden/und im tb das problem dass die synchronisation noch nicht
sauber funktioniert (entweder nur in eine richtung bzw. werden datensätze
gelöscht/angelegt aber änderungen werden nicht übernommen.
lg techcom
techcom (not verified)
hallo,
Fri, 14.10.2016 - 23:16hallo,
jetzt funkts endlich.
folgende kombination funktioniert bei mir:
pc/notebook:
die kontakte sync ich mit dem CardBook addon von tb.
den kalender mit Evolution
am android:
Offline Calendar
CalDav Sync Adapter
CardDAV-Sync free
lg techcom
Philip Maser (not verified)
Hallo Bjoern
Sat, 04.03.2017 - 03:41Hallo Bjoern
Zu Beginn muss ich sagen, dass ich totaler Neuling in dieser Thematik bin. Soll heißen, bisher wenig Verständnis von Linux Systemen und auch insgesamt von Handlings auf Servern etc. habe.
Was mein Problem betrifft, komme ich bei der Installation des Baikal-Servers nicht weiter. Mein aktueller Stand der Dinge ist:
Ich bin deiner Homepage (die wirklich top ist, das muss man nochmal sagen)
Schritt für Schritt gefolgt, von der Grundeinrichtung eines BananaPi mit "Installation und erst Schritte" -> "Bananian von Festplatte booten" ->"Nginx, MySQL und PHP5 installieren" -> und jetzt eben diesem Kapitel hier.
Es läuft soweit einiges wie erwartet.
Ich kann auf mein BananaPi zugreifen und auch die Standard Nginx-Startseite sowie die selbst erstellte Info.php aufrufen.
Auch das erstellen der SSL Zertifikate hat geklappt (musste bei Firefox natürlich eine Ausnahme hinzufügen).
Leider scheitere ich jedesmal beim Aufrufen von https://BananaPi/baikal
Es kommt schlicht weg "Forbidden 403"
Habe angefangen mich schlau zu machen und habe auch im Error-Log von Nginx geschaut. Soweit ich das beurteilen kann, ist alles gut eingerichtet, nur dass mich Nginx aus einem mir unerklärbaren Grund nicht auf die Baikal-Datei zugreifen lässt um die Installation abzuschließen. -> Muss also an Nginx liegen, wo ich wohl was vermasselt habe, aber hier stecke ich fest.
Der User "www-data" hat Zugriff auf "www" , "www/html" (hier liegen meine Default-Seiten) und auch auf "www/baikal".
Wäre über deine Hilfe sehr dankbar
Beste Grüße
Philip
Bjoern Stremmel (not verified)
Hey Philip
Sat, 04.03.2017 - 12:04Hey Philip
Also mit den Dateirechten scheint ja alles in Ordnung zu sein.
Ein weiterer Grund für diese Fehlermeldung kann sein, dass Nginx nicht komplett richtig für PHP konfiguriert wurde.
Schau bitte mal, ob in deiner Konfig-Datei in /etc/nginx/sites-available folgende Zeilen wie folgt drin sind:
<pre>
index index.html index.htm index.php;
</pre>
und
<pre>
location /baikal/ {
try_files $uri $uri/ /index.php;
}
</pre>
Gruß Bjoern
PhilipMaser (not verified)
Nabend Bjoern
Sun, 05.03.2017 - 00:57Nabend Bjoern
Danke erst mal für die schnelle Rückmeldung, werde heute Abend mal einen Versuch starten, ich melde mich mit dem Ergebnis
Gruß Philip
Philip Maser (not verified)
Hey Bjoern
Mon, 06.03.2017 - 00:32Hey Bjoern
Ich muss leider sagen, das hat an der Stelle noch nicht gefruchtet.
Hier mal kurz der Inhalt meiner "SSL" Datei, welche unter
/etc/nginx/sites-available" abgelegt ist:
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/cacert.pem; # path to your cacert.pem
ssl_certificate_key /etc/nginx/ssl/privkey.pem; # path to your privkey.pem
root /var/www/;
index index.html index.htm index.php;
server_name localhost;
location / {
try_files $uri $uri/ /index.html;
}
location ~ ^(.+\.php)(.*) {
try_files $fastcgi_script_name =404;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_index index.php;
include fastcgi_params;
}
location /baikal/ {
try_files $uri $uri/ /index.php;
}
charset utf-8;
location ~ /(\.ht|Core|Specific) {
deny all;
return 404;
}
}
Nach deinem Vorschlag habe ich die "location /baikal/..." Stelle eingefügt, der "index index.html..."-Part war bereits vorhanden.
Die Baikal-Dateien liegen unter
/var/www/baikal/
Hoffe das hilft die Problematik einzugrenzen.
Vielen Dank, dass du dich der Sache annimmst, wirklich top!
Bjoern Stremmel (not verified)
Hey Philip
Mon, 06.03.2017 - 16:11Hey Philip
Ich hab mal hier geschaut:
http://sabre.io/baikal/install/
Sieht alles richtig aus. Das einzige, was mir auffällt, ist das ich nach dem letzten Update die Zeile
<pre>
include fastcgi_params;
</pre>
umbenennen musste in
<pre>
include fastcgi.conf;
</pre>
Kannst du nachschauen unter /etc/nginx/, welche von den beiden Dateien da ist.
Gruß Bjoern
Philip Maser (not verified)
Hoi Bjoern
Tue, 07.03.2017 - 02:53Hoi Bjoern
Wieder mal vielen Dank fürs kümmern. Auf der Seite hatte ich auch schon rumgestöbert und sowohl die Vorlage dort 1:1 übernommen (außer eben auf SSL-Zugriff einstellt), als auch Kombinationen von deinem Original mit der Version von Baikal gemischt. Ich habe interessanterweise beide "fastcgi" -Dateien, habe aber trotzdem mal auf fastcgi.conf umgestellt. Das Ergebnis bleibt ein "Forbidden 403" wobei ich im Error-Log von Nginx keine Veränderung feststelle:
"2017/03/07 02:43:25 [error] 2624#0: *1 directory index of "/var/www/baikal/" is forbidden, client: 192.168.178.20, server: localhost, request: "GET / HTTP/1.1", host: "bananapi.fritz.box"
Das ist mehr oder minder immer der Output (hatte auch schon die root zwischen "/var/www;" und "/var/www/baikal" gewechselt ohne Erfolg. Ich werde das Gefühl nicht los, nur eine Kleinigkeit zu übersehen, weiß aber nicht wo.
Eine Verhaltensänderung gibt es seit der "fastcgi.conf" und zwar, das Firefox beim Eingeben der Server-Adresse "https://bananapi.fritz.box/baikal" mit dem "Forbidden 403" endet und sich dabei die Zieladresse ohne das "/baikal" darstellt, falls das was zu bedeuten hat?
Ich stehe jedenfalls total auf dem Schlauch...
Viele Grüße
Philip
Add comment