Baikal: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „= Baïkal in einer „leichtgewichtigen“ Subdomain = [https://sabre.io/baikal/ Baïkal] ist ein leichtgewichtiger Server für CalDAV (Kalender) und CardDAV (…“) |
KKeine Bearbeitungszusammenfassung |
||
Zeile 4: | Zeile 4: | ||
Die Installation soll in ein Verzeichnis erfolgen, das nicht aus Web zugänglich ist. Dafür bietet sich ein Ordner im ''$HOME'' des Domainadmins an. Der Unterordner "html", der die Webroot der Subdomain sein soll, wird als Symlink im "subs"-Ordner der Domain angelegt. (im Beispiel soll dies https://cal.example.org sein) | Die Installation soll in ein Verzeichnis erfolgen, das nicht aus Web zugänglich ist. Dafür bietet sich ein Ordner im ''$HOME'' des Domainadmins an. Der Unterordner "html", der die Webroot der Subdomain sein soll, wird als Symlink im "subs"-Ordner der Domain angelegt. (im Beispiel soll dies https://cal.example.org sein) | ||
<syntaxhighlight lang="bash" line> | |||
# Herunterladen und Entpacken | |||
wget https://github.com/sabre-io/Baikal/releases/download/0.7.1/baikal-0.7.1.zip | |||
unzip baikal-0.7.1.zip | |||
# durch das Entpacken der Zip-Datei ist ein Verzeichnis "baikal" entstanden. | |||
mkdir ~/sites | |||
mv baikal ~/sites | |||
ln -s ~/sites/baikal/html ~/doms/example.org/subs-ssl/cal | |||
</syntaxhighlight> | |||
* Stolperfalle: Die Quelle des Symlinks (''baikal/html'') muss als absoluter Pfad angegeben werden, da der Webserver ein anderes Arbeitsverzeichnis hat als der Domainadmin. | * Stolperfalle: Die Quelle des Symlinks (''baikal/html'') muss als absoluter Pfad angegeben werden, da der Webserver ein anderes Arbeitsverzeichnis hat als der Domainadmin. | ||
Zeile 22: | Zeile 24: | ||
Ursache ist, daß die ''DOCUMENT_ROOT'' nicht auf den Ordner unserer Subdomain zeigt, sondern auf ''/home/doms/example.org/htdocs-ssl''. Baïkal verwendet hier übrigens nur die Stringlänge, d.h. wenn also die verwendete Subdomain nur einen Buchstaben lang ist (z.B. http://c.example.org), tritt der Fehler lustigerweise nicht auf. | Ursache ist, daß die ''DOCUMENT_ROOT'' nicht auf den Ordner unserer Subdomain zeigt, sondern auf ''/home/doms/example.org/htdocs-ssl''. Baïkal verwendet hier übrigens nur die Stringlänge, d.h. wenn also die verwendete Subdomain nur einen Buchstaben lang ist (z.B. http://c.example.org), tritt der Fehler lustigerweise nicht auf. | ||
Um ihn in den anderen Fällen zu beheben, kann man in der Datei ''~/sites/baikal/Core/Frameworks/Flake/Framework.php'' die Variable ''$_SERVER["DOCUMENT_ROOT"]'' durch den entsprechenden absoluten Verzeichnisnamen ersetzen, d.h. aus | Um ihn in den anderen Fällen zu beheben, kann man in der Datei ''~/sites/baikal/Core/Frameworks/Flake/Framework.php'' die Variable ''$_SERVER["DOCUMENT_ROOT"]'' durch den entsprechenden absoluten Verzeichnisnamen ersetzen, d.h. aus | ||
<syntaxhighlight lang=php>$sScript = substr($_SERVER["SCRIPT_FILENAME"], strlen($_SERVER["DOCUMENT_ROOT"]));</syntaxhighlight> | |||
wird | wird | ||
<syntaxhighlight lang=php>$sScript = substr($_SERVER["SCRIPT_FILENAME"], strlen('/home/doms/example.org/subs-ssl/cal'));</syntaxhighlight> | |||
(Bei einem Update muss diese Änderung natürlich nachgezogen werden) | (Bei einem Update muss diese Änderung natürlich nachgezogen werden) | ||
Aktuelle Version vom 12. Juni 2024, 13:10 Uhr
Baïkal in einer „leichtgewichtigen“ Subdomain
Baïkal ist ein leichtgewichtiger Server für CalDAV (Kalender) und CardDAV (Kontakte). Die Installation kann im Großen und Ganzen der Installationsanleitung folgen. Bei der Installation in einer Subdomain, die als Unterverzeichnis eingerichtet ist, sind jedoch Besonderheiten zu beachten:
Die Installation soll in ein Verzeichnis erfolgen, das nicht aus Web zugänglich ist. Dafür bietet sich ein Ordner im $HOME des Domainadmins an. Der Unterordner "html", der die Webroot der Subdomain sein soll, wird als Symlink im "subs"-Ordner der Domain angelegt. (im Beispiel soll dies https://cal.example.org sein)
# Herunterladen und Entpacken
wget https://github.com/sabre-io/Baikal/releases/download/0.7.1/baikal-0.7.1.zip
unzip baikal-0.7.1.zip
# durch das Entpacken der Zip-Datei ist ein Verzeichnis "baikal" entstanden.
mkdir ~/sites
mv baikal ~/sites
ln -s ~/sites/baikal/html ~/doms/example.org/subs-ssl/cal
- Stolperfalle: Die Quelle des Symlinks (baikal/html) muss als absoluter Pfad angegeben werden, da der Webserver ein anderes Arbeitsverzeichnis hat als der Domainadmin.
- ich habe einen Ordner ~/sites dazwischengezogen. Hierunter gruppiere ich die Webanwendungen, die nach diesem System installiert sind. So habe ich auch den CalDAV/CardDAV-Client InfCloud eingerichtet.
Damit kann der Server bereits über die URL https://cal.example.org aufgerufen und fertig installiert werden. Auch das Anlegen von Benutzern ist dann schon möglich.
Der anschließende Versuch, mit dem frisch angelegten Benutzer die API aufzurufen, schlägt jedoch mit der Meldung fehl: Requested uri (/dav.php/) is out of base uri (/al/dav.php/)
Ursache ist, daß die DOCUMENT_ROOT nicht auf den Ordner unserer Subdomain zeigt, sondern auf /home/doms/example.org/htdocs-ssl. Baïkal verwendet hier übrigens nur die Stringlänge, d.h. wenn also die verwendete Subdomain nur einen Buchstaben lang ist (z.B. http://c.example.org), tritt der Fehler lustigerweise nicht auf. Um ihn in den anderen Fällen zu beheben, kann man in der Datei ~/sites/baikal/Core/Frameworks/Flake/Framework.php die Variable $_SERVER["DOCUMENT_ROOT"] durch den entsprechenden absoluten Verzeichnisnamen ersetzen, d.h. aus
$sScript = substr($_SERVER["SCRIPT_FILENAME"], strlen($_SERVER["DOCUMENT_ROOT"]));
wird
$sScript = substr($_SERVER["SCRIPT_FILENAME"], strlen('/home/doms/example.org/subs-ssl/cal'));
(Bei einem Update muss diese Änderung natürlich nachgezogen werden)
Damit ist Baïkal funktionsfähig.