Nextcloud ist eine der beliebtesten kostenlosen und selbst gehosteten Open-Source-Anwendungen zur Dateisynchronisierung und -freigabe. Sie können es verwenden, um Ihre persönlichen Dateien, Kontakte, Bilder, Musik und vieles mehr zu speichern und jederzeit darauf zuzugreifen oder sie mit Ihren Freunden zu teilen. Es ist eine beliebte Alternative zu einer anderen weit verbreiteten Datei-Hosting-Anwendung namens ownCloud. In diesem Tutorial zeigen wir Ihnen, wie Sie die neueste Version 14 von Nextcloud auf CentOS installieren.
Voraussetzung
- CentOS 7
- SSH-Zugriff mit Root-Rechten
- PHP 7 oder höher
Schritt 1:Melden Sie sich über SSH bei Ihrem Server an:
# ssh root@IP_Address -p Port_number
Geben Sie vor dem Start den folgenden Befehl ein, um zu überprüfen, ob Sie die richtige Version von CentOS auf Ihrem Computer installiert haben:
# cat /etc/redhat-release
was Ihnen die folgende Ausgabe geben sollte:
CentOS Linux-Release 7.5.1804 (Core)
Schritt 2:Aktualisieren Sie das System
Stellen Sie sicher, dass Ihr Server auf dem neuesten Stand ist:
# yum update
Wenn Ihr System eine Zeit lang nicht aktualisiert wurde, dauert es einige Minuten, bis der Vorgang abgeschlossen ist.
# yum install -y epel-release
Schritt 3:Webserver installieren
In diesem Schritt können Sie wählen, ob Sie Apache oder Nginx installieren möchten.
Nginx-Webserver installieren
# yum install nginx
Aktivieren Sie Nginx, um beim Booten zu starten, und starten Sie den Dienst mit:
# systemctl enable nginx # systemctl start nginx
Apache-Webserver installieren
Wenn Sie Apache anstelle von Nginx wählen möchten, können Sie die Nginx-Installation oben überspringen und dann Apache installieren.
# yum install httpd
Aktivieren Sie Apache, um beim Booten zu starten, und starten Sie den Dienst mit:
# systemctl enable httpd # systemctl start httpd
Schritt 4:Installieren Sie PHP 7
Die Standard-PHP-Version auf CentOS 7 ist PHP 5.4 und Nextcloud 14 erfordert PHP 7 oder höher, in diesem Schritt werden wir PHP-Version 7 installieren.
Remi- und EPEL-Repository-Pakete installieren:
# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Remi PHP 7-Repo aktivieren:
# yum-config-manager –enable remi-php70
und installieren Sie PHP 7 und mehrere von Nextcloud benötigte PHP-Module, indem Sie den folgenden Befehl ausführen:
# yum install php php-mysql php-pecl-zip php-xml php-mbstring php-gd php-fpm php-intl
Suchen wir nun die folgenden Zeichenfolgen in /etc/php-fpm.d/www.conf
user = apache group = apache
Ersetzen Sie die Werte durch
user = nginx group = nginx
Ändern Sie dann die Berechtigung für das PHP-Sitzungsverzeichnis. Sie müssen diesen Schritt überspringen, wenn Sie Apache anstelle von Nginx verwenden möchten.
# chown -R root:nginx /var/lib/php/session/
Starten Sie abschließend php-fpm
neu# systemctl restart php-fpm
Schritt 5:MariaDB-Datenbankserver installieren
# nano /etc/yum.repos.d/MariaDB.repo
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.2/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
# yum install MariaDB-server MariaDB-client
# systemctl start mariadb # systemctl enable mariadb # systemctl status mariadb
An diesem Punkt läuft MariaDB und wir werden jetzt ein Passwort für den Root-Benutzer erstellen. Führen Sie den folgenden Befehl aus, um ein Root-Passwort zu erstellen, entfernen Sie die Testdatenbank, entfernen Sie den anonymen Benutzer und laden Sie dann die Berechtigungen neu.
# mysql_secure_installation
Nach der Erstellung können Sie das Passwort testen, indem Sie diesen Befehl aufrufen, Sie werden nach dem Passwort gefragt:
# mysql -u root -p
Schritt 6:Erstellen Sie eine Datenbank
# mysql -uroot -p -e "CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" # mysql -uroot -p -e "GRANT ALL on nextcloud.* to nextcloud@localhost identified by 'M0d1fyth15'" # mysql -uroot -p -e "FLUSH privileges"
Schritt 7:Webserver konfigurieren
Im vorherigen Schritt haben Sie einen zu installierenden Webserver ausgewählt, jetzt müssen Sie ihn konfigurieren.
Nginx-Konfiguration
Wenn Sie Nginx verwenden möchten, erstellen Sie bitte eine Konfigurationsdatei für den Nginx-Serverblock
nano /etc/nginx/conf.d/yourdomain.com.conf
upstream php { server 127.0.0.1:9000; } server { server_name yourdomain.com; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection “1; mode=block”; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; # Path to the root of your installation root /var/www/nextcloud/; location = /robots.txt { allow all; log_not_found off; access_log off; } location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } # set max upload size client_max_body_size 512M; fastcgi_buffers 64 4K; # Enable gzip but do not remove ETag headers gzip on; gzip_vary on; gzip_comp_level 4; gzip_min_length 256; gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; location / { rewrite ^ /index.php$request_uri; } location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; } location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; } location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param HTTPS on; #Avoid sending the security headers twice fastcgi_param modHeadersAvailable true; fastcgi_param front_controller_active true; fastcgi_pass php; fastcgi_intercept_errors on; fastcgi_request_buffering off; } location ~ ^/(?:updater|ocs-provider)(?:$|/) { try_files $uri/ =404; index index.php; } # Adding the cache control header for js and css files # Make sure it is BELOW the PHP block location ~ \.(?:css|js|woff|svg|gif)$ { try_files $uri /index.php$request_uri; add_header Cache-Control “public, max-age=15778463”; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection “1; mode=block”; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; # Optional: Don’t log access to assets access_log off; } location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ { try_files $uri /index.php$request_uri; # Optional: Don’t log access to other assets access_log off; } }
Testen Sie die Nginx-Konfigurationsdatei und starten Sie dann den Dienst neu
nginx -t systemctl restart nginx
Apache-Konfiguration
Erstellen Sie eine virtuelle Host-Konfigurationsdatei für die Domäne, die Sie zum Hosten von Nextcloud verwenden möchten.
nano /etc/httpd/conf.d/yourdomain.com.conf
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/nextcloud ServerName yourdomain.com ServerAlias www.yourdomain.com <Directory /var/www/html/nextcloud> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/nextcloud SetEnv HTTP_HOME /var/www/nextcloud </Directory> ErrorLog /var/log/httpd/nextcloud-error_log CustomLog /var/log/httpd/nextcloud-access_log common </VirtualHost>
Gehen Sie zur offiziellen Website von Nextcloud und laden Sie die neueste stabile Version der Anwendung herunter
wget https://download.nextcloud.com/server/releases/nextcloud-14.0.0.zip
Entpacken Sie das heruntergeladene ZIP-Archiv in das Dokumentenstammverzeichnis auf Ihrem Server
# unzip nextcloud-14.0.0.zip -d /var/www/ # mkdir /var/www/nextcloud/data # chown -R nginx: /var/www/nextcloud If you chose Apache, then you need to set the permission for Apache user # chown -R apache: /var/www/nextcloud You can now proceed with Nextcloud 14 installation via web installer at http://yourdomain.com, fill the blank as required, then click on the “Finish setup” button to finish it.
Es wird empfohlen, die Nextcloud 14 im HTTPS-Modus auszuführen. Dazu müssen wir ein SSL-Zertifikat installieren. In diesem Schritt zeigen wir Ihnen, wie Sie ein SSL-Zertifikat von Letsencrypt installieren.
# yum install certbot-nginx certbot-apache
# certbot
Sie werden nach Ihrer E-Mail-Adresse gefragt, dann müssen Sie den Nutzungsbedingungen zustimmen, um mit der Installation des Zertifikats fortzufahren.
Wenn beim Anfordern des Zertifikats kein Problem auftritt, bearbeitet Certbot automatisch Ihren vorhandenen Nginx-Serverblock, um das Zertifikat zu installieren.
An diesem Punkt können Sie auf Ihre Nextcloud 14-Installation unter https://yourdomain.com
zugreifenUnd das war’s, mit dem letzten Schritt dieses Tutorials haben wir Nextcloud 14 erfolgreich auf Ihrem CentOs 7 installiert und Sie können sich mit den Zugangsdaten Ihres Admin-Benutzers anmelden. Weitere Informationen finden Sie in der offiziellen Dokumentation von Nextcloud 14.
RoseHosting wurde auf Nextcloud.com als empfohlener Nextcloud-Hosting-Anbieter aufgeführt. Wenn Sie unser vollständig verwaltetes Nextcloud VPS-Hosting ausprobieren möchten, verwenden Sie den Gutscheincode:50FIRST um 50 % Rabatt auf Ihre erste Monatsrechnung zu erhalten. Wir haben eine 7-tägige Geld-zurück-Garantie. Wenn Sie einer unserer Kunden sind, müssen Sie Nextcloud 14 nicht auf CentOS 7 installieren, Sie können einfach unsere Systemadministratoren bitten, Ihre Nextcloud-Instanz auf CentOS oder einem anderen Linux-Betriebssystem zu installieren und zu konfigurieren. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS . Wenn Ihnen dieser Beitrag zu How To Install Nextcloud 14 on CentOS 7 gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.