<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Cloud Computing Archive - dahlen.org</title>
	<atom:link href="https://www.dahlen.org/tag/cloud-computing/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dahlen.org/tag/cloud-computing/</link>
	<description>Private Webseite der Familie Dahlen</description>
	<lastBuildDate>Thu, 17 Mar 2022 09:23:28 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
	<item>
		<title>Die eigene Cloud auf dem Raspberry PI (Teil 3: Anbindung von Clients)</title>
		<link>https://www.dahlen.org/2013/02/24/die-eigene-cloud-3/</link>
					<comments>https://www.dahlen.org/2013/02/24/die-eigene-cloud-3/#comments</comments>
		
		<dc:creator><![CDATA[christoph]]></dc:creator>
		<pubDate>Sun, 24 Feb 2013 15:27:13 +0000</pubDate>
				<category><![CDATA[Hobby]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Internet of Things]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Raspberry]]></category>
		<guid isPermaLink="false">https://www.dahlen.org/?p=999</guid>

					<description><![CDATA[<p>Im ersten und zweiten Teil dieser Blog-Post-Serie bin ich auf die Installation der Cloud-Software ownCloud auf der eigenen, schwachbrüstigen Hardware eingegangen. Dabei wurde auf den Mini-Computer Raspberry PI, die Web-Server-Software lighttpd, Verschlüsselung via Transport Layer Security (TLS) und schließlich ownCloud gesetzt. In diesem dritten und vorerst letzten Teil wird auf die Anbindung von stationären und [&#8230;]</p>
<p>Der Beitrag <a href="https://www.dahlen.org/2013/02/24/die-eigene-cloud-3/">Die eigene Cloud auf dem Raspberry PI (Teil 3: Anbindung von Clients)</a> erschien zuerst auf <a href="https://www.dahlen.org">dahlen.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Im <a href="https://www.dahlen.org/2013/02/die-eigene-cloud-1/" title="Die eigene Cloud auf dem Raspberry PI (Teil 1: lighttpd und SSL)">ersten</a> und <a href="https://www.dahlen.org/2013/02/die-eigene-cloud-2/" title="Die eigene Cloud auf dem Raspberry PI (Teil 2: ownCloud Installation)">zweiten</a> Teil dieser Blog-Post-Serie bin ich auf die Installation der Cloud-Software <a href="http://owncloud.org" title="ownCloud Website besuchen">ownCloud</a> auf der eigenen, schwachbrüstigen Hardware eingegangen. Dabei wurde auf den Mini-Computer <a href="http://www.raspberrypi.org/" title="Raspberry PI Foundation">Raspberry PI</a>, die Web-Server-Software <a href="http://lighttpd.net/" title="LigHTTPd Website">lighttpd</a>, Verschlüsselung via Transport Layer Security (TLS) und schließlich ownCloud gesetzt. </p>
<p>In diesem dritten und vorerst letzten Teil wird auf die Anbindung von stationären und mobilen Clients eingegangen. Dabei kommen vorerst iOS und Mozilla Thunderbird zum Einsatz. Der fiktive ownCloud Server ist dabei unter der URL <em>https://owncloud.dahlen.org/</em> mit dem Benutzer <em>cloudmaster</em> zu erreichen.<br />
<span id="more-999"></span></p>
<h3>Client-Geräte und -Software</h3>
<p>Die Nutzungsmöglichkeiten von ownCloud via iPhone oder anderen mobilen Geräten sind vielfältig. Neben einem Zugriff über die entsprechende ownCloud App können Kontakte und Kalenderdaten über das CardDAV resp. CalDAV Protokoll verwaltet werden, welches von iOS direkt unterstützt wird.</p>
<h4>Geräte mit Apples iOS</h4>
<p>Die entsprechenden Assistenten zur Einrichung in iOS sind recht <q>straight-forward</q>, benötigen aber etwas Vorarbeit auf der Server-Seite. Zur automatischen Erkennung der Möglichkeiten fragt iOS zunächst die Pfade </p>
<ul>
<li><tt>/.well-known/carddav</tt> bzw.</li>
<li><tt>/.well-known/caldav</tt> ab.</li>
</ul>
<p>Diese existieren in ownCloud nicht, ihre Funktionalität allerdings sehr wohl, nur an anderer Stelle. Am einfachsten ist es jetzt, die Anfragen per HTTP Redirect umzuleiten. Dazu wird die Konfiguration unter <tt>/etc/lighttpd/lighttpd.conf</tt> um einen Eintrag ergänzt, z.B. ab Zeile 22:</p>
<blockquote><p>
url.access-deny = ( &#8222;~&#8220;, &#8222;.inc&#8220; )<br />
url.redirect = (<br />
 &#8222;^/.well-known/carddav$&#8220; => &#8222;/remote.php/carddav/&#8220;,<br />
 &#8222;^/.well-known/caldav$&#8220; => &#8222;/remote.php/caldav/&#8220;<br />
)
</p></blockquote>
<p>Außerdem ist es wichtig, daß man den eigenen Kalender in ownCloud über den Browser mindestens 1x aufruft. Erst dann werden die notwendigen Strukturen in ownClouds CalDAV-Server eingerichtet.</p>
<p>Dann kann die Anbindung via iPhone beginnen. Die Assistenten befinden sich in <q>Einstellungen</q> &#8211; <q>Mail, Kontakte, Kalender</q> &#8211; <q>Account hinzufügen &#8230;</q>. Aus der Liste der Möglichen Anbieter (iCloud, Exchange usw.) wählt man den letzten Punkt (<q>Andere</q>):<br />
<figure id="attachment_1009" aria-describedby="caption-attachment-1009" style="width: 217px" class="wp-caption aligncenter"><a href="https://www.dahlen.org/wp-content/uploads/2013/02/iOS-CardDAV-1.png"><img fetchpriority="high" decoding="async" src="https://www.dahlen.org/wp-content/uploads/2013/02/iOS-CardDAV-1-217x300.png" alt="Neuen CardDAV / CalDAV Account wählen" width="217" height="300" class="size-medium wp-image-1009" /></a><figcaption id="caption-attachment-1009" class="wp-caption-text">Neuen CardDAV / CalDAV Account wählen</figcaption></figure></p>
<p>Die Dialoge für CardDAV und CalDAV sind im Wesentlichen identisch. Durch unsere Vorbereitung reicht es, den Namen des Server (<em>owncloud.dahlen.org</em>, <strong>ohne</strong> https://), den Benutzernamen und das Paßwort einzutragen. Alles andere wird bei Wahl von <q>Weiter</q> oben rechts automatisch ermittelt.</p>
<figure id="attachment_1010" aria-describedby="caption-attachment-1010" style="width: 208px" class="wp-caption aligncenter"><a href="https://www.dahlen.org/wp-content/uploads/2013/02/iOS-CardDAV-2.png"><img decoding="async" src="https://www.dahlen.org/wp-content/uploads/2013/02/iOS-CardDAV-2-208x300.png" alt="Assistent CalDAV / CardDAV" width="208" height="300" class="size-medium wp-image-1010" srcset="https://www.dahlen.org/wp-content/uploads/2013/02/iOS-CardDAV-2-208x300.png 208w, https://www.dahlen.org/wp-content/uploads/2013/02/iOS-CardDAV-2.png 320w" sizes="(max-width: 208px) 100vw, 208px" /></a><figcaption id="caption-attachment-1010" class="wp-caption-text">Assistent CalDAV / CardDAV</figcaption></figure>
<p>Und das war es dann auch schon. Der neue Kalender taucht in der Kalender-App auf und nimmt Termine entgegen. Die Enrichtung eines Kontakt-Accounts geschieht völlig analog und wird hier nicht weiter beschrieben.</p>
<h4>Mozilla Thunderbird mit Lightning Add-On</h4>
<p>Mozillas Mail-Client <a href="http://www.mozilla.org/de/thunderbird/?flang=de" title="Mozilla Thunderbird Website">Thunderbird</a> wird durch das Kalender-AddOn Lightning in die Richtung eines Personal Information Assistents, wie z.B. Outlook gerückt. Als Vertreter der Open Source Idee war zu erwarten, daß eine Anbindung an offene Standards möglich ist. </p>
<p>Zumindest für den Kalender gilt das auch. Nach der Installation von Lightning und dem Neustart von Thunderbird wird über das Menü <q>Datei</q> &#8211; <q>Neu</q> &#8211; <q>Kalender</q> der Assistent für einen neuen Kalender gestartet. Zunächst entscheidet man sich für einen Kalender im Netzwerk.</p>
<figure id="attachment_1016" aria-describedby="caption-attachment-1016" style="width: 300px" class="wp-caption aligncenter"><a href="https://www.dahlen.org/wp-content/uploads/2013/02/thunderbird-lightning-caldav-1.png"><img decoding="async" src="https://www.dahlen.org/wp-content/uploads/2013/02/thunderbird-lightning-caldav-1-300x242.png" alt="Assistent zur Anlage eines Kalenders" width="300" height="242" class="size-medium wp-image-1016" srcset="https://www.dahlen.org/wp-content/uploads/2013/02/thunderbird-lightning-caldav-1-300x242.png 300w, https://www.dahlen.org/wp-content/uploads/2013/02/thunderbird-lightning-caldav-1.png 498w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-1016" class="wp-caption-text">Assistent zur Anlage eines Kalenders</figcaption></figure>
<p>Im folgenden Dialog wählt man das Kalender-Format, was hier CalDAV ist. Der Dialog erwartet auch die Adresse, unter welcher der Kalender erreichbar ist. An dieser Stelle ist es leider nicht ausreichend einfach nur die URL des ownCloud-Servers anzugeben. Vielmehr wird hier die vollständige URL zum persönlichen Kalender erwartet.</p>
<p>Diese URL kann in ownCloud ausgelesen werden. Dazu wählt man in der Web-Oberfläche von ownCloud den Kalender und klickt dann oben rechts auf das Kalender-Symbol. Ein weiterer Klick auf das Weltkugel-Symbol offenbart dann den CalDAV-Link.<br />
<figure id="attachment_1021" aria-describedby="caption-attachment-1021" style="width: 277px" class="wp-caption aligncenter"><a href="https://www.dahlen.org/wp-content/uploads/2013/02/CalDAV-Link.png"><img loading="lazy" decoding="async" src="https://www.dahlen.org/wp-content/uploads/2013/02/CalDAV-Link.png" alt="Die CalDAV-Adresse des gewählten Kalenders." width="277" height="279" class="size-full wp-image-1021" srcset="https://www.dahlen.org/wp-content/uploads/2013/02/CalDAV-Link.png 277w, https://www.dahlen.org/wp-content/uploads/2013/02/CalDAV-Link-150x150.png 150w" sizes="auto, (max-width: 277px) 100vw, 277px" /></a><figcaption id="caption-attachment-1021" class="wp-caption-text">Die CalDAV-Adresse des gewählten Kalenders.</figcaption></figure></p>
<p>Gemäß den Beispieldaten in diesem Artikel lautet die CalDAV-Adresse meines Default-Kalenders<br />
<em>https://owncloud.dahlen.org/remote.php/caldav/principals/cloudmaster/defaultcalendar</em>. Diese trägt man in den offenen Dialog ein und bestätigt mit <q>Weiter</q>.<br />
<figure id="attachment_1017" aria-describedby="caption-attachment-1017" style="width: 300px" class="wp-caption aligncenter"><a href="https://www.dahlen.org/wp-content/uploads/2013/02/thunderbird-lightning-caldav-2.png"><img loading="lazy" decoding="async" src="https://www.dahlen.org/wp-content/uploads/2013/02/thunderbird-lightning-caldav-2-300x239.png" alt="Auswahl des Kalendertyps und -quelle" width="300" height="239" class="size-medium wp-image-1017" /></a><figcaption id="caption-attachment-1017" class="wp-caption-text">Auswahl des Kalendertyps und -quelle</figcaption></figure></p>
<p>Im nächsten Dialog-Schritt hat man noch die Möglichkeit die Darstellung des Kalendars zu personalisieren und eine <nobr>E-Mail-</nobr><wbr>Adresse zuzuordnen. Außerdem werden in einem Popup die Anmeldedaten abgefragt.<br />
<figure id="attachment_1018" aria-describedby="caption-attachment-1018" style="width: 300px" class="wp-caption aligncenter"><a href="https://www.dahlen.org/wp-content/uploads/2013/02/thunderbird-lightning-caldav-3.png"><img loading="lazy" decoding="async" src="https://www.dahlen.org/wp-content/uploads/2013/02/thunderbird-lightning-caldav-3-300x241.png" alt="Beschriftung in der Kalenderansicht" width="300" height="241" class="size-medium wp-image-1018" /></a><figcaption id="caption-attachment-1018" class="wp-caption-text">Beschriftung in der Kalenderansicht</figcaption></figure></p>
<p>Schließlich kommt es zum letzten Schritt des Dialogs, in welchem man einfach nur auf <q>Fertigstellen</q> klickt. Das war&#8217;s.<br />
<figure id="attachment_1019" aria-describedby="caption-attachment-1019" style="width: 300px" class="wp-caption aligncenter"><a href="https://www.dahlen.org/wp-content/uploads/2013/02/thunderbird-lightning-caldav-4.png"><img loading="lazy" decoding="async" src="https://www.dahlen.org/wp-content/uploads/2013/02/thunderbird-lightning-caldav-4-300x240.png" alt="Beenden des Assistenten" width="300" height="240" class="size-medium wp-image-1019" /></a><figcaption id="caption-attachment-1019" class="wp-caption-text">Beenden des Assistenten</figcaption></figure></p>
<p>Damit hat mein Protokoll zur Einrichtung des eigenen, abgesicherten ownCloud-Servers auf dem Raspberry PI und die Anbindung an Clients sein vorläufiges Ende erreicht. Es ist nicht ausgeschlossen, daß Ergänzungen für weiter Clients wie Android oder Outlook folgen. </p>
<p>Ich hoffe, daß meine Ausführungen dem ein oder anderem zur Hilfe reichen und freue mich auf Feedback.</p>
<p>Der Beitrag <a href="https://www.dahlen.org/2013/02/24/die-eigene-cloud-3/">Die eigene Cloud auf dem Raspberry PI (Teil 3: Anbindung von Clients)</a> erschien zuerst auf <a href="https://www.dahlen.org">dahlen.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dahlen.org/2013/02/24/die-eigene-cloud-3/feed/</wfw:commentRss>
			<slash:comments>14</slash:comments>
		
		
			</item>
		<item>
		<title>Die eigene Cloud auf dem Raspberry PI (Teil 2: ownCloud Installation)</title>
		<link>https://www.dahlen.org/2013/02/23/die-eigene-cloud-2/</link>
					<comments>https://www.dahlen.org/2013/02/23/die-eigene-cloud-2/#comments</comments>
		
		<dc:creator><![CDATA[christoph]]></dc:creator>
		<pubDate>Sat, 23 Feb 2013 15:31:35 +0000</pubDate>
				<category><![CDATA[Hobby]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Internet of Things]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Raspberry]]></category>
		<guid isPermaLink="false">https://www.dahlen.org/?p=959</guid>

					<description><![CDATA[<p>Im ersten Teil meines Protokolls zum Thema Die eigene Cloud bin ich auf die Installation und Absicherung des Servers eingegangen. In diesem Teil geht es um die eigentliche Installation von ownCloud. Ziel ist es, Kalender- und Kontaktdaten weltweit im Zugriff zu haben, wobei sie dennoch auf eigener Hardware bleiben. Dazu wurde die Web-Server-Software lighttpd installiert [&#8230;]</p>
<p>Der Beitrag <a href="https://www.dahlen.org/2013/02/23/die-eigene-cloud-2/">Die eigene Cloud auf dem Raspberry PI (Teil 2: ownCloud Installation)</a> erschien zuerst auf <a href="https://www.dahlen.org">dahlen.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Im <a href="https://www.dahlen.org/2013/02/die-eigene-cloud-1/" title="Die eigene Cloud auf dem Raspberry PI (Teil 1: lighttpd und SSL)">ersten</a> Teil meines Protokolls zum Thema <q>Die eigene Cloud</q> bin ich auf die Installation und Absicherung des Servers eingegangen. In diesem Teil geht es um die eigentliche Installation von <a href="http://owncloud.org/" title="ownCloud Homepage besuchen">ownCloud</a>. Ziel ist es, Kalender- und Kontaktdaten weltweit im Zugriff zu haben, wobei sie dennoch auf eigener Hardware bleiben.</p>
<p>Dazu wurde die Web-Server-Software <a href="http://www.lighttpd.net/" title="Lighttpd Website besuchen">lighttpd</a> installiert und die Kommunikation via <em>Transport Layer Security</em> (TLS) abgesichert. Mein (fiktiver) Web-Server ist nun ausschließlich unter https://owncloud.dahlen.org/ erreichbar.<br />
<span id="more-959"></span></p>
<h3>Installation von ownCloud</h3>
<p>Wegen der begrenzten Ressourcen des <a href="http://www.raspberrypi.org/" title="Raspberry PI Foundation">Raspberry PI</a> wurde nicht auf das ownCloud-Paket der Distribution (Raspian) zurückgegriffen, da hier eine Abhängigkeit zum Apache 2 http-Server besteht. Dennoch kann das Gros der notwendigen Software aus den Paketquellen der Distribution genommen werden, z.B. <a href="http://php.net/" title="PHP 5">PHP5</a> mit seinen Modulen:<br />
<code>$ sudo apt-get install php5-gd php5-curl php5-sqlite php5-cgi</code></p>
<h4>PHP5</h4>
<p>Nach der Installation von PHP5 sind bei Bedarf zwei Einstellungen anzupassen, welche Auswirkung auf den gleichen Aspekt haben: Die maximale Größe für Uploads nach ownCloud. Es handelt sich um folgende Parameter, die sich in der Datei <tt>/etc/php5/cgi/php.ini</tt> befinden:</p>
<ul>
<li><tt>upload_max_filesize</tt></li>
<li><tt>post_max_size</tt></li>
</ul>
<p>Ich habe beide Werte auf <tt>16M</tt> gesetzt. In erster Linie möchte ich ownCloud für Kalender- und Kontaktdaten nutzen, aber mit 16MB sind auch mal ein Bild oder ein größeres Dokument drin.</p>
<p>Vor dem Beginn der eigentlichen Installation von ownCloud muß PHP5 noch via FastCGI angebunden werden. Dazu ist auch ein Neustart des Web-Servers notwendig:<br />
<code>$ sudo lighttpd-enable-mod fastcgi-php<br />$ sudo service lighttpd force-reload</code></p>
<h4>ownCloud</h4>
<p>Jetzt kann das ownCloud-Setup-Skript direkt vom Anbieter gezogen werden. Abgelegt wird es im Document-Root des Web-Servers <tt>/var/www/</tt>:<br />
<code>$ sudo wget -O /var/www/setup-owncloud.php \<br />  https://download.owncloud.com/download/community/setup-owncloud.php</code></p>
<p>Außerdem sind noch Berechtigungen anzupassen, damit ownCloud Daten nachladen und installieren kann:<br />
<code>$ sudo chown www-data:www-data /var/www /var/www/setup-owncloud.php</code></p>
<p>Schließlich wird das Skript im Browser aufgerufen, gemäß Beispiel lautet die URL zum Setup https://owncloud.dahlen.org/setup-owncloud.php. </p>
<p>Es erscheint der Begrüßungsbildschirm der Installation. Dieser kann ohne Änderungen per <q>Next</q> bestätigt werden.<br />
<a class="lightbox" rel="oc" href="https://www.dahlen.org/wp-content/uploads/2013/02/oc1.png"></a> Der Startbildschirm der OwnCloud Installation</p>
<p>Im folgenden Dialog kann man das Zielverzeichnis der Installation auswählen, relativ zum Document Root. Auch hier reicht ein Klick auf <q>Next</q>, auch wenn man mit <tt>owncloud</tt> nicht einverstanden ist (dazu später mehr):<br />
<figure id="attachment_934" aria-describedby="caption-attachment-934" style="width: 300px" class="wp-caption aligncenter"><a class="lightbox" rel="oc" href="https://www.dahlen.org/wp-content/uploads/2013/02/oc2.png"><img loading="lazy" decoding="async" src="https://www.dahlen.org/wp-content/uploads/2013/02/oc2-300x271.png" width="300" height="271" class="size-medium wp-image-934" alt="Screenshot ownCloud Web-Interface 2" srcset="https://www.dahlen.org/wp-content/uploads/2013/02/oc2-300x271.png 300w, https://www.dahlen.org/wp-content/uploads/2013/02/oc2.png 626w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-934" class="wp-caption-text">Auswahl des Zielverzeichnisses der Installation</figcaption></figure></p>
<p>Im Hintergrund lädt ownCloud nun die aktuelle Version vom ownCloud-Server und entpackt sie im vorhin gewählten Zielverzeichnis. Je nach Internet-Anbindung kann dieser Schritt etwas dauern. Sein Abschluß wird durch den dritten Dialog berichtet, den man wieder über <q>Next</q> bestätigt.<br />
<figure id="attachment_935" aria-describedby="caption-attachment-935" style="width: 300px" class="wp-caption aligncenter"><a href="https://www.dahlen.org/wp-content/uploads/2013/02/oc3.png"><img loading="lazy" decoding="async" src="https://www.dahlen.org/wp-content/uploads/2013/02/oc3-300x277.png" width="300" height="277" class="size-medium wp-image-935" alt="Screenshot ownCloud Web-Interface 3" srcset="https://www.dahlen.org/wp-content/uploads/2013/02/oc3-300x277.png 300w, https://www.dahlen.org/wp-content/uploads/2013/02/oc3.png 610w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-935" class="wp-caption-text">OwnCloud meldet den Vollzug der Installation</figcaption></figure></p>
<p>Schließlich wird nach den Anmeldedaten des ersten Benutzers gefragt. Dieser wird automatisch zum Administrator. Nachdem man Benutzernamen und Passwort eingetragen hat, kann die Installation über die entsprechende Schaltfläche abgeschlossen werden.<br />
<figure id="attachment_936" aria-describedby="caption-attachment-936" style="width: 300px" class="wp-caption aligncenter"><a href="https://www.dahlen.org/wp-content/uploads/2013/02/oc4.png"><img loading="lazy" decoding="async" src="https://www.dahlen.org/wp-content/uploads/2013/02/oc4-240x300.png" width="300" height="370" class=size-medium wp-image-936" alt="Screenshot ownCloud Web-Interface 4" /></a><figcaption id="caption-attachment-936" class="wp-caption-text">OwnCloud verlangt nach den Daten des Administrators</figcaption></figure></p>
<p>Im letzten Dialog war ein roter Textabschnitt zu sehen. Sinngemäß wird dadrin darauf hingewiesen, daß alle Daten, die man ownCloud anvertraut ohne jede Zugangskontrolle abrufbar sind. Darum wird lighttpd (und damit ownCloud) jetzt erstmal runtergefahren:<br />
<code>$ sudo service lighttpd stop</code></p>
<p>Nun zu Ursache und Beseitigung der Warnung: ownCloud speichert die meisten seiner Daten in einem Unterverzeichnis namens <tt>data</tt>. Dieses Verzeichnis wird in der Regel über eine Datei namens <tt>.htaccess</tt> vor direkten Zugriffen aus dem Internet geschützt. Nur indirekt, über die ownCloud-Software und das dort integrierte Rechtemanagement soll der Zugriff erfolgen. </p>
<p>lighttpd bietet aber keine Unterstützung für die Anweisungen in der .htaccess-Datei, darum besteht auch kein Zugriffsschutz. Zwar bietet auch lighttpd ähnliche Mechanismen, aber ich wähle einen anderen Weg.</p>
<p>Als erstes ersetze ich /var/www/owncloud durch /var/www, weil ich keine weitere Anwendung auf dem Raspberry PI laufen lassen werde.<br />
<code>$ sudo mv /var/www /var/www.off<br />
$ sudo mv /var/www.off/owncloud /var/www<br />
$ sudo rm -r /var/www.off</code></p>
<p>Dann verschiebe ich das data-Verzeichnis aus dem Bereich des Webservers.<br />
<code>$ sudo mkdir -p /srv/owncloud<br />
$ sudo chown www-data:www-data /srv/owncloud<br />
$ sudo mv /var/www/data /srv/owncloud</code></p>
<p>Den neuen Ort des data-Verzeichnisses müssen wir ownCloud bekannt machen, dazu wird der alte Wert in der Konfigurationsdatei <tt>/var/www/config/config.php</tt> geändert.</p>
<p>Aus<br />
<code>'datadirectory' => '/var/www/owncloud/data',</code><br />
wird also<br />
<code>'datadirectory' => '/srv/owncloud/data',</code></p>
<p>Zeit lighttpd (und damit owncloud) neu zu starten.<br />
<code>$ sudo service lighttpd start</code></p>
<p>Damit ist die Installation von ownCloud abgeschlossen. Sie steht (nur lt. meinem Beispiel) jetzt direkt unter https://owncloud.dahlen.org/ zur Verfügung. </p>
<p>Im <a href="https://www.dahlen.org/2013/02/die-eigene-cloud-3/" title="Die eigene Cloud auf dem Raspberry PI (Teil 3: Anbindung von Clients)">nächsten</a> Teil gehe ich auf die Anbindung von Kontakten und Kalender via iOS und anderen Clients ein.</p>
<p>Der Beitrag <a href="https://www.dahlen.org/2013/02/23/die-eigene-cloud-2/">Die eigene Cloud auf dem Raspberry PI (Teil 2: ownCloud Installation)</a> erschien zuerst auf <a href="https://www.dahlen.org">dahlen.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dahlen.org/2013/02/23/die-eigene-cloud-2/feed/</wfw:commentRss>
			<slash:comments>28</slash:comments>
		
		
			</item>
		<item>
		<title>Die eigene Cloud auf dem Raspberry PI (Teil 1: lighttpd und SSL)</title>
		<link>https://www.dahlen.org/2013/02/23/die-eigene-cloud-1/</link>
					<comments>https://www.dahlen.org/2013/02/23/die-eigene-cloud-1/#comments</comments>
		
		<dc:creator><![CDATA[christoph]]></dc:creator>
		<pubDate>Sat, 23 Feb 2013 15:00:57 +0000</pubDate>
				<category><![CDATA[Hobby]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Internet of Things]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Raspberry]]></category>
		<guid isPermaLink="false">https://www.dahlen.org/?p=929</guid>

					<description><![CDATA[<p>Bereits vor einiger Zeit habe ich mir einen Raspberry Pi gekauft, einen Ein-Platinen-Computer in der Größe einer Scheckkarte. Es stand nicht wirklich eine Notwendigkeit dahinter, eher technische Neugier gepaart mit einer relativ niedrigen Kaufschwelle von rund 25&#160;USD. Jetzt habe ich auch endlich eine Verwendung für die Himbeere 3,1415 gefunden: Meine eigene, kleine Cloud &#8211; mein [&#8230;]</p>
<p>Der Beitrag <a href="https://www.dahlen.org/2013/02/23/die-eigene-cloud-1/">Die eigene Cloud auf dem Raspberry PI (Teil 1: lighttpd und SSL)</a> erschien zuerst auf <a href="https://www.dahlen.org">dahlen.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Bereits vor einiger Zeit habe ich mir einen <a title="Raspberry Pi" href="http://www.raspberrypi.org/">Raspberry Pi</a> gekauft, einen Ein-Platinen-Computer in der Größe einer Scheckkarte. Es stand nicht wirklich eine Notwendigkeit dahinter, eher technische Neugier gepaart mit einer relativ niedrigen Kaufschwelle von rund 25&#160;USD. </p>
<p>Jetzt habe ich auch endlich eine Verwendung für die Himbeere 3,1415 gefunden:  Meine eigene, kleine Cloud &#8211; mein Wölkchen also.<br />
<span id="more-929"></span></p>
<h3>Motivation</h3>
<p>Zunächst möchte ich noch meine Zielsetzung schärfen: Trotz der Auswahl von <a href="https://owncloud.com/" title="ownCloud">ownCloud</a> als Server-Software geht es mir primär nicht um die Einrichtung einer Dateiablage oder ähnlichem. Vielmehr steht der weltweite Zugriff auf Kontakte und Kalenderdaten via Browser oder mobilem Endgerät im Vordergrund. Die dafür notwendigen Protokolle <a href="http://de.wikipedia.org/wiki/CalDAV" title="CalDAV bei Wikipedia nachschlagen">CalDAV</a> und CardDAV sind in ownCloud integriert und die Installation der ownCloud-Software ist um ein Vielfaches einfacher als der dedizierten Varianten (z.B. <a href="http://www.davical.org/" title="DaviCAL">DaviCAL</a>). </p>
<p>Zwar kann man alle Leistungen kostenlos bei Google bekommen, doch liegen die persönlichen Daten dann eben bei Google. Natürlich muß das nicht zwangsläufig zu Mißbrauch führen (<q>Don&#8217;t be evil</q>, sagt Google). Aber ab und an wird Google sicherlich mal einen Blick auf die Daten werden, um <q>die Benutzererfahrung</q> zu verbessern. Anders wären Dienste wie <a href="http://www.google.com/landing/now/" title="Google Now">Google Now</a> gar nicht möglich.</p>
<h3>Hard- und Software-Basis</h3>
<p>Meine Beschreibung orientiert sich dabei an den Möglichkeiten eines Raspberry Pi, Modell&nbsp;B, 256MB Variante. Als Betriebssystem kommt die Debian Wheezy basierte <q><a href="http://www.raspberrypi.org/downloads" title="Raspbian">Raspbian</a></q>-Distribution zum Einsatz.  Wegen der begrenzten Ressourcen wird nicht auf das ownCloud-Paket der Distribution zurückgegriffen, da hier eine Abhängigkeit zum Apache&nbsp;2 http-Server besteht. Stattdessen wird auf <a href="http://www.lighttpd.net/" title="ligHTTPd">LigHTTPd</a> zurückgegriffen:<br />
<code>$ sudo apt-get install lighttpd</code></p>
<p>Damit ist der Webserver bereits installiert und liefert sein Platzhalter-Seite über HTTP aus. Allerdings handelt es sich um eine unverschlüsselte Verbindung. Die später notwendigen Anmelde-, meine Kontakt- und Kalenderdaten sollen so nicht verschickt werden. Vielmehr muß eine Absicherung über <a href="http://de.wikipedia.org/wiki/Transport_Layer_Security" title="Transport Layer Security (TLS)"><abbr title="Transport Layer Security">TLS</abbr></a>, besser bekannt als <abbr title="Secure Socket Layer">SSL</abbr>.</p>
<h3>Absicherung der Kommunikation</h3>
<p>Ich will erreichen, daß die Kommunikation mit den Clients (iPhone, Browser, etc.) verschlüsselt abläuft. Dazu würde theoretisch ein einfaches, selbst-signiertes Zertifikat reichen. Allerdings würden dann unbedarfte Anwender mit Dialogen konfrontiert werden, in denen Begriffe wie <q>Gefahr</q>, <q>Sicherheitshinweis</q> und <q>nicht empfohlen</q> vorkommen.</p>
<p>Der Grund ist, daß ein selbst-signiertes Zertifikat zwar für den Aufbau einer verschlüsselten Verbindung ausreicht, aber die Identität des Servers nicht bestätigt. Dies geht nur über eine Zertifikatskette, welche ausschließlich aus dem Client bekannten <q>Certification Authorities</q> (CA) besteht. Das heißt: Eine dem Client bekannte und als vertrauenswürdig eingestufte CA hat die Validität meines Server-Zertifikats mit ihrer Signatur bestätigt. </p>
<blockquote><p>In meiner Beschreibung verwende ich als Hostnamen <em>owncloud.dahlen.org</em> und einen Benutzer namens <em>cloudmaster</em>. Weder die Domäne, noch der Benutzer existieren in der Realität.</p></blockquote>
<p>Leider verlangen die im Browser vorinstallierten CAs teilweise horrende Gebühren für ihre Signatur. Doch es gibt kostenlose Ausnahmen, welche für meinen Anwendungsfall auch völlig ausreichend sind. Eine davon ist die Firma StartSSL. </p>
<p>Wichtig: Für die Erstellung eines durch StartSSL-signierten Zertifikats wird die eigene Domäne benötigt (wie dahlen.org). Ohne diese Domäne bleibt euch nur die Möglichkeit eines selbst-signierten Zertifikats. Auch muß der ownCloud-Host über einen <em>Fully Qualified Domain Name</em> (FQDN) erreichbar sein, also über einen Namen wie owncloud.dahlen.org.</p>
<p>Das erforderliche Software (OpenSSL) sollte bereits bei der Installation von Raspian mitgekommen sein, ansonsten schadet eine erneuter Versuch auch nicht.<br />
<code>$ sudo apt-get install openssl</code></p>
<h4>Schlüssel und Zertifikate</h4>
<p>Zunächst erstellt man einen privaten Schlüssel, mit welchem das spätere Server-Zertifikat abgesichert ist. Auf die Möglichkeit, diesen private key mit einem weiteren Kennwort abzusichern wird bewußt verzichtet:<br />
<code>$ openssl genrsa -out server.key 2048</code></p>
<p>Dann erstellt man einen <em>Certificate Signing Request</em> (CSR), eigentlich ist das der öffentliche Teil des privaten Schlüssels, welcher zur Signatur bei der CA eingereicht wird (oder eben selbst signiert wird):<br />
<code>$ openssl req -new -key server.key -out server.csr</code></p>
<p>Die gestellten Fragen sind gemäß der eigenen Umgebung anzugeben. Wichtig dabei: Das Feld <em>Common Name</em> (CN) muß den Namen und die Domäne (<em>Fully Qualified Domain Name</em>, FQDN) des eigenen ownCloud-Servers beinhalten. Der vollständige Dialog kann also wie folgt aussehen:</p>
<blockquote><p>
Country Name (2 letter code) [AU]:DE<br />
State or Province Name (full name) [Some-State]:Nordrhein-Westfalen<br />
Locality Name (eg, city) []:Toenisvorst<br />
Organization Name (eg, company) [Internet Widgits Pty Ltd]:dahlen.org<br />
Organizational Unit Name (eg, section) []:<br />
Common Name (e.g. server FQDN or YOUR name) []:owncloud.dahlen.org<br />
Email Address []:cloudmaster@dahlen.org
</p></blockquote>
<p>Der erzeugte CSR wird jetzt bei StartSSL zur Signatur eingereicht. Diesen Prozeß muß ich glücklicherweise nicht beschreiben, denn das haben die Kollegen auf <a href="http://www.heise.de/security/artikel/Die-Praxis-881280.html" title="heise Security">heise Security</a> bereits getan. Im Ergebnis wird das signierte Zertifikat angezeigt, welches man kopiert und eine Datei namens server.crt speichert. Es ist dabei enorm wichtig, daß der Inhalt der Datei nicht durch Umbrüche oder ähnliches verändert wird.</p>
<p>Drei Dateien befinden sich nun im aktuellen Verzeichnis:</p>
<ul>
<li>server.key &#8211; der private Schüssel zum Zertifikat</li>
<li>server.csr &#8211; der öffentliche, unsignierte Schlüssel</li>
<li>server.crt &#8211; das öffentliche, signierte und damit &#8222;zertifizierte&#8220; Schlüssel</li>
</ul>
<p>Der CSR wird nicht mehr benötigt und kann gelöscht werden. Eine weitere Datei muss noch besorgt werden, um die Kette der Zertifikat-Signaturen zu schliessen: Das Intermediate Certificate von StartSSL. Diese lässt sich direkt abrufen:<br />
<code>$ wget -O ca.pem http://www.startssl.com/certs/sub.class1.server.ca.pem</code></p>
<p>Damit ist die Zertifikatskette geschlossen und die Gültigkeit des eigenen Server-Zertifikats kann überprüft werden:<br />
<code>$ openssl verify -CAfile ca.pem server.crt</code><br />
Erwartetes Ergebnis:</p>
<blockquote><p>server.crt: OK</p></blockquote>
<p>Als letzten Schritt der Zertifikat-Vorbereitung müssen jetzt noch der private Schlüssel und das Zertifikat in eine Datei überführt werden.<br />
<code>$ cat server.key server.crt > server.pem</code></p>
<h4>Installation in <a name="lighttpd-ssl">lighttpd</a></h4>
<p>Nun ist es Zeit, die generierten Teile der SSL-Infrastruktur dem Webserver bekannt zu machen:<br />
<code>$ sudo cp server.pem /etc/lighttpd/<br />
$ sudo cp ca.pem /etc/lighttpd/</code> </p>
<p>Außerdem muß die Konfiguration unter <tt>/etc/lighttpd/lighttpd.conf</tt> angepasst werden. Die Änderungen beginnen mit der Änderung der Port-Nummer (ca. ab Zeile 15). Aus<br />
<code>server.port                 = 80</code><br />
wird<br />
<code>server.port                 = 443<br />
ssl.engine                  = "enable"<br />
ssl.pemfile                 = "/etc/lighttpd/server.pem"<br />
ssl.ca-file                 = "/etc/lighttpd/ca.pem"</code></p>
<p>Letztendlich wird damit der Zugriff über einfaches, unverschlüsseltes HTTP abgeschaltet. Durch einen Neustart wird dies aktiviert:<br />
<code>$ sudo service lighttpd restart</code></p>
<p>Danach ist der Dienst nur noch über HTTPS auf Port 443 zu erreichen, also https://owncloud.dahlen.org/.</p>
<p>Im <a href="https://www.dahlen.org/2013/02/die-eigene-cloud-2/" title="Die eigene Cloud auf dem Raspberry PI (Teil 2: ownCloud Installation)">nächsten</a> Teil beschreibe ich, wie jetzt ownCloud ins Spiel kommt.</p>
<p>Der Beitrag <a href="https://www.dahlen.org/2013/02/23/die-eigene-cloud-1/">Die eigene Cloud auf dem Raspberry PI (Teil 1: lighttpd und SSL)</a> erschien zuerst auf <a href="https://www.dahlen.org">dahlen.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dahlen.org/2013/02/23/die-eigene-cloud-1/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
	</channel>
</rss>
