GNU/Linux >> LINUX-Kenntnisse >  >> Fedora

So installieren Sie einen privaten Nextcloud-Server auf Fedora 34

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.


Fedora
  1. So installieren Sie Zend Server CE auf Fedora 16 „Verne“

  2. So installieren Sie NextCloud 13 auf Ubuntu 16.04

  3. So installieren Sie Nextcloud 14 auf Debian 9

  4. So installieren Sie NextCloud 15 auf Ubuntu 18.04

  5. So installieren Sie Locate auf einem Fedora-Server

So installieren Sie Go auf Fedora 35

So installieren Sie Apache Server auf Fedora 35

So installieren Sie den Fedora 33-Server

So installieren Sie Apache in Fedora 20

So installieren Sie Apache auf Fedora 22

So installieren Sie Nginx auf Fedora 22