Wie man Nextcloud 15 unter Debian 9 installiert

NextCloud ist eine kostenlose Open Source und eine Alternative zu einer anderen Open Source Datei-Hosting-Lösung OwnCloud. Der Hauptunterschied zwischen NextCloud und OwnCloud besteht darin, dass NextCloud vollständig quelloffen ist. NextCloud ist ein selbst gehosteter File-Sharing-Anwendungsserver, der es Ihnen ermöglicht, Ihre Kontakte, Bilder und persönlichen Dokumente von einem zentralen Ort aus zu speichern. NextCloud macht die Verwendung von Cloud Hosting-Software von Drittanbietern wie Dropbox für die Speicherung Ihrer Dokumente überflüssig.

NextCloud kommt mit vielen Funktionen, einige davon sind unten aufgeführt:

  1. Erlauben Sie uns, Benutzer und Gruppen mit OpenID oder LDAP zu verwalten.
  2. Erlauben Sie uns, auf Ihre vorhandenen Daten auf Dropbox, FTP und NAS zuzugreifen, sie zu synchronisieren und gemeinsam zu nutzen.
  3. Listen Sie die angeschlossenen Browser/Geräte auf der Seite der persönlichen Einstellungen auf. Erlaubt dem Benutzer, die Verbindung zu Browsern/Geräten zu trennen.
  4. Unterstützt das Zwei-Faktor-Authentifizierungs-Plugin-System.
  5. Erlauben Sie uns, Dateien mit anderen Benutzern zu teilen, passwortgeschützte öffentliche Links zu erstellen und zu versenden.
  6. Sie werden per Telefon und Desktop benachrichtigt, wenn jemand auf dem Server Dateien direkt mit Ihnen austauscht.
  7. Unterstützt Überwachungsfunktionen, Volltextsuche, Kerberos-Authentifizierung und Audio-/Videokonferenzen.
  8. Synchronisieren Sie Dateien mit dem Nextcloud-Server von Desktop-Clients und mobilen Clients aus.

In diesem Tutorial werden wir erklären, wie man NextCloud unter Debian 9 installiert und konfiguriert und mit einem kostenlosen Let’s encrypt SSL-Zertifikat sichert.

Anforderungen

  • Ein Server, auf dem Debian 9 auf Ihrem System läuft.
  • Eine statische IP-Adresse, die auf Ihrem System eingerichtet ist.
  • Einrichtung des Root-Passworts auf Ihrem System.
  • Der Domainname oder die Subdomain, die Sie für Nextcloud verwenden möchten, sollte bereits auf die IP-Adresse zeigen, um sie für Nextcloud zu verwenden und ein kostenloses Let’s encrypt SSL-Zertifikat zu erhalten.

Erste Schritte

Melden Sie sich zunächst als Root-Benutzer auf Ihrem Server an. Lassen Sie uns damit beginnen, Ihr System mit der neuesten stabilen Version zu aktualisieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

apt-get update -y
apt-get upgrade -y

Nach der Aktualisierung des Systems starten Sie Ihr System neu, um diese Änderungen zu übernehmen:

reboot

Melden Sie sich dann mit dem Benutzer root an und fahren Sie mit dem nächsten Schritt fort.

1 Installation von LAMP-Server

NextCloud läuft mit Apache, MySQL und PHP. Sie müssen also alle diese Komponenten auf Ihrem System installieren.

Installieren Sie zunächst Apache und MariaDB-Server mit dem folgenden Befehl:

apt-get install apache2 mariadb-server apt-transport-https -y

Sobald die Installation abgeschlossen ist, starten Sie den Apache und den MariaDB-Dienst und ermöglichen es ihnen, zur Boot-Zeit zu starten, indem Sie den folgenden Befehl ausführen:

systemctl start apache2
systemctl enable apache2
systemctl start mariadb
systemctl enable mariadb

Als nächstes müssen Sie auch PHP und andere erforderliche Module auf Ihrem System installieren. Ich werde eine aktuelle Version von PHP 7.2 aus dem Ondrej-Repository installieren.

Fügen Sie das Ondrej-Debian-Depot hinzu:

wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/ondrej.list
apt-get update

Sie können sie alle installieren, indem Sie den folgenden Befehl ausführen:

apt-get install libapache2-mod-php php7.2 php7.2-xml php7.2-curl php7.2-gd php7.2 php7.2-cgi php7.2-cli php7.2-zip php7.2-mysql php7.2-mbstring wget unzip -y

