Benutzer-Werkzeuge

Webseiten-Werkzeuge


owncloud

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
owncloud [2015/11/22 23:11] – angelegt nooneowncloud [2022/01/18 00:20] (aktuell) noone
Zeile 1: Zeile 1:
 +Aktuelle Anleitung [[https://codeberg.org/strobelstefan.org/nextcloud-installation-configuration|hier]] oder [[https://howtodotech.de/nextcloud-23-auf-ubuntu-20-04-server-installieren/|hier]].
  
 +
 +====NextCloud auf den Raspberry Pi installieren====
 +
 +Für die nächsten Befehle dauerhaft Root-Rechte organisieren:
 +   sudo -i
 +
 +Alle installierten Pakete auf den neuesten Stand bringen:
 +   apt update && apt upgrade -y
 +
 +Webserver Apache und PHP installieren:
 +   sudo apt install apache2 php7.3 php7.3-gd php7.3-curl php7.3-common php7.3-intl php-pear php-apcu php7.3-xml libapache2-mod-php7.3 php7.3-mbstring php7.3-zip curl libcurl3 libcurl3-dev php7.3-mysql mariadb-server-10.1 smbclient
 +
 +MariaDB vorbereiten
 +   sudo mysql_secure_installation
 +
 +Dabei wird ein Root-Passwort vergeben, der anonyme Benutzer entfernt, root die remote-Anmeldung verboten und die Testdatenbank gelöscht.
 +Anschliessende wird die Datenbank für NextCloud erstellt und dem nextcloud-user alle Zugriffrechte auf diese Datenbank vergeben.
 +   sudo mariadb
 +   create database nextcloud character set utf8mb4 collate utf8mb4_general_ci;
 +   create user nextcloud@localhost identified by 'password';
 +   grant all privileges on nextcloud.* to nextcloud@localhost;
 +   flush privileges;
 +   quit;
 +
 +Anschliessend kann die aktuelle NextCloud-Version heruntergeladen werden:
 +   cd ~/Downloads
 +   wget https://download.nextcloud.com/server/releases/latest.zip
 +
 +Das Archiv entpacken
 +   unzip latest.zip
 +
 +und ins Webroot verschieben
 +   sudo mv nextcloud/ /var/www/html/
 +
 +Die Eigentums- und Schreibrechte müssen auf den Web-User übertragen werden
 +   sudo chown -R www-data.www-data /var/www/html/nextcloud
 +
 +Die abschliessende NextCloud-Einrichtung erfolgt über das Web-Frontend
 +   http://<RasPi-IP>/nextcloud
 +
 +Zur endgültigen Nutzung sind noch einige Anpassungen vorzunehmen. Die Hinweise dazu findet man in der NextCloud in den Einstellungen.
 +
 +>==========================================================<
 +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]]
 +
 +[[ocbackup|Backup und Restore]]

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki