Owncloud installieren: Unterschied zwischen den Versionen

Aus MySlug
Zur Navigation springen Zur Suche springen
(Der Seiteninhalt wurde durch einen anderen Text ersetzt: „Das Tutorial wurde auf Gargi.org verschoben: https://www.gargi.org/index.php?title=Owncloud_auf_dem_Pi_installieren“)
Markierung: Ersetzt
 
Zeile 1: Zeile 1:
<div style="text-align=right; float: right; clear: none; background: none; padding-left:20px">
Das Tutorial wurde auf Gargi.org verschoben: https://www.gargi.org/index.php?title=Owncloud_auf_dem_Pi_installieren
__TOC__
</div>
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:
 
:# 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><pre>
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 FollowSymLinks
      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 FollowSymLinks
      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>
 
==Owncloud aktualisieren==
 
Wenn Ihr einen Hinweis auf eine neue Version bekommt, dann lässt sich diese recht schnell installieren. Dies geht in folgenden Schritten:
 
:# Sichert zuerst Eure Installation. Hierzu am besten das Verzeichnis auf Eurem Server umbenennen
:# Bleibt in Eurem Serververzeichnis und ladet Euch mittels '''wget''' wie in meinem Tutorial hier beschrieben die neue Version herunter. Entpackt das tar.gz mittels '''tar''' (siehe oben).
:# Kopiert das '''data''' Verzeichnis von Eurer Sicherung in das neue owncloud Verzeichnis.
:# Kopiert die '''config.php''' aus dem '''config''' Verzeichnis Eurer Sicherung in das neue '''owncloud/config/''' Verzeichnis.
:# Führt wie in meinem Tutorial das '''rights.sh''' Skript aus, um die Verzeichnisrechte neu zu setzen.
:# Ruft Eure owncloud nun im Browser auf. Jetzt müsst Ihr die Datenbank aktualisieren lassen. Das wird Euch im Browser entsprechend angezeigt. Habt hier einwenig Geduld, der Vorgang kann hier etwas dauern.
:# Falls Ihr im Stammverzeichnis eine eigene .htaccess angelegt habt, dann kopiert diese nun aus Eurem Sicherungsverzeichnis zurück. Führt danach nochmals das '''rights.sh''' Skript aus.
 
Das war es soweit. Danach ist Eure Owncloud auf dem neuesten Stand gebracht.
<br><br>
'''Quelle:''' [http://www.owncloud.org http://www.owncloud.org]

Aktuelle Version vom 30. Juni 2018, 12:17 Uhr