Nachdem Sie alle Pakete installiert haben, öffnen Sie die Datei php.ini und nehmen Sie einige Änderungen darin vor.

sudo nano /etc/php/7.2/apache2/php.ini

Nehmen Sie die folgenden Änderungen vor:

memory_limit = 512M
upload_max_filesize = 200M
max_execution_time = 360
post_max_size = 200M
date.timezone = Europe/Berlin

2 Konfigurieren Sie MariaDB

Standardmäßig ist die Installation von MariaDB nicht sicher, so dass Sie sie sichern müssen. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

mysql_secure_installation

Beantworten Sie alle Fragen wie folgt:

# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Sobald MariaDB gesichert ist, melden Sie sich mit dem folgenden Befehl an der MariaDB-Konsole an:

mysql -u root -p

Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden, und erstellen Sie dann eine Datenbank für Nextcloud:

CREATE DATABASE nextclouddb;

Als nächstes erstellen Sie einen Benutzernamen und ein Passwort für Nextcloud mit dem folgenden Befehl:

CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'mypassword';

Ersetzen Sie ‚mypassword‘ durch Ihr eigenes sicheres Passwort. Gewähren Sie als Nächstes mit dem folgenden Befehl Privilegien für die Nextcloud-Datenbank:

GRANT ALL PRIVILEGES ON nextclouddb.* TO 'nextcloud'@'localhost';

Führen Sie als nächstes den Befehl FLUSH PRIVILEGES aus, damit die Privilegierungstabelle von MariaDB neu geladen wird:

FLUSH PRIVILEGES;

Verlassen Sie schließlich die MariaDB-Shell mit dem folgenden Befehl:

quit

Sobald Ihre Datenbank ordnungsgemäß eingerichtet ist, können Sie mit dem nächsten Schritt fortfahren.

3 NextCloud installieren

Ich werde den Web-Installer von Nextcloud zur einfachen Installation verwenden. Zunächst müssen wir ein Verzeichnis für die Nextcloud-Installation erstellen:

mkdir /var/www/nextcloud
chown www-data:www-data /var/www/nextcloud
chmod 750 /var/www/nextcloud

Und ein Datenverzeichnis, in dem Nextcloud Ihre hochgeladenen Dateien speichert.

mkdir -p /var/nextcloud/data
chown www-data:www-data /var/nextcloud/data
chmod 750 /var/nextcloud/data

Als nächstes müssen Sie eine virtuelle Apache-Host-Datei für NextCloud erstellen. Sie können dies tun, indem Sie die Datei nextcloud.conf wie folgt erstellen:

nano /etc/apache2/sites-available/nextcloud.conf

Fügen Sie die folgenden Zeilen hinzu:

<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot "/var/www/nextcloud"
ServerName example.com
<Directory "/var/www/nextcloud/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
TransferLog /var/log/apache2/nextcloud_access.log
ErrorLog /var/log/apache2/nextcloud_error.log
</VirtualHost>

Ersetzen Sie den Domainnamen example.com durch Ihren gewünschten Domainnamen. Speichern und schließen Sie die Datei, aktivieren Sie dann die virtuelle Hostdatei von NextCloud und deaktivieren Sie die standardmäßige virtuelle Hostdatei mit dem folgenden Befehl:

a2dissite 000-default
a2ensite nextcloud

Um SSL mit Let’s encrypt zu aktivieren, werden wir den Let’s encrypt certbot-Client installieren.

apt-get install certbot python3-certbot-apache -y

Und aktivieren Sie das Apache SSL-Modul mit dem Befehl:

a2enmod ssl

Starten Sie schließlich den Apache-Dienst neu, um diese Änderungen anzuwenden:

systemctl restart apache2

Jetzt können wir ein kostenloses SSL-Zertifikat von let’s encrypt anfordern und das certbot-Programm den Apache vhost für SSL konfigurieren lassen. Bitte beachten Sie, dass Ihr Internet-Domänenname vom Internet aus zugänglich sein und auf Ihren Server bereits mit einem DNS A-Record verweisen muss, um Let’s encrypt zu verwenden. Führen Sie den Befehl certbot aus, um das neue SSL-Zertifikat anzufordern:

certbot -d example.com --apache --agree-tos -m info@example.com

Ersetzen Sie example.com durch den Domainnamen oder Subdomainnamen Ihres Nextcloud-Servers (vhost).

Wählen Sie hier, ob Sie Ihre E-Mail-Adresse mit der EFF teilen möchten. Ich persönlich teile meine E-Mail nicht gerne, deshalb habe ich hier ‚N‘ gewählt.

