Schritt-für-Schritt-Anleitung zur Installation von NextCloud auf AlmaLinux 8 für persönlichen Cloud-Speicher, um Mediendateien und Dokumente über das Internet von überall aus zu speichern; mit Smartphone oder Desktop-App.
Was ist Nextcloud?
Nextcloud ist eine kostenlose und Open-Source-Server-Client-Architektursoftware, deren Quellcode auf GitHub verfügbar ist. Es ist ein Fork einer anderen beliebten Personal-Cloud-Lösung „OwnCloud“. Jeder Benutzer oder jedes Unternehmen kann es verwenden, um seine Cloud ähnlich wie Google Drive, iCloud, Dropbox und Onedrive aufzubauen. Wo Daten mit einem lokalen Verzeichnis automatisch synchronisiert und abgerufen (Upload und Download) werden können Benutzer können die Next Cloud-Client-Anwendung für Smartphones und Desktops verwenden. So kann von mehreren Rechnern, aber auch über ein Webinterface auf eine konsistente Datenbasis zugegriffen werden. Obwohl Nextcloud auf PHP basiert, wird als Serverumgebung nur Linux unterstützt. Es ist auch nicht möglich, Apache oder NGINX mit PHP unter Windows zu verwenden.
Schritte zur Installation von NextCloud auf AlmaLinux 8
Die hier aufgeführten Schritte gelten für andere RedHat-basierte Linux-Distributionen wie CentOS, Rocky Linux, Oracle Linux …
1. Anforderungen
• AlmaLinux 8
• Apache, PHP 7.3, 7.4, 8.0
• MySQL 8.0+ oder MariaDB 10.2/10.3/10.4/10.5
• sudo-Benutzer ohne Rootberechtigung
• 512 MB RAM
2. Systemaktualisierung ausführen
Wenn Sie gerade einen neuen AlmaLinux-Server installiert oder ihn eine Zeit lang nicht aktualisiert haben, führen Sie zuerst den Systemaktualisierungsbefehl aus:
sudo dnf update & sudo dnf upgrade
Installieren Sie außerdem:
sudo dnf install wget nano unzip
3. Deaktivieren Sie SELinux in AlmaLinux 8
Sobald das Update abgeschlossen ist, versetzen Sie SELinux auch in den Permissive-Modus, was bedeutet, dass Sie es vorübergehend bis zum nächsten Neustart deaktivieren. Dadurch wird sichergestellt, dass es keine unerwünschten Einschränkungen bei der Installation von NextCloud gibt.
sudo setenforce 0 sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
So überprüfen Sie den Status:
sestatus
4. Installieren Sie Apache (httpd)
Da eine der Anforderungen von NextCloud der Webserver ist, installieren Sie für diesen Apache, zusammen mit einer PHP-basierten Webanwendung, konfigurieren Sie ihn auch.
sudo dnf install httpd wget
Starten und aktivieren Sie Apache-Dienste
sudo systemctl enable --now httpd
So überprüfen Sie den Status:
sudo systemctl status httpd
5. PHP 8.0 + Erweiterungen für NextCloud in AlmaLinux 8
Laut NextCloud wird die Verwendung von PHP 8.0 empfohlen. Daher entscheiden wir uns dafür, weil die Version über das Standard-Repository von AlmaLinux 7.2 ist. Daher müssen wir das Remi-Repo manuell hinzufügen, um die neueste Version zu erhalten.
sudo dnf install epel-release
sudo dnf -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf update
sudo dnf module reset php
sudo dnf module enable php:remi-8.0
Installieren :
sudo dnf -y install php php-cli php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-pdo php-pecl-apcu php-pecl-apcu-devel php-ldap
PHP-Speicherlimit erhöhen:
sudo nano /etc/php.ini
Suchen Sie nach memory_limit und setzen Sie den Wert auf 512M
memory_limit = 512M
Speichern Sie die Datei:Strg+O , drücken Sie die Eingabetaste drücken und dann beenden:Strg+X .
5. Richten Sie MariaDB ein und erstellen Sie eine Datenbank
Wir brauchen auch ein Medium, um die von NextCloud generierten Daten zu speichern, hier verwenden wir MariaDB. Sie können jedoch auch MySQL, SQLite, Oracle Database und PostgreSQL verwenden, wenn Sie möchten.
sudo dnf install mariadb-server mariadb
Dienst starten und aktivieren:
sudo systemctl enable --now mysqld
Sichere Datenbank:
sudo mysql_secure_installation
Folgen Sie dem textbasierten Assistenten.
Erstellen Sie eine neue Datenbank für NextCloud:
Anmelden :
mysql -u root -p
Datenbankbenutzer erstellen:
CREATE USER 'youruser'@'localhost' IDENTIFIED BY "yourpassword";
DB erstellen:
CREATE DATABASE yourdb;
Geben Sie alle Nutzungsrechte für die erstellte DB:
GRANT ALL PRIVILEGES ON yourdb.* TO 'youruser'@'localhost';
FLUSH PRIVILEGES;
exit;
Hinweis :Ersetzen Sie yourdb mit dem Datenbanknamen, den Sie angeben möchten, während IhrBenutzer mit dem Nutzernamen und Ihr Passwort mit dem Passwort, das Sie vergeben möchten.
6. Laden Sie Nextcloud auf AlmaLinux 8 herunter und installieren Sie es
Besuchen Sie die offizielle Website von NextCloud und laden Sie sie dann herunter. Klicken Sie mit der rechten Maustaste auf Herunterladen klicken und die Linkadresse kopieren.
fügen Sie den Link mit wget ein
wget paste-link
Beispiel :
wget https://download.nextcloud.com/server/releases/nextcloud-23.0.0.zip
Datei entpacken:
unzip nextcloud-*.zip
Verschieben Sie die extrahierte Datei nach /var/www/html/
Verzeichnis
sudo mv nextcloud/ /var/www/html/
Erstellen Sie einen Datenordner, um hochgeladene Daten in Nextcloud zu speichern
sudo mkdir /var/www/html/nextcloud/data
Geben Sie nun dem Apache-Benutzer die Nextcloud-Berechtigung:
sudo chown apache:apache -R /var/www/html/nextcloud
7. Apache VirtualHost-Datei für NextCloud erstellen
Lassen Sie uns eine Apache-Konfigurationsdatei für NextCloud erstellen, um die Datei bereitzustellen, falls Sie den Domainnamen verwenden oder mehrere Websites auf demselben Server ausgeführt werden.
sudo nano /etc/httpd/conf.d/nextcloud.conf
Fügen Sie die folgenden Zeilen ein:
Hinweis :Vergessen Sie nicht, cloud.example.com zu ersetzen mit dem Domainnamen, den Sie verwenden möchten. Wenn Sie keine haben, lassen Sie es so, wie es ist.
<VirtualHost *:80> ServerName cloud.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/nextcloud <directory /var/www/html/nextcloud> Require all granted AllowOverride All Options FollowSymLinks MultiViews SetEnv HOME /var/www/html/nextcloud SetEnv HTTP_HOME /var/www/html/nextcloud </directory> </VirtualHost>
Starten Sie den Apache-Webserver neu und legen Sie die SELinux-Richtlinien fest:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"
sudo sudo restorecon -Rv /var/www/html
sudo systemctl restart httpd
8. Port in der Firewall öffnen
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
9. Greifen Sie auf die NextCloud-Weboberfläche zu
Sobald alle oben genannten Schritte abgeschlossen sind, können Sie auf die Webschnittstelle zugreifen, um NextCloud auf Ihrem AlmaLinux 8-System weiter einzurichten.
Öffnen Sie Ihren Browser, der auf die Domain oder IP-Adresse des Servers zugreifen kann, auf dem Sie NextCloud installiert haben. Danach zeigen Sie auf die IP oder Domäne:
http://your-server-ip-address or http://your-domain.com
Erstellen Sie einen Admin-Benutzer und geben Sie Datenbankdetails ein
Auf der ersten Seite werden Sie aufgefordert, einen Admin zu erstellen Benutzer und wählen Sie danach MySQL/MariaDB aus als Datenbank. Geben Sie dort die Details der Datenbank ein Sie erstellt haben.
Klicken Sie danach auf Fertig stellen Schaltfläche.
10. So aktualisieren oder aktualisieren Sie
Wenn Sie in Zukunft Ihre NextCloud einfach mit dem Befehl aktualisieren möchten, dann ist hier der Befehl:
php.ini bearbeiten
sudo nano /etc/php.ini
Scrollen Sie zum Ende der Datei:
--define apc.enable_cli=1
Speichern die Datei mit Strg+O , drücken Sie die Eingabetaste -Taste und drücken Sie dann Strg+X
Sobald Sie hinzugefügt haben
sudo -u apache php --define apc.enable_cli=1 /var/www/nextcloud/updater/updater.phar
11. Legen Sie Let’s Encrypt SSL für NextCloud fest
Wer auch ein SSL-Zertifikat einrichten möchte, muss die folgenden Befehle ausführen:
Hinweis :Stellen Sie sicher, dass in Ihrem Domain-DNS „A ”-Eintrag zeigt auf die IP-Adresse, auf der Sie NextCloud installiert haben.
sudo systemctl stop httpd
sudo dnf -y install certbot mod_ssl
sudo certbot certonly --standalone -d cloud.example.com --preferred-challenges http --agree-tos -n -m [email protected] --keep-until-expiring
Einmal die SSL Das Zertifikat wurde erfolgreich ausgestellt Bearbeiten Sie Ihre vorhandene Apache-Konfiguration:
sudo nano /etc/httpd/conf.d/nextcloud.conf
Vorhandene Konfiguration löschen und folgende hinzufügen. Und vergessen Sie nicht, cloud.example.com zu ersetzen mit dem Domainnamen, den Sie verwenden möchten, greifen Sie auf NextCloud zu.
<VirtualHost *:80> ServerName files.example.com ServerAdmin [email protected] RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L] </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ServerName cloud.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/nextcloud <directory /var/www/html/nextcloud> Require all granted AllowOverride All Options FollowSymLinks MultiViews SetEnv HOME /var/www/html/nextcloud SetEnv HTTP_HOME /var/www/html/nextcloud </directory> SSLEngine on SSLCertificateFile /etc/letsencrypt/live/cloud.example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/cloud.example.com/privkey.pem </VirtualHost> </IfModule>
Speichern Sie die Datei, indem Sie Strg+O drücken , drücken Sie die Eingabetaste drücken und dann mit Strg+X beenden .
Schlussfolgerung
Auf diese Weise können wir NextCloud auf AlmaLinux oder in jedem Redhat-basierten System wie CentOS, Oracle Linux… installieren. Obwohl es eine gute Möglichkeit ist, Ihre Cloud für den Fernzugriff auf Dateien einzurichten, gibt es immer ein paar Nachteile. Beispielsweise ist der Benutzer für Wartung, Sicherheit und Einstellungen einschließlich Hardware verantwortlich.
Die Installation und Einrichtung einer eigenen Nextcloud auf einem Linux-VPS dauert etwa eine Stunde – und ist auch für Linux-Neulinge machbar. Und was, wenn Sie in Zukunft von Sicherheitslücken und Skandalen der üblichen Cloud-Anbieter hören? Dann können Sie mit Nextcloud Ihre eigene Cloud erstellen; es kann das Angebot von OwnCloud auf verschiedene Weise verbessern. Bei der Auswahl einer Speicherlösung ist es wichtig, die Vor- und Nachteile der Open-Source- und kommerziellen Optionen abzuwägen. Das Open-Source-File-Sharing-Tool von Nextcloud ist eine praktikable, kostenlose und attraktive Option für viele Einzelpersonen und Unternehmen.