{"id":87,"date":"2025-05-20T14:39:58","date_gmt":"2025-05-20T13:39:58","guid":{"rendered":"https:\/\/flip.ooo\/?p=87"},"modified":"2025-05-20T14:43:21","modified_gmt":"2025-05-20T13:43:21","slug":"baikal-installeren-op-raspberry-pi","status":"publish","type":"post","link":"https:\/\/flip.ooo\/?p=87","title":{"rendered":"Ba\u00efkal installeren op Raspberry Pi"},"content":{"rendered":"\n<p>Ba\u00efkal is open source software om je eigen CalDAV en CardDAV server op te zetten. Je gebruikt zo&#8217;n server om je kalender en contacten te beheren. Omdat ik geen actuele handleiding kon terugvinden hoe je zo&#8217;n server in 2025 opzet, heb ik hieronder de handleiding opgeschreven. Het begin is uitgewerkt voor dummies, maar deze handleiding wordt snel best technisch. Als je je afvraagt, waarom Raspberry Pi en geen Docker? In het geval van defecte hardware werken de andere services dan wel devices nog.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Raspberry Pi gereedmaken voor installatie<\/h4>\n\n\n\n<p>Wat je nodig hebt is een <a href=\"https:\/\/elektronicavoorjou.nl\/product\/raspberry-pi-zero-2-w\/\" data-type=\"link\" data-id=\"https:\/\/elektronicavoorjou.nl\/product\/raspberry-pi-zero-2-w\/\">Raspberry Pi Zero 2W<\/a> met een stroomadapter en een 16GB MicroSD kaart. Optioneel kun je nog een Ethernet naar micro-USB stekker erbij aanschaffen, zodat je niet via de WiFi verbind met je lokale netwerk. Je moet daarnaast toegang hebben tot je router. Anders kun je niet achterhalen wat het IP adres is van je Raspberry Pi. Hoe je die toegang verkrijgt zul je moeten opzoeken via internet, want het verschilt per router. Zoek bijvoorbeeld via de betaalde zoekdienst <a href=\"http:\/\/kagi.com\" data-type=\"link\" data-id=\"kagi.com\">Kagi<\/a> (zodat je geen reclame meer ziet via zoeken) op &#8217;toegang tot router &lt;&lt;modelnaam van je router&gt;&gt;. Het model van je router staat meestal op de achterkant.<\/p>\n\n\n\n<p>Heb je al die spullen aangeschaft, download dan de <a href=\"https:\/\/www.raspberrypi.com\/software\/\" data-type=\"link\" data-id=\"https:\/\/www.raspberrypi.com\/software\/\">Raspberry Pi imager<\/a>.  En kies voor Raspberry Pi Zero 2W, Raspberry Pi OS 64 bit en voor je geheugenkaartje (die moet je wel eerst in je computer stoppen). Doorloop de installatie en geef aan dat je installatie opties wilt configureren. Voer een SSID en wachtwoord van je WiFi in en maak een SSH account aan (gebruikersnaam en wachtwoord). Pas de opties toe en installeer daarmee een operating system op het geheugen kaartje. Dat kaartje stop je daarna in de Raspberry Pi en je zet die aan door de stekker erin te stoppen (let op de juiste USB port). <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Inloggen via SSH en configureren van Ba\u00efkal<\/h4>\n\n\n\n<p>Open een verbinding met SSH via je terminal (Mac en Linux) of via Putty (Windows). <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ssh username@&lt;&lt;Raspberry Pi IP address&gt;&gt;<\/code><\/pre>\n\n\n\n<p>Voer dan de volgende commando&#8217;s in om alles te installeren:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update &amp;&amp; sudo apt upgrade\nsudo apt-get install lighttpd\nsudo apt install php php8.3-common\nsudo apt install php8.3-cgi\nsudo apt -y install sqlite3\nsudo apt install php8.3-sqlite3\nsudo apt install php-xml<\/code><\/pre>\n\n\n\n<p>Start de webserver:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo lighttpd-enable-mod fastcgi fastcgi-php<\/code><\/pre>\n\n\n\n<p>En installeer Ba\u00efkal:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo -i\ncd \/var\/www\nwget https:\/\/github.com\/sabre-io\/Baikal\/releases\/download\/0.9.5\/baikal-0.9.5.zip\nunzip baikal-0.9.5.zip\ncd baikal\ntouch Specific\/ENABLE_INSTALL\ncd Specific\nmkdir db\nchown -R www-data:www-data \/var\/www\/baikal\ncd \/etc\/lighttpd\/<\/code><\/pre>\n\n\n\n<p>Je moet nu met nano -een text editor voor servers- nog de configuratie aanpassen. Zoek even op hoe nano werkt (o.a. met pijltjes en :q om op te slaan). Het IP adres 192.168.4.0 moet je vervangen met het subnet van jouw router (dat is hetzelfde als het ip adres van je Raspberry Pi maar dan met een 0 als laatste cijfer).  De instructie met ## ervoor hoef je niet over te typen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano lighttpd.conf\n\n## set root folder for www in config-file:\nserver.document-root = \"\/var\/www\"\n\n## deny access from outside of local network by adding:\n$HTTP&#91;\"remoteip\"] != \"192.168.4.0\/24\" {\n  url.access-deny = (\"\")\n}<\/code><\/pre>\n\n\n\n<p>Om de boel dan te starten voer je de volgende commando&#8217;s uit:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo service lighttpd force-reload\nsudo systemctl start lighttpd\nsudo systemctl enable lighttpd<\/code><\/pre>\n\n\n\n<p>Je kunt nu je server bereiken via <a href=\"http:\/\/192.168.1.98\/baikal\/html\/admin\/\">http:\/\/&lt;&lt;IP adres van je Raspberry Pi&gt;&gt;\/baikal\/html\/admin\/<\/a><br>Kies in de configuratie voor het gebruiken van een SQLite database.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Ba\u00efkal updaten<\/h4>\n\n\n\n<p>Het zal je vast zijn opgevallen dat je niet de laatste versie van Ba\u00efkal hebt geinstalleerd. In de installatie van de laatste versie zit een bug. Maar je kan wel (makkelijk) updaten.<\/p>\n\n\n\n<p>Download de laatste versie via <a href=\"https:\/\/github.com\/sabre-io\/Baikal\/releases\/\">https:\/\/github.com\/sabre-io\/Baikal\/releases\/<\/a><br>Pak het bestand uit en verwijder de mappen &#8216;specific&#8217; en &#8216;config&#8217;.<br>Zoek even op hoe je over SSH kopieert als je dat nog nooit hebt gedaan:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>## Also see instructions on https:\/\/sabre.io\/baikal\/upgrade\/\n\n## copy extracted zip to server (from Downloads directory)\nscp -r .\/baikal username@&lt;&lt;Raspberry Pi IP address&gt;&gt;:\/home\/$user\/Downloads\/\n\n## copy update to var\/www \ncd ~\/Downloads\nsudo scp -r .\/baikal \/var\/www\/\n\nsudo service lighttpd force-reload<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Backup maken van je gegevens<\/h4>\n\n\n\n<p>Je kunt een backup maken van je gegevens door de database te kopieren:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>scp -r username@&lt;&lt;Raspberry Pi IP address>>:\/var\/www\/baikal\/Specific\/db \/home\/$user\/backup\/baikal\/<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Instellen op je telefoon en je PC<\/h4>\n\n\n\n<p>Heb je een ontgooglede smartphone, download dan de apps <em>Etar<\/em> en <em>DAVx5<\/em>. De URL van je calender is:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:\/\/&lt;&lt;Raspberry Pi IP address&gt;&gt;\/baikal\/html\/dav.php\/calendars\/username\/calendar-name\/<\/code><\/pre>\n\n\n\n<p>Soms varieert het adres waarmee je toegang krijgt. In Ubuntu 25.04 voeg je een account toe onder settings &gt; online accounts met het onderstaande adres. Dan kun je je server gebruiken met de <em>Calendar<\/em> app uit het app center (installeer de .deb). <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>username@&lt;&lt;Raspberry Pi IP address&gt;&gt;\/baikal\/html\/dav.php<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Ba\u00efkal is open source software om je eigen CalDAV en CardDAV server op te zetten. Je gebruikt zo&#8217;n server om [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[6,5],"tags":[],"class_list":["post-87","post","type-post","status-publish","format-standard","hentry","category-linux","category-ontgoogled"],"_links":{"self":[{"href":"https:\/\/flip.ooo\/index.php?rest_route=\/wp\/v2\/posts\/87","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flip.ooo\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flip.ooo\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flip.ooo\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flip.ooo\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=87"}],"version-history":[{"count":5,"href":"https:\/\/flip.ooo\/index.php?rest_route=\/wp\/v2\/posts\/87\/revisions"}],"predecessor-version":[{"id":92,"href":"https:\/\/flip.ooo\/index.php?rest_route=\/wp\/v2\/posts\/87\/revisions\/92"}],"wp:attachment":[{"href":"https:\/\/flip.ooo\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=87"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flip.ooo\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=87"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flip.ooo\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=87"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}