GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Nextcloud 10 mit Nginx auf Debian 8

Nextcloud ist eine Open-Source-Software zum Synchronisieren und Teilen von Dateien. Es ist ein Fork von ownCloud und findet seine Verwendung sowohl auf individueller als auch auf Unternehmensebene. Es wurde kürzlich von Frank Karlitschek gestartet, der zuvor das ownCloud-Projekt gegründet hatte. Nextcloud verfügt nicht nur über alle Funktionen von ownCloud, sondern plant auch, neue und innovative bereitzustellen.

In diesem Artikel erfahren wir, wie Sie die neueste Version von Nextcloud auf Debian 8 mit Nginx (ausgesprochen als EngineX), MariaDB und PHP7 installieren.

1) Nextcloud installieren

Nextcloud-Dateien können von den Nextcloud-Servern heruntergeladen werden. Wir können die ZIP-Datei herunterladen und entpacken, um die Installation abzuschließen.

# wget https://download.nextcloud.com/server/releases/nextcloud-10.0.1.zip
# unzip nextcloud-10.0.1.zip

Lassen Sie uns das Nextcloud-Verzeichnis nach /var/www verschieben und den Besitz auf www-data

ändern
# mkdir /var/www/

# mv nextcloud /var/www/

# rm -f nextcloud-10.0.1.zip

# chown -R www-data: /var/www/nextcloud

2) Nginx installieren

Nginx ist Open Source und einer der am häufigsten verfügbaren Webserver. Es arbeitet effizient, skaliert gut mit minimaler Hardware und bietet auch unter Last eine gute Reaktion. Die Installation ist nur eine einfache Aufgabe, indem Sie den Befehl apt-get install ausführen.

# apt-get update

# apt-get install nginx -y

Wir können die Version von nginx überprüfen, die installiert wurde, und auch den Status, um zu sehen, ob der Dienst gestartet wurde.

# nginx -v

#service nginx status

Alternativ können wir auch den Browser auf die IP des Servers verweisen und die nginx-Willkommensseite anzeigen:

3) MariaDB installieren

Installieren Sie den MariaDB-Server und die Client-Software

# apt-get install mariadb-server-10.0 mariadb-client-10.0 -y

Beim Konfigurieren der DB werden Sie aufgefordert, ein Passwort für den „administrativen“ Root-Benutzer festzulegen. Geben Sie ein Passwort ein und beenden Sie.

Überprüfen Sie die installierte Version

# mysql --version
mysql Ver 15.1 Distrib 10.0.27-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Wir können die Installation weiter sichern, indem wir die sichere Installation von MySQL ausführen. Dies wird für Produktionsserver empfohlen.

# 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.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n
... skipping.

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!

4) Erstellen Sie eine Datenbank und einen Benutzer für Nextcloud

Melden Sie sich mit dem Passwort, das Sie zuvor beim Konfigurieren der DB festgelegt haben, bei der MariaDB an.

# mysql -u root -p
Enter password:

Erstellen Sie jetzt einen Benutzer und legen Sie ein Passwort für denselben Benutzer fest.

MariaDB [(none)]> create database nextcloud;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> create user nxtcloudadmin@localhost identified by 'admin123';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all privileges on nextcloud.* to nxtcloudadmin@localhost identified by 'admin123'
-> ;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit;

5) Aktivieren Sie die binäre Protokollierung für MariaDB

Das Binärprotokoll enthält sowohl Datenänderungen als auch strukturelle Änderungen, die an der DB vorgenommen wurden. Dieses Protokoll ist bei der Replikation und Datenwiederherstellung hilfreich. Um dies zu ermöglichen, bearbeiten Sie die Datei /etc/mysql/my.cnf und fügen Sie die folgenden Zeilen hinzu

log-bin = /var/log/mysql/mariadb-bin
log-bin-index = /var/log/mysql/mariadb-bin.index
binlog_format = mixed

Laden Sie danach den MySQL-Server neu

# service mysql reload

6) Installieren Sie PHP7

Überprüfen Sie zunächst, ob PHP bereits auf Ihrem System installiert ist. Führen Sie dazu den folgenden Befehl aus

# dpkg --list |grep php

Wenn nicht, finden Sie heraus, welche Debian-Version Sie haben, und holen Sie sich die entsprechenden Pakete.

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.6 (jessie)
Release: 8.6
Codename: jessie

Im obigen Beispiel lautet der Release-Name „Jessie“. Lassen Sie uns daher die Jessie-Paketdetails zur Quellenliste hinzufügen, den Schlüssel hinzufügen und dann die erforderlichen PHP-Pakete installieren.

# echo 'deb http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list
# echo 'deb-src http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list

# cd /tmp
# wget https://www.dotdeb.org/dotdeb.gpg
# apt-key add dotdeb.gpg

apt-get update

root@debian-linoxide:~# apt install php7.0-common php7.0-fpm php7.0-cli php7.0-json php7.0-mysql php7.0-curl php7.0-intl php7.0-mcrypt php-pear php7.0-gd php7.0-zip php7.0-xml php7.0-mbstring

7) Erhalten Sie ein kostenloses SSL-Zertifikat für die Nextcloud-Domain

