Installation Owncloud 10 unter Debian 9 und mit MariaDB

Owncloud ist eine auf PHP- basierende Open-Source-Web-Anwendung, welche für die Datensynchronisierung und den Filesharing verwendet wird. Owncloud ermöglicht es Ihnen, Ihre Dateien, Kalender, Kontakte und vieles mehr einfach zu verwalten, was Owncloud zu einer großartigen Alternative zu Google Drive, Dropbox, iCloud und anderen Cloud-Plattformen macht.

Die Installation von Owncloud auf Debian 9 ist sehr einfach und dauert nur wenige Minuten. Diese Installationanleitung sollte auch auf anderen Debian-basierten Systemen funktionieren, ich selbst aber habe es nur auf einen Debian 9 vServer installiert und getestet.


Installation MySQL Server:

Owncloud kann mit MySQL/MariaDB, PostgreSQL oder SQLite als Backend-Datenspeicher betrieben werden. Ich habe mich in diesem Beispiel für MariaDB entschieden.

Um den MariaDB-Server zu installieren, führen Sie den folgenden Befehl aus:

sudo apt install mariadb-server

Wenn die Installation erfolgreich abgeschlossen wurde, können Sie MariaDB mit folgenden Befehlen starten und aktivieren:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Anschließend sollte die MySQL- Installation mit einem root- Passwort geschützt, der anonyme Benutzer entfernt und der Zugriff auf die Datenbank nur vom localhost erlaubt werden. Die Einstellungen können mit folgendem Befehl konfiguriert werden:

sudo mysql_secure_installation 

Erstellen einer MySQL- Datenbank und eines Datenbankbenutzers:

Eine Datenbank und einen Datenbankbenutzer für die Owncloud- Installation kann mit folgenden Befehlen einrichtet werden:

mysql -u root -p

MariaDB [(none)]> CREATE DATABASE owncloud CHARACTER SET utf8;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud-user'@'localhost' IDENTIFIED BY 'owncloud_password';
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> \q

Installation der Middleware Apache2 und PHP:

Damit Owncloud später korrekt läuft, bedarf es an einer vielzahl von Middleware- Paketen wie Apache2 und PHP und weitere PHP- Module. Diese können ganz einfach mit folgenden Befehl in einem Zug installiert werden:

sudo apt install apache2 libapache2-mod-php7.0 \
openssl php-imagick php7.0-common php7.0-curl php7.0-gd \
php7.0-imap php7.0-intl php7.0-json php7.0-ldap php7.0-mbstring \
php7.0-mcrypt php7.0-mysql php7.0-pgsql php-smbclient php-ssh2 \
php7.0-sqlite3 php7.0-xml php7.0-zip php-redis php-apcu

Installation Redis

Redis ist eine In-Memory-Datenbank, welche den Arbeitsspeicher des Servers für die Owncloud- Installation als Speichercache nutzt. Die aktuelle Redis- Version kann aus dem Debian- Repositorys heraus wie folgt installiert werden:

sudo apt install redis-server

Installation Owncloud:

Das Owncloud 10-Paket ist im Standard-Repositorys von Debian 9 nicht vorhanden. Daher müssen Sie das Paket mittels des offiziellen Owncloud-Repositorys installieren. Fügen Sie hierfür zunächst den ownCloud GPG-Schlüssel zum Apt Sources Keyring hinzu:

wget -qO- https://download.owncloud.org/download/repositories/stable/Debian_9.0/Release.key | sudo apt-key add

Um das Owncloud-Repository zu aktivieren müssen sie folgende Befehlszeile ausführen, um das Repository der Source-List hinzuzufügen:

echo 'deb  https://download.owncloud.org/download/repositories/stable/Debian_9.0/  /' | sudo tee /etc/apt/sources.list.d/owncloud.list

Im nächsten Schritt müssen Sie HTTPS-Transport für das Debian-apt-Tool aktivieren. Hierfür installieren Sie das folgende Paket:

sudo apt install apt-transport-https

Als nächstes aktualisieren wir den apt- Cache und installieren das Owncloud- Paket mit den folgenden Kommandozeilen:

sudo apt update
sudo apt install owncloud-files

Konfiguration des Apache Webservers:

Um Owncloud dem Webserver bereitzustellen müssen wir nun eine neue Apache- Konfigurationsdatei (vHost) mit folgenden Inhalt erstellen:

sudo vi /etc/apache2/sites-available/owncloud.conf

Inhalt:

Alias /owncloud "/var/www/owncloud/"

<Directory /var/www/owncloud/>
Options +FollowSymlinks
AllowOverride All

<IfModule mod_dav.c>
Dav off
</IfModule>

SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud

</Directory>

Die Owncloud Apache- Konfiguration muss nun wie folgt aktiviert werden:

sudo a2ensite owncloud

Damit die Änderung der Apache- Konfiguration wirkt, muss der Apache Webserver neugestartet werden:

sudo service apache2 restart

Damit Sie Dateien uploaden können, müssen Sie nur noch die korrekten Berechtigungen für das Owncloud- Verzeichnis setzen:

sudo chown -R www-data: /var/www/owncloud/

Nun können Sie auf das Owncloud Web Interface zugreifen und die Installation abschließen.


Einrichtung der Owncloud- Installation:

Um die Installation abzuschließen, öffnen Sie Ihren Browser und öffnen Sie die Seite wie folgt:

http://Ihre-Server-IP-Adresse/owncloud

Sie müssen nun nur noch ein Administrator- Konto erstellen,

Benutzername und Passwort vergeben

das Datenverzeichis in der die Installation liegt auswählen,

/var/www/owncloud/data

den Datenbanktyp MySQL/MariaDB auswählen und die von Ihnen, bei der Einrichtung der Datenbank und des Datenbankbenutzers vergebenen Zugangsdaten eingeben. In diesem Beispiel sieht es wie folgt aus:

Benutzer: owncloud-user
Passwort: owncloud-password
Datenbank: owncloud
Datenbank-Host: localhost

Bitte verwenden Sie aus Sicherheitsgründen nicht diese Beispiel- Zugangsdaten!

7 Kommentare zu “Installation Owncloud 10 unter Debian 9 und mit MariaDB

  1. Hallo, danke für die Anleitung. Ich habe Debian über ein CD ISO als VM laufen. Bei der Installation von PHP bekommen ich folgende Fehlermeldung / Logfile:

    Paket php7.0-common ist nicht verfügbar, wird aber von einem anderen Paket
    referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
    wurde oder nur aus einer anderen Quelle verfügbar ist.

    Paket php7.0-curl ist nicht verfügbar, wird aber von einem anderen Paket
    referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
    wurde oder nur aus einer anderen Quelle verfügbar ist.

    E: Paket libapache2-mod-php7.0 kann nicht gefunden werden.
    E: Mittels des Musters »libapache2-mod-php7.0« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »libapache2-mod-php7.0« konnte kein Paket gefunden werden.
    E: Für Paket »php7.0-common« existiert kein Installationskandidat.
    E: Für Paket »php7.0-curl« existiert kein Installationskandidat.
    E: Paket php7.0-gd kann nicht gefunden werden.
    E: Mittels des Musters »php7.0-gd« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »php7.0-gd« konnte kein Paket gefunden werden.
    E: Paket php7.0-imap kann nicht gefunden werden.
    E: Mittels des Musters »php7.0-imap« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »php7.0-imap« konnte kein Paket gefunden werden.
    E: Paket php7.0-intl kann nicht gefunden werden.
    E: Mittels des Musters »php7.0-intl« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »php7.0-intl« konnte kein Paket gefunden werden.
    E: Paket php7.0-json kann nicht gefunden werden.
    E: Mittels des Musters »php7.0-json« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »php7.0-json« konnte kein Paket gefunden werden.
    E: Paket php7.0-ldap kann nicht gefunden werden.
    E: Mittels des Musters »php7.0-ldap« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »php7.0-ldap« konnte kein Paket gefunden werden.
    E: Paket php7.0-mbstring kann nicht gefunden werden.
    E: Mittels des Musters »php7.0-mbstring« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »php7.0-mbstring« konnte kein Paket gefunden werden.
    E: Paket php7.0-mcrypt kann nicht gefunden werden.
    E: Mittels des Musters »php7.0-mcrypt« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »php7.0-mcrypt« konnte kein Paket gefunden werden.
    E: Paket php7.0-mysql kann nicht gefunden werden.
    E: Mittels des Musters »php7.0-mysql« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »php7.0-mysql« konnte kein Paket gefunden werden.
    E: Paket php7.0-pgsql kann nicht gefunden werden.
    E: Mittels des Musters »php7.0-pgsql« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »php7.0-pgsql« konnte kein Paket gefunden werden.
    E: Paket php7.0-sqlite3 kann nicht gefunden werden.
    E: Mittels des Musters »php7.0-sqlite3« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »php7.0-sqlite3« konnte kein Paket gefunden werden.
    E: Paket php7.0-xml kann nicht gefunden werden.
    E: Mittels des Musters »php7.0-xml« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »php7.0-xml« konnte kein Paket gefunden werden.
    E: Paket php7.0-zip kann nicht gefunden werden.
    E: Mittels des Musters »php7.0-zip« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »php7.0-zip« konnte kein Paket gefunden werden.

    Muss ich ggf. eine weitere Paket Quelle hinzufügen?

    Gruß earens

    • Hallo earens,

      wie die Meldung es sagt liegt es da dran, dass php7.0 veraltet und abgelöst ist. Versuchen Sie mal eine aktuellere Version wie z.B. 7.3 oder 7.4.
      Sie können mir gerne eine Rückmeldung geben ob es geklappt hat.

      Viele Grüße

  2. Ich kann die Installation, leider, nicht abschliessien. Bekomme immer die Fehler Meldung:
    Fehler

    Error while trying to create admin user: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [2002] No such file or directory

    • Hallo,

      ich nehme an es liegt hier an fehlender Berechtigung auf die Datenbank.
      Bitte prüfen sie die Berechtigungen des (SQLite/MySQL)-Ordners und des Datenbank-File.

      ls -la /var/lib/mysql
      drwx—— 2 mysql mysql 12K Nov 14 12:09 owncloud
      Die Berechtigungen können sie z.B. mit chown -R mysql:mysql /var/lib/mysql/owncloud setzen.

      Bitte prüfen Sie aber vorab ob MySQL überhaupt läuft. 🙂
      sudo systemctl status mariadb

      Viele Grüße

      Viele Grüße

  3. Hallo,

    ich habe das gemacht, wie es hier beschrieben ist. Wenn ich am Ende https://IP/owncloud aufrufe kommt jedoch Fenster indem man mich fragt, ob ich eine Datei öffnen oder speichern möchte.

    PHP läuft 100% fein auf der Maschine, WordPress zB wird Fehlerfrei ausgeführt.

    • Hallo,
      welchen Webserver verwenden sie? Ich tippe auf ein Problem mit der Webserver apache2- /nginx- Config.
      Pürfen sie am besten mal die apache2.conf / ngnix.conf oder auch das vhost-File.

      Viele Grüße

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.