Benutzer-Werkzeuge

Webseiten-Werkzeuge


owncloud

Dies ist eine alte Version des Dokuments!


Owncloud 8.1 auf den Raspberry Pi installieren

Für die nächsten Befehle dauerhaft Root-Rechte organisieren:

 sudo -i

Owncloud-Paketquelle für apt-get hinzufügen:

 echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /' >> /etc/aptsources.list.d/owncloud.list 

Wenn Fehlermeldungen bei apt-get upgrade wegen nicht überprüfbarer Signaturen für Owncloud vermieden werden sollen, noch die folgenden beiden Kommandos abarbeiten. Das ist aber nicht wirklich notwendig und kann auch übersprungen werden.

 wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/Release.key
 apt-key add - < Release.key

Paketquellen aktualisieren:

 apt-get update

Alle installierten Pakete auf den neuesten Stand bringen:

 apt-get upgrade

(Dumme Fragen immer mit j und Enter beantworten)

Owncloud installieren:

 apt-get install owncloud

(Dumme Fragen immer mit j und Enter beantworten)

Während der Instalation von MySQL wird ein Passwort für den MySQL-Benutzer root abgefragt. Dafür ein sicheres Passwort eingeben (und aufschreiben!) und zur Bestätigung noch einmal eingeben.

PHP-APC installieren:

 apt-get install php-apc

Die Datei /etc/apache2/sites-available/default editieren:

 nano /etc/apache2/sites-available/default

Nach der vorletzten Zeile und vor der Zeile

 </VirtualHost>

den folgenden Text einfügen:

   <Directory /var/www/owncloud>
     Options Indexes FollowSymLinks MultiViews
     AllowOverride All
     Order allow,deny
     allow from all
   </Directory>

Änderungen mit Strg-O und Enter speichern, dann nano mit Strg-X verlassen.

Die neue Konfiguration einlesen:

 service apache2 reload

Benutzer und Rechte im Owncloud-Verzeichnis setzen:

 find /var/www/owncloud/ -type f -print0 | xargs -0 chmod 0640
 find /var/www/owncloud/ -type d -print0 | xargs -0 chmod 0750
 chown -R root:www-data /var/www/owncloud/
 chown -R www-data:www-data /var/www/owncloud/apps/
 chown -R www-data:www-data /var/www/owncloud/config/
 chown -R www-data:www-data /var/www/owncloud/data/
 chown -R www-data:www-data /var/www/owncloud/themes/
 chown root:www-data /var/www/owncloud/.htaccess
 chown root:www-data /var/www/owncloud/data/.htaccess
 chmod 0644 /var/www/owncloud/.htaccess
 chmod 0644 /var/www/owncloud/data/.htaccess

Ins Owncloud-Verzeichnis wechseln:

 cd /var/www/owncloud/

Owncloud initialisieren: Achtung: MySQL-root-Passwort durch das bei der MySQL-Installation für root vergebene Passwort ersetzen. Owncloud-admin-Passwort durch ein eigenes gutes Paswort für den Owncloud-Administrator ersetzen (und aufschreiben). Bei –admin-user kann statt admin auch ein beliebiger anderer Benutzername angegeben werden.

 sudo -u www-data php occ  maintenance:install --database "mysql" --database-name "owncloud"  --database-user "root" --database-pass "MySQL-root-Passwort" --admin-user "admin" --admin-pass "Owncloud-admin-Passwort"

occ wird zuerst „ownCloud is not installed - only a limited number of commands are available“ anzeigen, dann nach einigen Sekunden „ownCloud was successfully installed“.

In Owncloud die Apps Calendar und Contacts aktivieren (wenn nicht nur Dateien sondern auch Kalender und Kontakte abgeglichen werden sollen):

 sudo -u www-data php occ app:enable calendar
 sudo -u www-data php occ app:enable contacts

Maximale Dateigröße für Uploads einstellen (2GB ist das maximal mögliche):

 nano /var/www/owncloud/.htaccess

In den beiden Zeilen

 php_value upload_max_filesize 513M
 php_value post_max_size 513M

das 513M durch 2G ersetzen. Das soll dann also so aussehen:

 php_value upload_max_filesize 2G
 php_value post_max_size 2G

Änderungen mit Strg-O und Enter speichern, dann nano mit Strg-X verlassen.

Cron-Job für Owncloud erzeugen:

 crontab -u www-data -e

Am Ende der Datei die folgende Zeile einfügen:

  • /15 * * * * php -f /var/www/owncloud/cron.php

Dann mit Strg-O und Enter speichern und mit Strg-X den Editor beenden.

PHP auf UTF-8-Zeichensatz umstellen:

 nano /etc/php5/apache2/php.ini

In der Zeile

 ;default_charset = "UTF-8"

den Strichpunkt am Anfang der Zeile löschen. (Um diese Zeile zu finden Strg-W drücken und default_charset eintippen.) Änderungen mit Strg-O und Enter speichern, dann nano mit Strg-X verlassen.

APC auch für PHP-CLI einschalten (sonst schmeißt der Owncloud-Cron-Job Fehlermeldungen):

 nano /etc/php5/cli/php.ini

Am Schluss der Datei die folgende Zeile einfügen:

 apc.enable_cli=1

Änderungen mit Strg-O und Enter speichern, dann nano mit Strg-X verlassen.

Erlaubte-Domain-Namen erweitern:

 nano /var/www/owncloud/config/config.php

Den Eintrag

'trusted_domains' =>
   array (
    0 => 'localhost',
   ),

