GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat Nextcloud 10 s Nginx na Debian 8

Nextcloud je software s otevřeným zdrojovým kódem pro synchronizaci a sdílení souborů. Je to fork ownCloud a najde své využití jak na individuální, tak na podnikové úrovni. Nedávno to založil Frank Karlitschek, který dříve založil projekt ownCloud. Nextcloud má nejen všechny funkce ownCloud, ale také plánuje poskytovat nové a inovativní.

V tomto článku se naučíme, jak nainstalovat nejnovější verzi Nextcloud na Debian 8 pomocí Nginx (vyslovováno jako EngineX), MariaDB a PHP7.

1) Nainstalujte Nextcloud

Soubory Nextcloud jsou k dispozici ke stažení ze serverů Nextcloud. Můžeme si stáhnout soubor zip a rozbalit jej, aby byla instalace dokončena.

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

Přesuňme adresář nextcloud do /var/www a změňme vlastnictví na www-data

# mkdir /var/www/

# mv nextcloud /var/www/

# rm -f nextcloud-10.0.1.zip

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

2) Nainstalujte Nginx

Nginx je open source a jeden z nejběžnějších dostupných webových serverů. Funguje efektivně, dobře se škáluje s minimem hardwaru a poskytuje dobrou odezvu i při zátěži. Instalace je jednoduchým úkolem spuštěním příkazu apt-get install.

# apt-get update

# apt-get install nginx -y

Můžeme zkontrolovat verzi nginx, která se nainstalovala, a také stav, abychom zjistili, zda se služba spustila.

# nginx -v

#service nginx status

Případně můžeme také nasměrovat prohlížeč na IP serveru a zobrazit uvítací stránku nginx:

3) Nainstalujte MariaDB

Nainstalujte server a klientský software MariaDB

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

V době konfigurace DB budete požádáni o nastavení hesla pro „administrativního“ uživatele root. Zadejte heslo a ukončete.

Ověřte nainstalovanou verzi

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

Instalaci můžeme dále zabezpečit spuštěním zabezpečené instalace MySQL. Toto je doporučeno pro produkční servery.

# 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) Vytvořte databázi a uživatele pro Nextcloud

Přihlaste se do MariaDB pomocí hesla, které bylo nastaveno dříve při konfiguraci DB.

# mysql -u root -p
Enter password:

Nyní vytvořte uživatele a nastavte heslo pro stejného uživatele.

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) Povolte binární protokolování pro MariaDB

Binární log obsahuje jak změny dat, tak strukturální změny provedené v DB. Tento protokol bude užitečný při replikaci a obnově dat. Chcete-li to povolit, upravte soubor /etc/mysql/my.cnf a přidejte následující řádky

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

Poté znovu načtěte mysql server

# service mysql reload

6) Nainstalujte PHP7

Nejprve zkontrolujte, zda je ve vašem systému již nainstalováno PHP. Chcete-li to provést, spusťte níže uvedený příkaz

# dpkg --list |grep php

Pokud ne, zjistěte verzi Debianu, kterou máte, a získejte odpovídající balíčky.

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

Ve výše uvedeném příkladu je název vydání 'jessie'. Přidejme tedy podrobnosti o balíčku jessie do seznamu zdrojů, přidejte klíč a poté nainstalujme požadované balíčky PHP.

# 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) Získejte zdarma certifikát SSL pro doménu Nextcloud

Abychom povolili HTTPS na libovolném webu, potřebujeme získat certifikát od certifikační autority (CA). 'Let's Encrypt' je CA, která poskytuje bezplatné certifikáty SSL pro domény.

Za tímto účelem musíme nejprve nainstalovat balíček 'git' a poté naklonovat úložiště GitHub ke stažení letsencrypt

# apt-get install git bc -y

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

Nyní můžeme získat certifikát SSL změnou adresáře „letsencrypt“ a zadáním jediného příkazu:

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

8) Nastavení virtuálního hostitele pro vaši doménu

Chcete-li vytvořit virtuální hostitele, vytvořte soubor s názvem vaší domény s příponou '.conf' (v tomto případě například nodenixbox.com.conf) v cestě /etc/nginx/sites-enabled a přidejte obsah uvedený níže.

Poznámka:Název uzlu (v červené barvě) musíte nahradit svým vlastním názvem domény a změnit cestu k certifikátu ssl (modře) na místo, kde se nachází váš certifikát ssl.

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) Přístup k webovému rozhraní Nextcloud

Chcete-li vytvořit a spravovat svůj administrativní účet Nextcloud, nasměrujte prohlížeč na název své domény. V tomto příkladu je to „https://nodenixbox.com“. Tím se otevře okno, jak je uvedeno níže, s žádostí o vytvoření účtu správce. Ve spodní části stejné stránky si všimnete dalšího pole s dotazem na uživatele databáze, heslo a název databáze. Zde zadejte podrobnosti o účtu, který jste vytvořili při instalaci MariaDB, a stiskněte tlačítko 'Dokončit nastavení'.

Gratulujeme! Nyní jste nastavili svůj vlastní server Nextcloud a můžete pomocí něj začít sdílet soubory.

Závěr

Nextcloud je bezpečné místo pro kohokoli, včetně podniků, k ukládání, sdílení a ochraně svých souborů nebo dat. Může být také použit pro sdílení kalendářů, kontaktů, komunikace atd. bez obav o jejich bezpečnost. Zaměřuje se na potřeby uživatelů a zákazníků a snaží se do něj přidávat další funkce. Celkově vzato, pěkný nástroj k použití.


Debian
  1. Jak nainstalovat Phorum s Nginx na Debian 9

  2. Jak nainstalovat FuelPHP s Nginx na Debian 8 VPS

  3. Jak nainstalovat NextCloud 13 na Debian 9

  1. Jak nainstalovat Textpattern CMS s Nginx na Debian 10

  2. Jak nainstalovat Ghost na Debian s Nginx

  3. Jak nainstalovat DokuWiki na Debian Wheezy s Nginx

  1. Jak nainstalovat MariaDB na Debian 9

  2. Jak nainstalovat WordPress s Nginx na Debian 10

  3. Jak nainstalovat WonderCMS s Nginx na Debian 11