|
|
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| Da der Raspberry Pi 2 doch mehr Dampf unter der Haube hat, war es mal interessant auszuprobieren, wie sie mit einer Cloud zurecht kommt. Die Installation der Owncloud ist nicht trivial und setzt schon einige Kenntnisse auf Linux voraus. Aber es hat sich gelohnt! Die Performance passt, und in der Regel greifen auf einen Heimserver nicht viele User zu. Sollen auch in der Regel nicht. Im folgenden Tutorial werden wir diese Schritte vornehmen:
| | Das Tutorial wurde auf Gargi.org verschoben: https://www.gargi.org/index.php?title=Owncloud_auf_dem_Pi_installieren |
| | |
| :# Apache Module nachinstallieren und die php.ini anpassen
| |
| :# Owncloud herunterladen, installieren und Zugriffsrechte gemäß der Owncloudanleitung setzen
| |
| :# http und https einrichten (nebst htaccess Schutz) | |
| | |
| Voraussetzung:
| |
| | |
| :* Apache, php und mysql ist installiert
| |
| :* Eine Datenbank als Root ist angelegt
| |
| | |
| ==Apache Module nachinstallieren und die php.ini anpassen==
| |
| | |
| Zuerst benötigen wir ein paar zusätzliche Pakete:
| |
| | |
| <code><pre>apt-get install php5-curl php5-gd php5-json php5-curl php5-intl php5-mcrypt php-xml-parser</pre></code>
| |
| Die '''php.ini''' wird als nächstes angepasst:
| |
| | |
| Code:
| |
| nano /etc/php5/apache2/php.ini</pre></code>
| |
| Folgende Parameter könnt Ihr wie folgt anpassen:
| |
| | |
| <code><pre>post_max_size = 2G
| |
| max_file_uploads = 200
| |
| upload_max_filesize = 2G</pre></code>
| |
| Speichert die Änderung und startet Euren Apache neu durch
| |
| | |
| <code><pre>/etc/init.d/apache2 restart</pre></code>
| |
| <br><br>
| |
| ==Owncloud herunterladen und installieren==
| |
| In diesem Tutorial wollen wir die Owncloud in '''/var/www/''' installieren. Das geht natürlich überall wo Ihr wollt. Denkt daran, dass Ihr für die hochgeladenen Daten später genug Platz habt! Wir wechseln in das zukünftige Serververzeichnis:
| |
| | |
| <code><pre>cd /var/www</pre></code>
| |
| Nun ziehen wir uns die aktuelle Owncloud aus dem Netz:
| |
| | |
| <code><pre>wget https://download.owncloud.org/community/owncloud-8.0.4.tar.bz2</pre></code>
| |
| ''(Die aktuelle Versionsnummer, oder den Link bekommt Ihr hier: https://owncloud.org/install/#instructions-server )''
| |
| | |
| Entpackt die Datei mit einem
| |
| | |
| <code><pre>tar xvf owncloud-8.0.4.tar.bz2</pre></code>
| |
| Ihr habt nun ein neues Verzeichnis '''/var/www/owncloud'''. Wir wollen hier noch die Rechte passend setzen. Das machen wir einfach mit einen Skript:
| |
| | |
| <code><pre>nano /var/www/rights.sh</pre></code>
| |
| Füllt diese mit folgendem Code:
| |
| | |
| <code><pre>#!/bin/bash
| |
| ocpath='/var/www/owncloud'
| |
| htuser='www-data'
| |
| | |
| find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
| |
| find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
| |
| | |
| chown -R root:${htuser} ${ocpath}/
| |
| chown -R ${htuser}:${htuser} ${ocpath}/apps/
| |
| chown -R ${htuser}:${htuser} ${ocpath}/config/
| |
| chown -R ${htuser}:${htuser} ${ocpath}/data/
| |
| chown -R ${htuser}:${htuser} ${ocpath}/themes/
| |
| | |
| chown root:${htuser} ${ocpath}/.htaccess
| |
| chown root:${htuser} ${ocpath}/data/.htaccess
| |
| | |
| chmod 0644 ${ocpath}/.htaccess
| |
| chmod 0644 ${ocpath}/data/.htaccess</pre></code>
| |
| Speichert die Datei und macht diese ausführbar:
| |
| | |
| <code><pre>chmod +x /var/www/rights.sh</pre></code>
| |
| Diese führen wir gleich aus:
| |
| | |
| <code><pre>sh /var/www/rights.sh</pre></code>
| |
| Jetzt müssen wir dem Apache noch sagen, wo er unsere Webapplication findet:
| |
| <br><br>
| |
| | |
| ==http und https einrichten (nebst htaccess Schutz)==
| |
| | |
| Der nächste Schritt ist etwas kompliziert, deswegen genau hinsehen und lesen!
| |
| | |
| Als erstes hinterlegen wir den http Aufruf für die Leute, die sich es nicht merken können, dass es auch ein https gibt:
| |
| | |
| <code><pre>nano /etc/apache2/sites-enabled/000-default</pre></code>
| |
| Im Bereich '''<VirtualHost *:80>''' legt Ihr folgende neue Alias an:
| |
| | |
| <code><pre>
| |
| Alias /owncloud /var/www/owncloud
| |
| <Directory /var/www/owncloud>
| |
| Options ExecCGI -Indexes FollowSymLinks MultiViews
| |
| AddHandler cgi-script .cgi .pl
| |
| AllowOverride All
| |
| DirectoryIndex index.php index.htm index.html
| |
| Order allow,deny
| |
| allow from all
| |
| </Directory></pre></code>
| |
| Speichert die Änderung. Jetzt wollen wir nur noch eine Verbindung über https zulassen. Dazu müssen wir dem Apache https als Erweiterung beibringen. Wechselt dazu in Euer Root Home:
| |
| | |
| <code><pre>cd /root</pre></code>
| |
| Danach legen wir unser Serverzertifikat an:
| |
| | |
| <code><pre>openssl genrsa -out server.key 4096
| |
| openssl req -new -key server.key -out server.csr</pre></code>
| |
| Jetzt werdet Ihr einige Angaben abgefragt:
| |
| <br><br>
| |
| Country Name (Ländercode): = '''DE'''<br>
| |
| State or Province Name (Bundesland): = '''zB Bayern'''<br>
| |
| Locality Name, eg. City (Stadt): = '''zB Nuernberg'''<br>
| |
| Organization Name (Firmenname): = '''hier irgendwas eingeben wie privat, zuhause etc.'''<br>
| |
| Organizational Unit Name (Abteilung) = '''bleibt leer'''<br>
| |
| Common Name, eg. YOUR Name: = '''Euer Servername'''<br>
| |
| Email Adress: = '''eine E-Mail Adresse'''<br>
| |
| A challenge password: = '''bleibt leer'''<br>
| |
| An optional company name: = '''bleibt leer'''
| |
| <br><br>
| |
| Dann generieren wir das Zertifikat. Ich mache das gleich mal für 10 Jahre, dann ist Ruhe:
| |
| | |
| <code><pre>openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt</pre></code>
| |
| Noch ein paar Rechte festlegen:
| |
| | |
| <code><pre>chmod 400 server.key</pre></code>
| |
| Jetzt müssen wir noch ein paar Änderungen in einigen Apache Konfigurationsdateien vornehmen:
| |
| | |
| <code><pre>nano /etc/apache2/sites-enabled/000-default</pre></code>
| |
| Am Ende der Konfigurationsdatei ergänzt folgende neue Sektion:
| |
| | |
| <code><pre><VirtualHost *:443>
| |
| DocumentRoot /var/www
| |
| ServerName EUER_SERVERNAME
| |
| SSLEngine on
| |
| SSLCertificateFile /root/server.crt
| |
| SSLCertificateKeyFile /root/server.key
| |
| | |
| Alias /owncloud /var/www/owncloud
| |
| <Directory /var/www/owncloud>
| |
| Options ExecCGI -Indexes FollowSymLinks MultiViews
| |
| AddHandler cgi-script .cgi .pl
| |
| AllowOverride All
| |
| DirectoryIndex index.php index.htm index.html
| |
| Order allow,deny
| |
| allow from all
| |
| </Directory>
| |
| | |
| </VirtualHost></pre></code>
| |
| EUER_SERVERNAME muss noch entsprechend eingetragen werden. Speichert die Änderung und editiert die '''ports.conf'''
| |
| | |
| <code><pre>nano /etc/apache2/ports.conf</pre></code>
| |
| und fügt ganz zum Schluss folgende Zeile ein:
| |
| | |
| '''NameVirtualHost *:443'''
| |
| | |
| Nun aktivieren wir das SSL Modul:
| |
| | |
| <code><pre>a2enmod ssl</pre></code>
| |
| Der Apache muss jetzt neu gestartet werden:
| |
| | |
| <code><pre>/etc/init.d/apache2 restart</pre></code>
| |
| Beachtet, dass das natürlich kein gekauftes Zertifikat ist. Euer Browser wird hier eine entsprechende Warnmeldung bringen. Aber Ihr wisst damit, warum diese Meldung kommt.
| |
| <br><br>
| |
| Wenn Ihr generell auf '''https''' umleiten wollt, auch wenn die Adresse über http abgerufen wird, müsst Ihr im Apache das Modul Rewrite aktivieren:
| |
| | |
| <code><pre>a2enmod rewrite
| |
| /etc/init.d/apache2 restart</pre></code>
| |
| Editiert die '''.htaccess''':
| |
| | |
| <code><pre>nano /var/www/owncloud/.htaccess</pre></code>
| |
| Fügt direkt unter RewriteEngine on diese Zeilen ein:
| |
| | |
| <code><pre>RewriteCond %{HTTPS} off
| |
| RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]</pre></code>
| |
| Nun werden sämtliche Anfragen auf das verschlüsselte https Protokoll umgeleitet.
| |
| <br><br>
| |
| Zu guter Letzt wollen wir generell verhindern, dass man von außen einfach einen Zugriff auf das Login der Owncloud bekommt. Wir blockieren das deshalb mit .htaccess und aktivieren eine darüberliegende Passwortabfrage.
| |
| <br><br>
| |
| Fügt deshalb in der '''.htaccess''' noch folgendes oben ein:
| |
| | |
| <code><pre>
| |
| AuthType Basic
| |
| AuthName owncloud
| |
| AuthUserFile /var/www/owncloud/.htpasswd
| |
| require valid-user</pre></code>
| |
| Ihr seht, dass der Pfad zu dem dann erzeugtem Passwort im Dokumentenroot der Webanwendung liegt. Um das einwenig sicher zu machen, könnt Ihr durchaus dieses in ein anderes Verzeichnis legen, das außerhalb des Dokumentenroot liegt.
| |
| <br><br>
| |
| Das Passwort legt Ihr dann in diesem Verzeichnis (mittels cd dorthin wechseln!) mit einem
| |
| | |
| <code><pre>htpasswd -c .htpasswd username</pre></code>
| |
| an. Beim Befehl den Usernamen entsprechend Euren Vorstellungen ändern! Jetzt werdet Ihr zusätzlich nach einem Passwort gefragt.
| |
| <br><br>
| |
| That's it! Ruft Eure Cloud nun mit
| |
| <br><br>
| |
| https://EURE_SERVERADRESSE/owncloud
| |
| <br><br>
| |
| auf. Ihr werdet jetzt aufgefordert, einen Adminuser anzulegen und eine Mysql Datenbank festzulegen.
| |
| <br><br>
| |
| '''Quelle:''' [http://www.owncloud.org http://www.owncloud.org]
| |