{"id":806,"date":"2014-07-02T21:04:00","date_gmt":"2014-07-02T19:04:00","guid":{"rendered":"http:\/\/www.j-lawyer.org\/?p=806"},"modified":"2016-02-22T23:00:05","modified_gmt":"2016-02-22T22:00:05","slug":"j-lawyer-org-auf-dem-raspberry-pi","status":"publish","type":"post","link":"https:\/\/www.j-lawyer.org\/?p=806","title":{"rendered":"j-lawyer.org auf dem Raspberry Pi"},"content":{"rendered":"<p>In vollst\u00e4ndig anderem Kontext habe ich mich vor Kurzem mit dem <a title=\"Raspberry Pi bei Wikipedia\" href=\"http:\/\/de.wikipedia.org\/wiki\/Raspberry_Pi\" target=\"_blank\">Raspberry Pi<\/a> (Model B) besch\u00e4ftigt, einem Minicomputer f\u00fcr attraktive ca. 35 EUR. F\u00fcr diesen schlanken Taler bekommt man ein voll funktionst\u00fcchtiges System mit 512MB RAM, 700MHz, HDMI, Ethernet, 2xUSB, Video Out, Audio Out und SD-Kartenleser, und das alles in einem mehr als kompakten Format und mit einem Stromverbrauch von lediglich 3,5W:<\/p>\n<p><a href=\"http:\/\/www.j-lawyer.org\/wp-content\/uploads\/20140702_191115.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-807\" src=\"http:\/\/www.j-lawyer.org\/wp-content\/uploads\/20140702_191115-300x225.jpg\" alt=\"20140702_191115\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.j-lawyer.org\/wp-content\/uploads\/20140702_191115-300x225.jpg 300w, https:\/\/www.j-lawyer.org\/wp-content\/uploads\/20140702_191115-1024x768.jpg 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Im Bild habe ich einen der USB-Anschl\u00fcsse f\u00fcr einen WLAN-Dongle verwendet.<\/p>\n<p>Ich kam nicht umhin, testweise einen j-lawyer Server auf dem Ger\u00e4t zu installieren, und m\u00f6chte hier eine kleine Anleitung sowie subjektive Einsch\u00e4tzung abgeben. Aber der Reihe nach:<\/p>\n<p>&nbsp;<\/p>\n<h4><strong>Installation des Basissystems<\/strong><\/h4>\n<p>Ich m\u00f6chte im folgenden eine Minimalanleitung f\u00fcr die Vorbereitung des Raspberry Pi liefern, ohne zu sehr auf Details einzugehen &#8211; das k\u00f6nnen vorhandene Tutorials sicher besser. Der Pi unterst\u00fctzt eine Reihe verschiedener Betriebssysteme, ich habe mich auf den Klassiker &#8222;Raspbian&#8220; (ein Debian-Linux-basiertes System) entschieden. Auch f\u00fcr die vorbereitenden Arbeiten nutze ich ein Linux-System. Wer dazu Windows verwenden m\u00f6chte, findet eine alternative Anleitung <a title=\"Raspberry Pi Installationsanleitung\" href=\"http:\/\/jankarres.de\/2012\/08\/raspberry-pi-raspbian-installieren\/\" target=\"_blank\">hier<\/a>.<\/p>\n<p><strong>Download des Systems und Vorbereitung einer SD-Karte<\/strong>: Laden Sie sich Raspbian als Image auf einen PC\/Notebook herunter von <a title=\"Raspian Download\" href=\"http:\/\/www.raspberrypi.org\/downloads\" target=\"_blank\">http:\/\/www.raspberrypi.org\/downloads<\/a> und entzippen Sie diese.Stecken Sie die SD-Karte ein und ermitteln Sie das Device via Terminal:<\/p>\n<pre>df -h<\/pre>\n<p>Merken Sie sich hier das gesamte Device, nicht die Partition &#8211; wird also die SD-Karte als \/dev\/sdb1 angezeigt, so lautet das Device \/dev\/sdb. Es wird au\u00dferdem der Mountpunkt angegeben. Unmounten sie diesen bspw. mit<\/p>\n<pre>umount \/dev\/sdb1<\/pre>\n<p>Bereiten Sie anschlie\u00dfend die SD-Karte f\u00fcr die Installation von Raspian vor, ersetzen Sie dabei den Dateinamen entsprechend der von Ihnen entpackten Datei und setzen Sie das von Ihnen verwendete Device ein:<\/p>\n<pre>sudo dd bs=1M if=2014-06-20-wheezy-raspbian.img of=\/dev\/sdb<\/pre>\n<p><strong>Installation von Raspbian<\/strong>: Schlie\u00dfen Sie nun Tastatur, Monitor und Netzwerk an den Raspberry Pi an und stecken Sie die SD-Karte ein. Nach dem Hochfahren erscheint ein grau hinterlegtes Men\u00fc zur weiteren Konfiguration:<\/p>\n<ul>\n<li>&#8222;Expand Filesystem&#8220;, um dem Pi die gesamte SD-Karte zur Verf\u00fcgung zu stellen<\/li>\n<li>&#8222;Internationalization Options&#8220; &gt; &#8222;Change Keyboard Layout&#8220; &gt; &#8222;Classmate PC&#8220;, danach Keyboard Layout &#8222;Other&#8220; und anschlie\u00dfend &#8222;German&#8220; w\u00e4hlen, gefolgt von nochmals &#8222;German&#8220; (ohne Zus\u00e4tze), &#8222;the default for the keyboard layout&#8220; und &#8222;no compose key&#8220;. Bei der Frage, ob der X-Server per Strg+Alt+Entf beendet werden soll, empfehle ich &#8222;No&#8220;.<\/li>\n<li>&#8222;Internationalization Options&#8220; &gt; &#8222;Change Locale&#8220; &gt; &#8222;de_DE.UTF-8 UTF-8&#8220; markieren per Leertaste, im Folgenden &#8222;en_GB.UTF-8&#8220; als systemweite Option.<\/li>\n<li>&#8222;Internationalization Options&#8220; &gt; &#8222;Change Locale&#8220; &gt; &#8222;Europe&#8220; und &#8222;Berlin&#8220; oder die f\u00fcr Sie passende Zeitzone w\u00e4hlen.<\/li>\n<li>&#8222;Advanced Options&#8220; &gt; &#8222;SSH&#8220; &gt; &#8222;Enable&#8220;<\/li>\n<\/ul>\n<p>Nach einem &#8222;Finish&#8220; und Reboot ist das System fertig aufgesetzt.<\/p>\n<p><strong>System auf den aktuellen Stand bringen<\/strong>: Der Standardnutzer lautet &#8222;pi&#8220; mit dem Passwort &#8222;raspberry&#8220;. Sie k\u00f6nnen per Ping kontrollieren ob eine Netzwerkverbindung besteht:<\/p>\n<pre>ping www.google.de<\/pre>\n<p>Ich empfehle als erstes das System mit den letzten Updates zu versorgen:<\/p>\n<pre>sudo apt-get update &amp;&amp; sudo apt-get upgrade<\/pre>\n<p><strong>Gr\u00f6\u00dfe der Auslagerungsdatei anpassen<\/strong>: Sollte dem Pi einmal der RAM ausgehen, so sollte er nat\u00fcrlich nicht gleich &#8222;stehenbleiben&#8220;. Dazu empfehle ich die Vergr\u00f6\u00dferung der Auslagerungsdatei auf 1024MB wie folgt:<\/p>\n<pre>sudo su\r\n<code>echo \"CONF_SWAPSIZE=1024\" &gt; \/etc\/dphys-swapfile\r\ndphys-swapfile setup\r\n<\/code><code>dphys-swapfile swapon<\/code><\/pre>\n<p>&nbsp;<\/p>\n<h4><strong>Installation des j-lawyer.org Servers<\/strong><\/h4>\n<p>Die Installation folgt vollst\u00e4ndig der vorhandenen Anleitung f\u00fcr die <a title=\"Installation Linux\" href=\"http:\/\/www.j-lawyer.org\/?page_id=93\" target=\"_blank\">Installation von j-lawyer.org unter Linux<\/a>.<\/p>\n<p>Im Nachgang sind einige Anpassungen zu machen, die den Spezifika des Pi geschuldet sind (f\u00fcr Interessierte: den maximalen Speicher f\u00fcr die Java-VM des j-lawyer.org Servers reduzieren und die Java-VM ohne &#8222;-server&#8220;-Flag laufen lassen). Dazu stelle ich diese beiden ge\u00e4nderten Dateien gern zur Verf\u00fcgung:<\/p>\n<p><a href=\"http:\/\/www.j-lawyer.org\/downloads\/raspberrypi\/run.conf\" target=\"_blank\">run.conf<\/a><\/p>\n<p><a href=\"http:\/\/www.j-lawyer.org\/downloads\/raspberrypi\/run.sh\" target=\"_blank\">run.sh<\/a><\/p>\n<p>Beide Dateien sind nach ~\/j-lawyer-server\/jboss-6.1.0.Final\/bin\/ zu kopieren &#8211; ersetzen Sie dabei die vorhandenen Dateien.<\/p>\n<p>Nun k\u00f6nnen Sie den j-lawyer.org Server starten per<\/p>\n<pre>sh start-server.sh<\/pre>\n<p>im Verzeichnis ~\/j-lawyer-server. Nun bitte kurz etwas zu Trinken holen, denn ich komme zum Thema&#8230;<\/p>\n<p>&nbsp;<\/p>\n<h4>Performance<\/h4>\n<p>Auff\u00e4llig ist als erstes, da\u00df &#8211; wenig \u00fcberraschend &#8211; der Start des j-lawyer.org Servers etwas lange dauert &#8211; ohne \u00c4nderungen bei mir etwas weniger als 9 Minuten. An dieser Stelle haben aber auch handels\u00fcbliche PCs bereits eine Weile zu knabbern.<\/p>\n<p>F\u00fcr weitere Tests habe ich einen Testdatenbestand mit ca. 500 Adressen, 1000 Akten und 3000 Dokumenten eingespielt &#8211; und mu\u00df sagen da\u00df der Pi, einmal &#8222;warmgelaufen&#8220; &#8211; seine Sache durchaus gut macht! Die Arbeit mit einem j-lawyer.org Client auf einem anderen Ger\u00e4t, der zum Server auf dem Pi verbunden ist, lief im Gro\u00dfen und Ganzen recht fl\u00fcssig. Einzelne Funktionalit\u00e4ten sind sp\u00fcrbar langsamer, so bspw. das Ermitteln der Platzhalter in komplexeren Dokumentvorlagen beim Erstellen neuer Dokumente. Letztendlich bin ich aber sehr positiv \u00fcberrascht. Man mu\u00df sich aber auch vor Augen halten da\u00df die meisten Transaktionen eher &#8222;Kleinkram&#8220; sind &#8211; also das Speichern einer Datei \/ eines Dokumentes, \u00c4ndern von einem oder wenigen Datenbankeintr\u00e4gen usw. Und damit wird man den Pi wohl nicht \u00fcberfordern.<\/p>\n<p>Auch wenn es so scheint als w\u00e4re der Pi prim\u00e4r durch die CPU restriktiert, so sollte man immer das Gesamtsystem betrachten. Ich empfehle auf jeden Fall direkt den Ethernetport zu verwenden und auf WLAN zu verzichten. Client und Server tauschen doch einiges an Daten aus und hier ist Ethernet einfach schneller und zuverl\u00e4ssiger.<br \/>\nWeiterhin lohnt es sich, auf die Lese- und Schreibgeschwindigkeiten der verwendeten SD(HC)-Karte zu schauen. Jedes Mehr an Geschwindigkeit wirkt sich direkt auf die Geschwindigkeit des Pi aus.<\/p>\n<p>Nach l\u00e4ngerem Arbeiten mit einem verbundenen Client hat sich der j-lawyer.org Server auf ca. 140MB RAM eingeschwungen &#8211; auch das ist ein Wert der einen Betrieb auf dem Pi absolut erlaubt.<\/p>\n<p>Im Folgenden habe ich in mehreren Schritte den Start des j-lawyer.org Servers optimiert und bin so zu einer Startzeit von knapp 5 Minuten gekommen.<\/p>\n<p>&nbsp;<\/p>\n<h4>Wozu das Ganze? &#8211; Fazit<\/h4>\n<p>Das ist eine valide Frage \ud83d\ude42\u00a0\u00a0\u00a0 Und wie in anderen Situationen auch k\u00f6nnte man antworten &#8222;Weil es geht!&#8220;.<\/p>\n<p>Aber Spa\u00df beiseite, es ist sicher verlockend einen extrem stromsparenden, lautlosen, ultrakompakten Server betreiben zu k\u00f6nnen, der einfach das ganze Jahr durchl\u00e4uft (Stromkosten ca. 7,50EUR bei ganzj\u00e4hrigem Betrieb) und Mitarbeitern die M\u00f6glichkeit bietet, von \u00fcberall aus zu arbeiten.<\/p>\n<p>Einsatzm\u00f6glichkeiten sehe ich f\u00fcr kleine Kanzleien, die bspw. den Server im B\u00fcro stehen haben und per VPN auch von zu Hause zugreifen m\u00f6chten. Folgende Pr\u00e4missen sehe ich:<\/p>\n<ul>\n<li>der Raspberry Pi wird f\u00fcr den j-lawyer.org Server dediziert und nicht mit weiteren Aufgaben betraut<\/li>\n<li>es greifen nicht mehr als 2 oder 3 j-lawyer.org Clients parallel zu<\/li>\n<li>der Datenbestand liegt im Rahmen der oben genannten Gr\u00f6\u00dfen<\/li>\n<li>die vom j-lawyer.org Server erstellten Backup-ZIP-Archive werden regelm\u00e4\u00dfig vom Pi auf ein anderes Ger\u00e4t kopiert (der Pi arbeitet ausschlie\u00dflich mit SD-Karte, und die k\u00f6nnen auch mal kaputt gehen)<\/li>\n<li>der Pi wird direkt per Ethernet verwendet (kein WLAN)<\/li>\n<li>Es wird nicht regelm\u00e4\u00dfig mit komplexen Dokumentvorlagen gearbeitet (bspw. mehrseitige Vorlagen oder solche mit aufw\u00e4ndiger Struktur (geschachtelte Tabellen etc.) und vielen Platzhaltern)<\/li>\n<\/ul>\n<p>Vor so einer Entscheidung sollten entsprechende Tests durchgef\u00fchrt werden &#8211; jeder empfindet Performance anders oder hat andere Anspr\u00fcche. Technische H\u00fcrden sehe ich soweit nicht.<\/p>\n<p>Jens<br \/>\n(j-lawyer.org)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In vollst\u00e4ndig anderem Kontext habe ich mich vor Kurzem mit dem Raspberry Pi (Model B) besch\u00e4ftigt, einem Minicomputer f\u00fcr attraktive ca. 35 EUR. F\u00fcr diesen schlanken Taler bekommt man ein voll funktionst\u00fcchtiges System mit 512MB RAM, 700MHz, HDMI, Ethernet, 2xUSB, Video Out, Audio Out und SD-Kartenleser, und das alles in einem mehr als kompakten Format [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[5],"tags":[194,58,193,195],"class_list":{"0":"post-806","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-project-news","7":"tag-installation","8":"tag-j-lawyer-org","9":"tag-raspberry","10":"tag-raspbian","11":"czr-hentry"},"_links":{"self":[{"href":"https:\/\/www.j-lawyer.org\/index.php?rest_route=\/wp\/v2\/posts\/806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.j-lawyer.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.j-lawyer.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.j-lawyer.org\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.j-lawyer.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=806"}],"version-history":[{"count":2,"href":"https:\/\/www.j-lawyer.org\/index.php?rest_route=\/wp\/v2\/posts\/806\/revisions"}],"predecessor-version":[{"id":811,"href":"https:\/\/www.j-lawyer.org\/index.php?rest_route=\/wp\/v2\/posts\/806\/revisions\/811"}],"wp:attachment":[{"href":"https:\/\/www.j-lawyer.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.j-lawyer.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.j-lawyer.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}