Um HTTPS auf einer beliebigen Website zu aktivieren, benötigen wir ein Zertifikat von einer Zertifizierungsstelle (CA). 'Let's Encrypt' ist eine Zertifizierungsstelle, die kostenlose SSL-Zertifikate für Domains bereitstellt.

Dazu müssen wir zuerst das Paket „git“ installieren und dann das GitHub-Repository klonen, um letsencrypt herunterzuladen

# apt-get install git bc -y

# git clone https://github.com/letsencrypt/letsencrypt

Jetzt können wir das SSL-Zertifikat abrufen, indem wir in das Verzeichnis „letsencrypt“ wechseln und einen einzigen Befehl ausgeben:

# /letsencrypt-auto certonly --standalone --email <your-email-address> --agree-tos -d <your-node-name>

8) Virtuellen Host für Ihre Domain einrichten

Um einen virtuellen Host zu erstellen, erstellen Sie eine Datei mit Ihrem Domänennamen mit der Erweiterung „.conf“ (in diesem Fall beispielsweise nodenixbox.com.conf) im Pfad /etc/nginx/sites-enabled und fügen Sie die unten angegebenen Inhalte hinzu.

Hinweis:Sie müssen den Knotennamen (in roter Farbe) durch Ihren eigenen Domänennamen ersetzen und den SSL-Zertifikatspfad (in blau) dahin ändern, wo sich Ihr SSL-Zertifikat befindet.

upstream php-handler {
server unix:/run/php/php7.0-fpm.sock;
}

server {
listen 80;
server_name nodenixbox.com;
}

server {
listen 443 ssl;
server_name nodenixbox.com;

ssl_certificate /etc/letsencrypt/live/nodenixbox.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/nodenixbox.com/privkey.pem;

# Path to the root of your installation
root /var/www/nextcloud/;
# set max upload size
client_max_body_size 10G;
fastcgi_buffers 64 4K;

# Disable gzip to avoid the removal of the ETag header
gzip off;

# Uncomment if your server is build with the ngx_pagespeed module
# This module is currently not supported.
#pagespeed off;

index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;

rewrite ^/.well-known/carddav /remote.php/dav/ permanent;
rewrite ^/.well-known/caldav /remote.php/dav/ permanent;

# The following 2 rules are only needed for the user_webfinger app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

location ~ ^/(build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}

location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
}

location / {

rewrite ^/remote/(.*) /remote.php last;

rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

try_files $uri $uri/ =404;
}

location ~ \.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;
fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
}

# Adding the cache control header for js and css files
# Make sure it is BELOW the location ~ \.php(?:$|/) { block
location ~* \.(?:css|js)$ {
add_header Cache-Control "public, max-age=7200";
# Add headers to serve security related headers
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
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;
}

# Optional: Don't log access to other assets
location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ {
access_log off;
}
}

9) Zugriff auf die Nextcloud-Weboberfläche

Um Ihr Nextcloud-Administrationskonto zu erstellen und zu verwalten, richten Sie Ihren Browser auf Ihren Domainnamen. In diesem Beispiel ist es „https://nodenixbox.com“. Dadurch wird ein Fenster wie unten gezeigt geöffnet, in dem Sie aufgefordert werden, ein Administratorkonto zu erstellen. Unten auf derselben Seite werden Sie ein weiteres Feld bemerken, in dem Sie nach dem Datenbankbenutzer, dem Passwort und dem Datenbanknamen gefragt werden. Geben Sie hier die Details des Kontos ein, das Sie während der Installation von MariaDB erstellt haben, und klicken Sie auf die Schaltfläche „Einrichtung beenden“.

Herzliche Glückwünsche! Sie haben jetzt Ihren eigenen Nextcloud-Server eingerichtet und können damit beginnen, Dateien darüber zu teilen.

Schlussfolgerung

Nextcloud ist ein sicherer Ort für alle, einschließlich Unternehmen, um ihre Dateien oder Daten zu speichern, zu teilen und zu schützen. Es kann auch zum Teilen von Kalendern, Kontakten, Kommunikation usw. verwendet werden, ohne sich um deren Sicherheit sorgen zu müssen. Es konzentriert sich auf die Bedürfnisse der Benutzer und Kunden und versucht, weitere Funktionen hinzuzufügen. Insgesamt ein nettes Tool.


Debian
  1. So installieren Sie Phorum mit Nginx unter Debian 9

  2. So installieren Sie Textpattern CMS mit Nginx unter Debian 10

  3. So installieren Sie den Ghost unter Debian mit Nginx

  4. So installieren Sie WordPress mit Nginx unter Debian 10

  5. So installieren Sie WonderCMS mit Nginx unter Debian 11

So installieren Sie Nextcloud 13 auf Ubuntu 16.04 mit Nginx

So installieren Sie phpMyAdmin mit Nginx unter Debian 11 Bullseye

So installieren Sie Nextcloud unter Debian 8

So installieren Sie phpMyAdmin mit Nginx unter Debian 11

So installieren Sie Nextcloud unter Debian 11

So installieren Sie Nginx mit PHP-FPM unter Debian 11