erweitern um die lokal und extern für Owncloud verwendeten URLs. Z.B. so (wobei 192.168.xxx.yyy durch die an den Raspi vergebene IP-Adresse und meine.dyndns.adr durch die eingerichtete DynDNS-Adresse ersetzt werden muss):

   'trusted_domains' =>
array (
  0 => 'localhost',
  1 => 'raspberrypi',
  2 => '192.168.xxx.yyy',
  3 => 'meine.dyndns.adr',
),

Am Ende der Datei, vor der letzten Zeile mit der schließenden runden Klammer, noch den folgenden Text einfügen:

 # Wer die Ansprache gerne etwas lockerer hat kann
 # in der folgenden Zeile auch 'de' verwenden.
   'default_language' => 'de_DE',
 # In der folgenden Zeile kann statt 'calendar' auch z.B. 'contacts' 
 # angegeben werden, oder die Zeile ganz auskommentieren oder löschen,
 # dann wird files angezeigt.
   'defaultapp' => 'calendar',
   'memcache.local' => '\OC\Memcache\APC',

Änderungen mit Strg-O und Enter speichern, dann nano mit Strg-X verlassen.

Um SSL verwenden zu können in /etc/apache2/ das Unterverzeichnis SSL anlegen:

 mkdir /etc/apache2/ssl

Mit dem folgenden Befehl einen SSL-Schlüssel erzeugen:

 openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem

OpenSSL fragt nach einigen Daten. Als Common Name muss der reine DynDNS-Name (z.B.: meine.dyndns.adr, also ohne https:// davor oder /owncloud dahinter) eingegeben werden, alle anderen Felder können mit mehr oder weniger sinnvollen Angaben befüllt werden, aber auch leer bleiben.

Der folgende Befehl erzeugt einen Link mit dem Hash des Schlüssels als Namen auf die Schlüsseldatei:

 ln -sf /etc/apache2/ssl/apache.pem /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash < /etc/apache2 ssl/apache.pem`

Jetzt noch die richtigen Dateirechte setzen:

 chmod 600 /etc/apache2/ssl/apache.pem

Benötigte Module für Apache laden:

 service apache2 reload
 a2enmod ssl
 a2enmod headers
 service apache2 restart

Die Datei /etc/apache2/sites-available/ssl erzeugen:

 nano /etc/apache2/sites-available/ssl

Den folgenden Text eingeben:

 <virtualhost *:443>
   SSLEngine On 
   SSLCertificateFile /etc/apache2/ssl/apache.pem
   #Die folgende Zeile schließt unsichere SSL-Protokolle aus:
   SSLProtocol All -SSLv2 -SSLv3
   #Die folgende Zeile lässt nur die sichersten Verschlüsselungen zu:
   #(Das könnte allerdings Probleme mit alten Browsern geben)
   SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
   DocumentRoot /var/www 
   #Die folgende Zeile beseitigt die Sicherheitswarnung
   #"Strict-Transport-Security" in Owncloud:
   Header always add Strict-Transport-Security "max-age=15768000; includeSubDomain; preload" 
 </virtualhost>

Änderungen mit Strg-O und Enter speichern, dann nano mit Strg-X verlassen.

SSL einschalten:

 a2ensite ssl

Den Web-Server neu starten:

 service apache2 restart

MySQL sicherer machen:

 mysql_secure_installation

Die erste Frage („Change the root password? [Y/n]“) mit Nein beantworten, alle weiteren mit Ja.

Und ganz zum Schluss die Root-Rechte wieder abgeben:

 exit

Owncloud ist jetzt über einen Browser erreichbar: Auf dem Raspi selbst über

 https://localhost/owncloud

oder

 https://127.0.0.1/owncloud
 

Im eigenen Netz über

 https://raspberrypi/owncloud

oder

 https://192.168.xxx.yyy/owncloud

Von außen über

 https://meine.dyndns.adr/owncloud

Was noch fehlt: Im Router muß noch DynDNS und eine Portweiterleitung für den Port 443 auf den Raspi gesetzt werden. Wer eine Fritz-Box hat ist klar im Vorteil, weil die ein eigenes kostenloses DynDNS (Stichwort MyFritz) bietet. Die DynDNS-Adresse sieht dann etwa so aus: abc123xyz.myfritz.net, wobei der erste Teil von AVM beim Einrichten von MyFritz automatisch an die Fritz-Box vergeben wird.

Wer keine Fritz-Box hat, muß sich um einen anderen DynDNS-Dienst kümmern.

Das erzeugte Zertifikat muss auf den Geräten installiert werden, mit denen auf die Owncloud zugegriffen werden soll.

Edit 16.8.15: „sudo pcmanfm“ auf „gksu pcmanfm“ umgestellt (Danke an Frischwind und rpi444).

Edit 24.8.15: „apc.enable_cli=1“ in /etc/php5/cli/php.ini eingefügt.

Edit 28.8.15: Der cron-Job läuft wieder und ich weiß eigentlich nicht warum bzw. warum er vorher eine Zeit lang nicht mehr lief. Ich hab jetzt den entsprechenden Warnhinweis oben wieder gelöscht.

Edit 5.10.15: Aus Sicherheitsgründen in der Datei /etc/apache2/sites-available/ssl die Parameter SSLProtocol und SSLCypherSuite gesetzt. MySQL mit mysql_secure_installation abgedichtet.

Quelle: http://www.forum-raspberrypi.de/Thread-tutorial-owncloud-8-1-installation-mit-apache-und-mysql

Backup und Restore

owncloud.1508190221.txt.gz · Zuletzt geändert: 2017/10/16 23:43 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki