So installierst du ownCloud auf Ubuntu 22.04

ownCloud ist eine Software, mit der du File-Hosting-Dienste wie Google Drive und DropBox einrichten kannst. Es ist eine kostenlose und quelloffene Filehosting-Software, mit der du ein selbstgehostetes Filehosting auf deinem eigenen Server einrichten kannst. ownCloud bietet die Serveranwendung (die Hauptkomponente der ownCloud-Software) und Client-Anwendungen, die auf verschiedenen Betriebssystemen wie Linux, Windows, macOS, Android und iOS installiert werden können.

ownCloud ist hauptsächlich in PHP, JavaScript und Go geschrieben. Mit ownCloud kannst du ganz einfach Kalenderereignisse synchronisieren, Archive, Bilder und beliebige Dateiformate speichern. Außerdem kannst du mit ownCloud Aufgaben, Adressbücher und vieles mehr organisieren. ownCloud ist eine erweiterbare Anwendung, auf der du zusätzliche Anwendungen installieren kannst.

In diesem Lernprogramm zeigen wir dir, wie du ownCloud auf einem Ubuntu 22.04 Server installierst und konfigurierst. Außerdem geht es um die grundlegende Installation und Konfiguration des LAMP-Stacks (Linux, Apache2, MariaDB und PHP) auf dem Ubuntu-Server.

Voraussetzungen

Für diesen Leitfaden benötigen wir die folgenden Voraussetzungen:

  • Einen Ubuntu Server 22.04 Edition.
  • Einen Nicht-Root-Benutzer mit Root-Administrator-Rechten.
  • Einen Domainnamen, der auf die IP-Adresse des Servers zeigt und aufgelöst wird.

Installation der Abhängigkeiten

Bevor du mit der Installation von ownCloud beginnst, musst du einige grundlegende Paketabhängigkeiten auf deinem Server installieren, darunter Pakete wie openssl, redis-server, smbclient, etc.

Aktualisiere zunächst das Ubuntu-Repository mit dem unten stehenden apt-Befehl auf die neueste Version.

sudo apt update

Danach installierst du die Paketabhängigkeiten mit dem unten stehenden Befehl.

sudo apt install smbclient redis-server unzip openssl rsync imagemagick

Gib Y ein, um die Installation zu bestätigen und drücke ENTER, um zu starten. Wenn die Installation aller Abhängigkeiten abgeschlossen ist, kannst du mit dem nächsten Schritt fortfahren.

Installieren von Abhängigkeiten

Installation von PHP 7.4

Jetzt installierst du die PHP-Abhängigkeiten für deine ownCloud-Installation auf deinem Ubuntu-Server.

Die neueste Version des Ubuntu 22.04 Repository bietet die neueste Version der PHP 8.1 Pakete. Für ownCloud benötigst du jedoch PHP 7.4 anstelle von PHP 8.1. Nach aktuellem Stand wird ownCloud für PHP 8.1 noch nicht vollständig unterstützt.

Also installierst du jetzt PHP 7.4 aus dem Drittanbieter-Repository„ppa:ondrej/php“ auf dem aktuellen Ubuntu 22.04 Server.

Führe den folgenden Befehl aus, um das PPA-Repository für PHP-Pakete hinzuzufügen. Mit dem folgenden Befehl wird auch dein Ubuntu-Repository automatisch aktualisiert und aufgefrischt.

sudo add-apt-repository ppa:ondrej/php -y

Als nächstes führst du den folgenden apt-Befehl aus, um PHP 7.4 auf deinem Ubuntu-System zu installieren. Außerdem werden mit dem folgenden Befehl auch einige PHP 8.1-Pakete installiert, aber keine Sorge, du kannst die Standard-PHP-Version auf Ubuntu einrichten.

sudo apt install php7.4 php7.4-intl php7.4-mysql php7.4-mbstring \
       php7.4-imagick php7.4-igbinary php7.4-gmp php7.4-bcmath \
       php7.4-curl php7.4-gd php7.4-zip php7.4-imap php7.4-ldap \
       php7.4-bz2 php7.4-ssh2 php7.4-common php7.4-json \
       php7.4-xml php7.4-dev php7.4-apcu php7.4-redis \
       libsmbclient-dev php-pear php-phpseclib

Als Nächstes führst du den folgenden Befehl aus, um die Standardversion von PHP auf deinem System einzurichten.

sudo update-alternatives --config php

Gib die Nummer der PHP-Version 7.4 ein und bestätige mit ENTER. In diesem Beispiel ist PHP 7.4 unter der Nummer„2“ verfügbar.

Überprüfe nun die PHP-Version mit dem folgenden Befehl. Du wirst sehen, dass die Standardversion von PHP auf PHP 7.4 geändert wurde, wie es für die ownCloud-Installation erforderlich ist.

php --version

Standard-PHP-Version einrichten

Führe nun den folgenden Befehl aus, um eine andere Version der PHP-Tools auf PHP 7.4 einzustellen.

sudo update-alternatives --set phar /usr/bin/phar7.4
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.4
sudo update-alternatives --set phpize /usr/bin/phpize7.4
sudo update-alternatives --set php-config /usr/bin/php-config7.4

Als Nächstes musst du auch PEAR auf die neueste stabile Version für ownCloud aktualisieren. Die aktuellste stabile Version von PEAR ist v1.10.13, die du manuell aktualisieren kannst.

Erstelle ein neues temporäres Verzeichnis /tmp/pear/cache mit dem folgenden Befehl.

sudo mkdir -p /tmp/pear/cache

Aktualisiere die PEAR-Version mit dem unten stehenden pear-Befehl auf 1.10.13.

sudo pear upgrade --force \
      --alldeps http://pear.php.net/get/PEAR-1.10.13

Führe nun die folgenden pear-Befehle aus, um den Cache zu leeren, die Channels zu aktualisieren und alles zu aktualisieren.

sudo pear clear-cache
sudo pear update-channels
sudo pear upgrade --force
sudo pear upgrade-all

Nachdem der Upgrade-Prozess abgeschlossen ist, überprüfe die PEAR-Version mit dem folgenden Befehl. Du solltest sehen, dass die PEAR-Version auf v1.10.13 aktualisiert wurde.

pear version

Birnenversion prüfen

Installation des Apache2 Webservers

Jetzt ist es an der Zeit, den Apache2 Webserver für die ownCloud zu installieren, der auch die Module aktiviert, die für die ownCloud benötigt werden.

Installiere den Apache2-Webserver mit dem unten stehenden apt-Befehl.

sudo apt install libapache2-mod-php7.4 apache2

Gib Y ein, um die Installation zu bestätigen und drücke ENTER, um die Installation zu starten.

Nachdem die Installation abgeschlossen ist, führe den Befehl a2enmod aus, um einige der Apache2-Module zu aktivieren, die für ownCloud benötigt werden.

sudo a2enmod rewrite env dir mime unique_id headers ssl

Apache2-Module aktivieren

Starte den Apache2-Dienst neu, um die neuen Änderungen zu übernehmen.

sudo systemctl restart apache2

Installation von MariaDB Server

Nachdem du PHP 7.4 und den Apache2 Webserver installiert hast, ist es nun an der Zeit, den MariaDB Server zu installieren. ownCloud unterstützt standardmäßig mehrere RDBMS wie MySQL/MariaDB, SQLite, PostgreSQL und Oracle. Die einfachste, kostenlose und für den ownCloud-Einsatz empfohlene Methode ist die Verwendung der MySQL/MariaDB-Datenbank.

Führe den folgenden apt-Befehl aus, um das MariaDB-Serverpaket zu installieren.

sudo apt install mariadb-server

Gib Y ein, um die Installation zu bestätigen und drücke ENTER, um zu starten. Nun beginnt die Installation.

mariadb installieren

Nachdem die MariaDB-Installation abgeschlossen ist, führe den folgenden Befehl aus, um den MariaDB-Einsatz einzurichten und zu sichern.

sudo mysql_secure_installation

Im Folgenden wirst du nach einigen grundlegenden MariaDB-Konfigurationen gefragt:

  • Gib das neue MariaDB Root-Passwort ein und wiederhole es.
  • Gib optional Y ein, um die Authentifizierung auf unix_socket-Authentifizierung umzustellen.
  • Gib Y ein, um den anonymen Standardbenutzer aus dem MariaDB-Servereinsatz zu entfernen.
  • Gib Y ein, um die Fernanmeldung für den MariaDB-Root-Benutzer zu deaktivieren.
  • Gib erneut Y ein, um die Standarddatenbank „test“ aus deinem MariaDB-System zu entfernen.
  • Gib abschließend noch einmal Y ein, um alle Tabellenrechte neu zu laden und die neuen Änderungen auf den MariaDB-Server anzuwenden.

Nachdem du die Einrichtung des MariaDB-Servers abgeschlossen hast, führe den folgenden mysql-Befehl aus, um dich in der MariaDB-Shell anzumelden.

mysql -u root -p

Führe die folgenden Abfragen aus, um eine neue MariaDB-Datenbank und einen neuen Benutzer für die ownCloud zu erstellen. In diesem Beispiel werden der Benutzer und die Datenbank„owncloud“ mit dem Passwort„owncloudpass“ genannt.

CREATE DATABASE owncloud;
CREATE USER IF NOT EXISTS 'owncloud'@'localhost' IDENTIFIED BY 'owncloudpass';
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Daatabase und Benutzer owncloud erstellen

Überprüfe nun die Berechtigungen für den MariaDB-Benutzer „owncloud“ mit der folgenden Abfrage. Vergewissere dich, dass der Benutzer„owncloud“ Zugriff und Rechte auf die Datenbank„owncloud“ hat.

SHOW GRANTS FOR 'owncloud'@'localhost';

owncloud-Benutzerberechtigungen prüfen

OwnCloud-Quellcode herunterladen

An diesem Punkt hast du die Grundkonfiguration des LAMP-Stacks (Linux, Apache2, MariaDB und PHP) für die ownCloud-Installation abgeschlossen. Jetzt lädst du den ownCloud-Quellcode auf dein System herunter.

Gehe zunächst mit folgendem Befehl in das Verzeichnis /var/www/.

cd /var/www/

Lade nun die neueste Version des ownCloud-Quellcodes und die Prüfsummendatei zur Verifizierung mit dem folgenden wget-Befehl herunter. Du wirst eine neue Datei„owncloud-complete-latest.tar.bz2“ für den ownCloud-Quellcode und die„owncloud-complete-latest.tar.bz2.sha256“ für die Prüfsummendatei sehen.

wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2.sha256

Führe dann die Überprüfung mit dem unten stehenden Befehl sha256sum durch. Wenn die Überprüfung erfolgreich war, siehst du die Meldung„OK„.

sudo sha256sum -c owncloud-complete-latest.tar.bz2.sha256 < owncloud-complete-latest.tar.bz2

owncloud herunterladen und verifizieren

Danach entpackst du den ownCloud-Quellcode mit dem unten stehenden Befehl. Du solltest nun ein neues Verzeichnis namens„owncloud“ sehen, das als DocumentRoot/WebRoot-Verzeichnis für deine ownCloud-Installation„/var/www/owncloud“ verwendet wird.

tar -xf owncloud-complete-latest.tar.bz2

Zum Schluss änderst du mit dem folgenden Befehl den Eigentümer des Verzeichnisses„owncloud“ in„www-data„.

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

Einrichten des virtuellen Apache2-Hosts für ownCloud

Jetzt richtest du den virtuellen Apache2-Host für ownCloud ein. In diesem Beispiel verwenden wir den Domainnamen „hwdomain.io“ für die ownCloud-Installation mit aktiviertem sicheren HTTPS/SSL auf dem Apache2-Webserver.

Erstelle eine neue virtuelle Hostdatei„/etc/apache2/sites-available/owncloud.conf“ mit dem nano-Editor.

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

Füge die folgende Apache2-Konfiguration in die Datei ein. Achte außerdem darauf, dass du den Domainnamen und den Pfad der SSL-Zertifikate mit einer detaillierten Angabe deiner Konfiguration änderst. Mit dieser Konfiguration wird deine ownCloud-Installation unter der Pfad-URL„/owncloud“ erreichbar sein (d.h. https://hwdomain. io/owncloud)

<VirtualHost *:80>
  ServerName hwdomain.io
  ServerAlias www.hwdomain.io
  Redirect permanent / https://hwdomain.io/
</VirtualHost>
<VirtualHost *:443>
ServerName hwdomain.io
DocumentRoot /var/www
ServerAlias www.hwdomain.io

Protocols h2 http:/1.1

<If "%{HTTP_HOST} == 'www.hwdomain.io'">
Redirect permanent / https://hwdomain.io/
</If>

ErrorLog ${APACHE_LOG_DIR}/hwdomain.io-error.log
CustomLog ${APACHE_LOG_DIR}/hwdomain.io-access.log combined

SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/hwdomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/hwdomain.io/privkey.pem

SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384

SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCompression off

Header always set Strict-Transport-Security "max-age=63072000"

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>

</VirtualHost>

Speichere und schließe die Datei, wenn du fertig bist.

Als Nächstes aktivierst du die Konfiguration des virtuellen Hosts„owncloud.conf“ mit dem unten stehenden Befehl.

sudo a2ensite owncloud.conf

Überprüfe und verifiziere die Apache2-Konfiguration mit dem folgenden Befehl. Wenn deine Konfiguration korrekt ist, siehst du eine Meldung wie„Syntax: OK„.

sudo apachectl configtest

Führe abschließend den unten stehenden Befehl aus, um den Apache2-Webserver neu zu starten und die neue Konfiguration des virtuellen Hosts „owncloud.conf“ anzuwenden. Jetzt kannst du den ownCloud-Installationsassistenten über den Webbrowser starten, aber optional kannst du den ownCloud-Installationsassistenten auch über die Kommandozeile starten.

sudo systemctl restart apache2

Start des ownCloud-Installationsassistenten

Um die ownCloud-Installation abzuschließen, musst du den ownCloud-Installationsassistenten aufrufen und eine Detaildatenbank und einen Admin-Benutzer für ownCloud einrichten. Das kannst du auf zwei verschiedene Arten tun: über einen Webbrowser oder über die Kommandozeile auf dem Terminalserver.

In diesem Beispiel rufst du den ownCloud-Installationsassistenten über die Befehlszeile des Terminalservers auf.

Wechsle dein Arbeitsverzeichnis in das ownCloud DocumentRoot-Verzeichnis„/var/www/owncloud„.

cd /var/www/owncloud

Führe nun den folgenden Befehl aus, um die ownCloud-Installation abzuschließen. Achte darauf, dass du die Datenbankdetails sowie den neuen Admin-Benutzer und das Passwort änderst. Wenn alles abgeschlossen ist, siehst du die Meldung„ownCloud wurde erfolgreich installiert“ auf deinem Terminalbildschirm.

sudo -u www-data /var/www/owncloud/occ maintenance:install \
   --database "mysql" \
   --database-name "owncloud" \
   --database-user "owncloud"\
   --database-pass "owncloudpass" \
   --admin-user "admin" \
   --admin-pass "adminpassowncloud"

owncloud installieren

Als Nächstes musst du auch die ownCloud-Konfiguration„/var/www/owncloud/config/config.php“ mit dem nano-Editor bearbeiten.

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

Füge deine ownCloud-Installationsdomäne wie unten beschrieben zur Konfiguration„trusted_domains“ hinzu. In diesem Beispiel lautet der Name der ownCloud-Installationsdomäne„hwdomain.io„.

  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => 'hwdomain.io',
  ),

Speichere und schließe die Datei, wenn du fertig bist.

Als Nächstes öffnest du deinen Webbrowser und gibst den Domainnamen deiner ownCloud-Installation (z.B. https://hwdomain. io/owncloud/) in die Adressleiste ein. Nun solltest du die ownCloud Anmeldeseite sehen.

Gib den Admin-Benutzer und das Passwort für deine ownCloud-Installation ein und klicke auf„Anmelden„.

owncloud Anmeldeseite

Wenn dein Benutzername und dein Passwort richtig sind, siehst du jetzt das ownCloud-Benutzer-Dashboard. Das bedeutet, dass du ownCloud erfolgreich auf deinem Ubuntu-Server installiert hast.

owncloud Dashboard

Leistungsoptimierung für ownCloud

Die ownCloud ist jetzt einsatzbereit und läuft. Aber du musst noch einige zusätzliche Konfigurationen vornehmen, um die Leistung zu steigern. Jetzt wirst du die Hintergrundjobs für ownCloud mit cron einrichten und das Caching-System mit Redis einrichten.

Führe den folgenden Befehl aus, um den ownCloud-Hintergrundjob in„cron“ zu ändern.

sudo -u www-data /var/www/owncloud/occ background:cron

Als Nächstes erstellst du mit dem folgenden Befehl eine neue cron-Konfiguration für ownCloud. Wenn du nicht den Standard-Editor auf deinem System hast, wirst du aufgefordert, den Editor auszuwählen, den du verwenden möchtest.

sudo crontab -u www-data -e

Wähle den gewünschten Editor aus und füge die Cron-Konfiguration wie unten beschrieben hinzu.

*/15  *  *  *  * /usr/bin/php -f /var/www/owncloud/occ system:cron

Speichere und schließe die Datei, wenn du fertig bist.

Um das Caching-System für die ownCloud einzurichten, musst du die ownCloud-Konfiguration config.php ändern.

Bearbeite die Datei „/var/www/owncloud/config/config.php“ mit dem Editor nano.

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

Füge nun die folgende Konfiguration in die Datei ein.

<?php>
....
....

‚filelocking.enabled‘ => true,
‚memcache.local‘ => ‚\OC\Memcache\APCu‘,
‚memcache.locking‘ => ‚\OC\Memcache\Redis‘,
‚redis‘ => [
‚host‘ => ‚localhost‘,
‚port‘ => 6379,
],

….
….
);

Speichere und schließe die Datei, wenn du fertig bist.

Um deine Konfiguration zu überprüfen, kannst du auf dem ownCloud-Dashboard das Menü„Admin > Einstellungen“ aufrufen.

Gehe zum Menü„Allgemein“ auf der linken Seite und überprüfe den Abschnitt„Sicherheits- und Einrichtungswarnungen„. Wenn du eine Meldung wie„Alle Prüfungen wurden bestanden.“ siehst, sind deine ownCloud-Installation und -Konfiguration korrekt und vollständig. Wenn es jedoch eine Warnung gibt, solltest du detaillierte Informationen über die Konfiguration sehen, die auch die Link-Empfehlungen zur Behebung der Warnung enthalten.

Fazit

Herzlichen Glückwunsch! Du hast ownCloud jetzt erfolgreich auf Ubuntu 22.04 mit dem LAMP-Stack installiert. Außerdem hast du den grundlegenden „occ“-Befehl für den ownCloud-Installationsassistenten gelernt. Und schließlich hast du auch einige Leistungsoptimierungen für deine ownCloud-Installation vorgenommen, indem du den Standard-Hintergrundjob von Ajax auf Cron umgestellt und das Caching-System mit Redis in deiner ownCloud eingerichtet hast.

Das könnte dich auch interessieren …