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:
- Erlauben Sie uns, Benutzer und Gruppen mit OpenID oder LDAP zu verwalten.
- Erlauben Sie uns, auf Ihre vorhandenen Daten auf Dropbox, FTP und NAS zuzugreifen, sie zu synchronisieren und gemeinsam zu nutzen.
- 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.
- Unterstützt das Zwei-Faktor-Authentifizierungs-Plugin-System.
- Erlauben Sie uns, Dateien mit anderen Benutzern zu teilen, passwortgeschützte öffentliche Links zu erstellen und zu versenden.
- Sie werden per Telefon und Desktop benachrichtigt, wenn jemand auf dem Server Dateien direkt mit Ihnen austauscht.
- Unterstützt Überwachungsfunktionen, Volltextsuche, Kerberos-Authentifizierung und Audio-/Videokonferenzen.
- 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 [email protected] 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 [email protected]
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:
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.
Der erste Installationsschritt wurde erfolgreich abgeschlossen. Klicken Sie auf ‚Weiter‘, um fortzufahren.
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:
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:
Geben Sie hier Ihre Serveradresse an und klicken Sie auf die Schaltfläche Weiter, Sie sollten den folgenden Bildschirm sehen:
Geben Sie Ihre NextCloude-Server-Zugangsdaten ein und klicken Sie auf die Schaltfläche Next. Sie sollten den folgenden Bildschirm sehen:
Klicken Sie nun auf die Schaltfläche Verbinden, Sie sollten den folgenden Bildschirm sehen:
Klicken Sie hier auf Lokaler Ordner, Sie sollten den folgenden Bildschirm sehen:
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.