Nextcloud ist eine Software-Suite von Anwendungen zum Speichern und Synchronisieren von Dateien und Daten auf mehreren Geräten. Es ist eine vollständig lokale Lösung, um Dokumente zu teilen und gemeinsam daran zu arbeiten, Ihren Kalender zu verwalten und E-Mails zu senden und zu empfangen.
Nextcloud gibt Ihnen die Kontrolle und den Schutz Ihrer Daten und erleichtert gleichzeitig die Kommunikation. Es kann die Produktivität fördern, da Sie Ihre vorhandenen Daten auf einem FTP-Laufwerk über mehrere angeschlossene Geräte zu Hause oder im Büro abrufen, synchronisieren und freigeben können. Darüber hinaus ist der Datenschutz von entscheidender Bedeutung, und das Betreiben eines privaten Nextcloud-Servers ist ein ausgezeichneter Einstieg.
Installieren eines privaten Nextcloud-Servers auf Fedora 34
Dieses Tutorial zeigt, wie man einen privaten Nextcloud-Server auf einem Fedora 34-basierten Server installiert. Wir werden einen Apache-Webserver, PHP 7.4 und einen MariaDB-Server und -Client als Voraussetzungen installieren.
Schritt 1. Voraussetzungen
Der erste Schritt besteht darin, die folgenden Voraussetzungen zu erfüllen.
- Ein Server, auf dem Fedora läuft. (Ich werde Fedora Workstation 34 für die Demonstration verwenden)
- Ein Nicht-Root-Sudo-Benutzer.
- Aktualisieren Sie Ihre Pakete.
sudo dnf update
- Wichtige Pakete und Abhängigkeiten.
Auf Ihrem System sind möglicherweise bereits einige dieser Pakete installiert.dnf install wget curl bzip2 nano unzip policycoreutils-python-utils -y
Hinweis:Wenn Sie einige Voraussetzungen und Pakete bereits konfiguriert haben, können Sie diese Schritte überspringen.
Firewall in Fedora konfigurieren
Der erste Schritt besteht darin, die Firewall von Firewalld über die Befehlszeile zu konfigurieren. Beachten Sie, dass Firewalld auf Fedora-Servern vorinstalliert ist.
Überprüfen Sie den Firewall-Status, um sicherzustellen, dass er ausgeführt wird:
sudo firewall-cmd --state running
Der nächste Schritt besteht darin, HTTP- und HTTPS-Ports zuzulassen.
Erlaubte Dienste und Ports prüfen:
sudo firewall-cmd --permanent --list-services dhcpv6-client mdns samba-client ssh
HTTP- und HTTPS-Ports zulassen.
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent –add-service=https
Überprüfen Sie die zulässigen Dienste und Ports erneut.
sudo firewall-cmd --permanent --list-services dhcpv6-client http https mdns samba-client ssh
Laden Sie die Firewall neu.
sudo systemctl reload firewalld
Apache-Webserver installieren
Führen Sie den folgenden Befehl mit sudo-Berechtigungen aus, um den Apache-Webserver zu installieren.
dnf install httpd
Installieren Sie PHP
Der nächste Schritt besteht darin, PHP und andere zusätzliche Module zu installieren. Wenn Sie bereits PHP haben, vergewissern Sie sich, dass die PHP-Version die Anforderungen von Nextcloud erfüllt.
dnf install php php-gd php-mbstring php-intl php-pecl-apcu php-mysqlnd php-pecl-redis php-opcache php-imagick php-zip php-process
Nachdem PHP installiert ist, aktivieren und starten Sie den Apache-Webserver:
systemctl enable --now httpd
Überprüfen Sie, ob PHP ausgeführt wird.
php -version PHP 7.4.19 (cli) (built: May 4 2021 11:06:37) ( NTS ) Copyright (c) The PHP Group
Installieren von MariaDB-Server und -Client
Der MariaDB-Server ist ein direkter Ersatz für MySQL, was bedeutet, dass die Befehle zum Ausführen und Betreiben von MariaDB und MySQL identisch sind.
Überprüfen Sie, ob Sie einen Standard-MariaDB-Server auf Ihrem Server haben, oder installieren Sie ihn, indem Sie den folgenden Befehl ausführen.
dnf install mariadb mariadb-server
Aktivieren und starten Sie den MariaDB-Server:
systemctl enable --now mariadb
Führen Sie den Befehl mysql_secure_installation aus, um Ihren MariaDB-Server zu sichern.
Der Befehl führt Standardkonfigurationen durch, setzt das Root-Passwort, entfernt anonyme Benutzer, verbietet Root-Login aus der Ferne und löscht Testtabellen.
sudo mysql_secure_installation [sudo] password for tuts: Securing the MySQL server deployment. Enter the password for user root: The 'validate_password' component is installed. >> The subsequent steps will run the existing configuration of the component. >> We are using an existing root password Estimated strength of the password: 100 Change the password for root? ((Press YY | Y for Yes, any other key for No) : >> By default, a MariaDB server installation has an anonymous user >>> is intended only for testing. Remove anonymous users? (Press Y y | Y for Yes, any other key for No) : y Success. Normally, 'root' should only be allowed to connect from 'localhost.' This ensures that someone cannot guess the root password from the network. (ensure you read this policy while installing MariaDB server) Disallow root login remotely? (Press Y y | y Y for Yes, any other key for No) : Y y Success. >>> (removing test database) Remove test database and access to it? (Press Y y | Y for Yes, any other key for No) : y >>> Dropping test database. Success. >>> Removing privileges on test database. Success. Reload privilege tables now? (Press Y y | Y for Yes, any other key for No) : y Success. All done!
Erstellen Sie einen dedizierten Benutzer und eine Datenbank für den Nextcloud-Server.
mysql -p
Erstellen Sie die „nextcloud“-Datenbank.
mysql> create database nextcloud;
Erstellen Sie einen dedizierten MySQL-Benutzer für die Verwaltung der „nextcloud“-Datenbank
mysql> create user 'nextclouduser'@'localhost' identified by 'SeCrEttErCeS';
Gewähren Sie dem von uns erstellten Benutzer (nextclouduser) alle Berechtigungen für die Datenbank (nextcloud).
mysql> grant all privileges on nextcloud_db.* to 'nextclouduser'@'localhost';
Löschberechtigungen für die von Ihnen vorgenommenen Änderungen, damit sie wirksam werden.
mysql> flush privileges;
Beenden Sie die MySQL-Shell.
mysql> exit;
SELinux-Berechtigungen konfigurieren
Sie müssen SELinux/Berechtigungen konfigurieren, um mit Nextcloud zu arbeiten.
Führen Sie die folgenden Befehle für Ihre grundlegenden SELinux-Einstellungen aus. Diese sollten mit Ihrer Installation funktionieren.
Stellen Sie sicher, dass Sie die Dateipfade entsprechend Ihrem System anpassen. Nur für den Fall, dass sie sich unterscheiden.
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.user.ini' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?' # restorecon -Rv '/var/www/html/nextcloud/'
Weitere SELinux-Befehle, die mit Nextcloud funktionieren, finden Sie unter Nextcloud SELinux-Konfiguration.
Schritt 2. Installation von Nextcloud Server
Unser zweiter Schritt besteht darin, Nextcloud herunterzuladen und zu installieren. Gehen Sie zur offiziellen Website und kopieren Sie den Download-Link der ZIP-Datei.
Laden Sie das Nextcloud-Archiv herunter und entpacken Sie es mit wget. Stellen Sie sicher, dass Sie den kopierten Link nach wget in den folgenden Befehl einfügen.
wget https://download.nextcloud.com/server/releases/nextcloud-21.0.2.zip
Entpacken Sie das Archiv in das Verzeichnis „/var/www/html/“.
unzip nextcloud-21.0.2.zip -d /var/www/html/
Der nächste Schritt besteht darin, Apache Lese- und Schreibzugriff auf den Nextcloud-Verzeichnisbaum zu gewähren:
Erstellen Sie einen Datenordner im Verzeichnis „/var/www/html/nextcloud/“.
mkdir /var/www/html/nextcloud/data
Gewähren Sie Apache Lese- und Schreibzugriff mit Chown.
chown -R apache:apache /var/www/html/nextcloud
Schritt 3. Nextcloud-Server konfigurieren
Sie können Nextcloud über das Webinterface oder die Kommandozeile konfigurieren.
Methode 1:Webinterface
Greifen Sie über Ihren Webbrowser auf „http://your_server_ip/nextcloud“ zu.
In unserem Fall läuft der Server vom Localhost;
http://localhost/nextcloud or http://127.0.0.0/nextcloud
Methode 2:Befehlszeile
Führen Sie den folgenden Befehl aus, um Nexcloud über die Befehlszeile zu konfigurieren.
sudo -u apache php occ maintenance:install --data-dir /var/www/html/nextcloud/data/ --database "mysql" --database-name "nextcloud" --database-user "nextclouduser" --database-pass "SeCrEttErCeS" --admin-user "admin" --admin-pass "AdMin_PAssWOrd"
Geben Sie Ihre Administrator-Anmeldedaten ein und konfigurieren Sie Nextcloud für die erste Verwendung.
Abschluss
Das empfohlene PHP-Speicherlimit für Nextcloud beträgt 512 MB. Sie können die Variable memory_limit in der Konfigurationsdatei /etc/php.ini bearbeiten und Ihren httpd-Dienst neu starten.
Sicherheit ist entscheidend, und Sie sollten SELinux immer konfigurieren, anstatt es zu deaktivieren. Es ist keine gute Idee, SELinux zu deaktivieren. Es wird empfohlen, es immer im Erzwingungsmodus zu haben.
Damit ist unsere Demonstration zur Installation eines privaten Nextcloud-Servers auf einem Fedora 34-Server abgeschlossen. Wenn Sie auf Herausforderungen oder Probleme stoßen, können Sie gerne fragen oder einen Kommentar hinzufügen.