Wenn der Nextcloud-Server nur über HTTPS erreichbar sein soll (was aus Sicherheitsgründen empfohlen wird), dann wählen Sie hier ‚2‘. Wenn Sie mit HTTP und HTTPS auf Nextcloud zugreifen wollen, wählen Sie ‚1‘.

Das kostenlose SSL-Zertifikat Let’s encrypt wurde erfolgreich ausgestellt.

Laden Sie das Web-Installationsprogramm von Nextcloud in das Stammverzeichnis der Website herunter und setzen Sie die entsprechenden Berechtigungen für die heruntergeladene Datei.

cd  /var/www/nextcloud
wget https://download.nextcloud.com/server/installer/setup-nextcloud.php
chown www-data:www-data setup-nextcloud.php

4 Zugriff auf die NextCloud Web-Schnittstelle

Sobald alles richtig konfiguriert ist, müssen Sie Port 80 durch die UFW-Firewall zulassen.

Installieren Sie dazu zunächst ufw mit dem folgenden Befehl:

apt-get install ufw -y

Als nächstes lassen Sie Port 80 und 443 durch UFW und auch Port 22 SSH mit dem folgenden Befehl zu:

ufw allow 80
ufw allow 443
ufw allow 22

Öffnen Sie weitere Ports in der Firewall, wenn Sie diese benötigen. Dann aktivieren Sie die Firewall:

ufw enable

Wählen Sie ‚y‘, wenn der Befehl fragt, ob die Firewall aktiviert werden soll.

Öffnen Sie schließlich Ihren Webbrowser und navigieren Sie zur URL:

https://example.com/setup-nextcloud.php

Ersetzen Sie example.com durch Ihren eigenen Domainnamen. Sie sollten das folgende Bild sehen:

Nextcloud-Installationspfad festlegen

Ersetzen Sie das Wort ’nextcloud‘ durch einen Punkt (.) im Eingabefeld, da wir nextcloud in das aktuelle Verzeichnis installieren wollen, und drücken Sie den ‚Next‘-Knopf.

Nextcloud Download war erfolgreich.

Der erste Installationsschritt wurde erfolgreich abgeschlossen. Klicken Sie auf ‚Weiter‘, um fortzufahren.

Neuen Benutzernamen und Passwort eingeben

Geben Sie den gewünschten Benutzernamen und das Passwort für den Nextcloud-Administrator-Benutzer ein und setzen Sie den Datenpfad auf ‚/var/nextcloud/data‘.

Geben Sie alle erforderlichen Informationen wie Datenbankname, Datenbankbenutzername und Passwort ein und klicken Sie dann auf die Schaltfläche Finish Setup. Sie sollten das NextCloud Dashboard auf dem folgenden Bildschirm sehen:

Nextcloud-Assistent für erste Schritte

Nextcloud Dashboard

5 Konfigurieren Sie den NextCloud-Client

Hier werden wir den NextCloud-Client auf dem Ubuntu-Desktop installieren und ihn mit dem NextCloud-Server verbinden.

Um den NextCloud-Client zu installieren, müssen Sie das NextCloud-Repository zu Ihrem System hinzufügen. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

 add-apt-repository ppa:nextcloud-devs/client
apt-get update -y
apt-get install nextcloud-client -y

Sobald der NextCloud-Client installiert ist, starten Sie ihn von Ihrem Ubuntu Dash aus und Sie sollten den folgenden Bildschirm sehen:

NextCloud-Client

Geben Sie hier Ihre Serveradresse an und klicken Sie auf die Schaltfläche Weiter, Sie sollten den folgenden Bildschirm sehen:

Mit NextCloud verbinden

Geben Sie Ihre NextCloude-Server-Zugangsdaten ein und klicken Sie auf die Schaltfläche Next. Sie sollten den folgenden Bildschirm sehen:

NextCloud Sync

Klicken Sie nun auf die Schaltfläche Verbinden, Sie sollten den folgenden Bildschirm sehen:

NextCloud im Browser öffnen

Klicken Sie hier auf Lokaler Ordner, Sie sollten den folgenden Bildschirm sehen:

NextCloud Ordner

Herzlichen Glückwunsch! Ihr NextCloud-Server und -Client sind installiert und konfiguriert. Sie können nun Ihre Daten von Ihrem lokalen NextCloud-Client einfach mit dem NextCloud-Server synchronisieren.

Links

Das könnte Dich auch interessieren …