Nextcloud je bezplatný (Open Source) software podobný Dropboxu, který je součástí projektu ownCloud. Nextcloud je napsán v PHP a JavaScriptu, podporuje mnoho databázových systémů jako MySQL/MariaDB, PostgreSQL, Oracle Database a SQLite. Aby byly vaše soubory synchronizovány mezi Desktopem a vaším vlastním serverem, Nextcloud poskytuje aplikace pro Windows, Linux a Mac desktopy a mobilní aplikaci pro Android a iOS. Nextcloud není jen klon schránky, poskytuje další funkce, jako je Kalendář, Kontakty, Plánování úkolů a streamování médií pomocí Ampache.
V tomto tutoriálu vám ukážu, jak nainstalovat a nakonfigurovat nejnovější vydání Nextcloud 10 na serveru CentOS 7. Spustím Nextcloud s webovým serverem Nginx a PHP7-FPM a jako databázový systém použiji MariaDB.
Předpoklad
- CentOS 7 64bit
- Oprávnění uživatele root na serveru
Krok 1 – Instalace Nginx a PHP7-FPM na CentOS 7
Než začneme s instalací Nginx a php7-fpm, musíme přidat úložiště balíčků EPEL. Nainstalujte jej pomocí tohoto příkazu yum.
yum -y install epel-release
Nyní nainstalujte Nginx z úložiště EPEL.
yum -y nainstalujte nginx
Pak musíme přidat další úložiště pro php7-fpm. Na internetu je k dispozici několik repozitářů, které poskytují balíčky PHP 7, zde použiji webtatic.
Přidejte webové úložiště PHP7-FPM:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Dále nainstalujte PHP7-FPM a některé další balíčky pro instalaci Nextcloud.
yum -y install php70w-fpm php70w-cli php70w-gd php70w-mcrypt php70w-mysql php70w-pear php70w-xml php70w-mbstring php70w-pdo php70w-json phpapcu-de-pecl-phpapcu-de-pecl-phpapcu-de-pecl /před>Nakonec zkontrolujte verzi PHP ze serverového terminálu a ověřte, zda je PHP správně nainstalováno.
php -v
Krok 2 – Konfigurace PHP7-FPM
V tomto kroku nakonfigurujeme php-fpm pro spuštění s Nginx. Php7-fpm poběží pod uživatelským nginx a naslouchá na portu 9000.
Upravte výchozí konfigurační soubor php7-fpm pomocí vim.
vim /etc/php-fpm.d/www.confV řádku 8 a 10 změňte uživatele a skupinu na 'nginx '.
user =nginx
skupina =nginxV řádku 22 se ujistěte, že php-fpm běží pod portem serveru.
poslouchat =127.0.0.1:9000Chcete-li aktivovat systémové proměnné prostředí php-fpm, odkomentujte řádek 366-370.
env[HOSTNAME] =$HOSTNAME
env[PATH] =/usr/local/bin:/usr/bin:/bin
env[TMP] =/tmp
env[ TMPDIR] =/tmp
env[TEMP] =/tmpUložte soubor a ukončete editor vim.
Dále vytvořte nový adresář pro cestu relace v adresáři '/var/lib/' a změňte vlastníka na uživatele 'nginx'.
mkdir -p /var/lib/php/session
chown nginx:nginx -R /var/lib/php/session/Nyní spusťte php-fpm a Nginx a poté povolte spouštění služeb při bootování.
sudo systemctl spustit php-fpm
sudo systemctl spustit nginx
sudo systemctl povolit php-fpm
sudo systemctl povolit nginx
Konfigurace PHP7-FPM je hotová.
Krok 3 – Instalace a konfigurace MariaDB
Pro databázi Nextcloud budu používat MariaDB. Nainstalujte balíček mariadb-server z úložiště CentOS pomocí yum.
yum -y nainstalujte mariadb mariadb-serverSpusťte službu MariaDB a přidejte ji ke spuštění při spouštění.
systemctl spustit mariadb
systemctl povolit mariadbNyní nakonfigurujte root heslo MariaDB.
mysql_secure_installationNa požádání zadejte své root heslo.
Nastavit heslo root? [A/n] A
Nové heslo:
Znovu zadejte nové heslo:
Odebrat anonymní uživatele? [A/n] A
Zakázat vzdálené přihlášení root? [A/N] A
Odebrat testovací databázi a získat k ní přístup? [A/n] A
Načíst nyní tabulky oprávnění? [A/n] AKořenové heslo MariaDB bylo nastaveno, nyní se můžeme přihlásit do shellu mysql a vytvořit novou databázi a nového uživatele pro Nextcloud. Vytvořím novou databázi s názvem 'nextcloud_db “ a uživatelem „nextclouduser ' s heslem '[e-mail chráněn] '. Zvolte si pro svou instalaci bezpečné heslo!
mysql -u root -p
Zadejte hesloZadejte mysql dotaz níže a vytvořte novou databázi a nového uživatele.
vytvořit databázi nextcloud_db;
vytvořit uživatele [chráněno e-mailem] označeného jako '[chráněno e-mailem]';
udělit všechna oprávnění na nextcloud_db.* uživateli [chráněno e-mailem] označenému jako '[chráněn e-mailem]';
vyprázdnit oprávnění;
Databáze nextcloud_db s uživatelem 'nextclouduser' byla vytvořena.
Krok 4 – Vygenerování certifikátu SSL s vlastním podpisem pro Nextcloud
V tomto tutoriálu spustím nextcloud s připojením https pro klienta. Můžete použít bezplatné SSL, jako je let's encrypt nebo vytvořit certifikát SSL s vlastním podpisem. Vytvořím svůj vlastní soubor certifikátu SSL s vlastním podpisem pomocí příkazu OpenSSL.
Vytvořte nový adresář pro soubor SSL.
mkdir -p /etc/nginx/cert/A vygenerujte nový soubor certifikátu SSL pomocí příkazu openssl níže.
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/nextcloud.crt -keyout /etc/nginx/cert/nextcloud.keyNakonec změňte oprávnění všech souborů certifikátů na 600 pomocí chmod.
chmod 700 /etc/nginx/cert
chmod 600 /etc/nginx/cert/*
Krok 5 – Stažení a instalace Nextcloud
Stáhneme Nextcloud s wget přímo na server, takže musíme nejprve nainstalovat wget. Dále potřebujeme program rozbalení. Nainstalujte obě aplikace pomocí yum.
yum -y install wget unzipPřejděte do adresáře /tmp a stáhněte si nejnovější stabilní verzi Nextcloud 10 z webu Nextcloud pomocí wget.
cd /tmp
wget https://download.nextcloud.com/server/releases/nextcloud-10.0.2.zipRozbalte soubor zip nextcloud a přesuňte jeho obsah do adresáře '/usr/share/nginx/html/'.
rozbalte nextcloud-10.0.2.zip
mv nextcloud/ /usr/share/nginx/html/Dále přejděte do kořenového webového adresáře Nginx a vytvořte nový adresář „data“ pro Nextcloud.
cd /usr/share/nginx/html/
mkdir -p nextcloud/data/Změňte vlastníka adresáře 'nextcloud' na uživatele a skupinu 'nginx'.
chown nginx:nginx -R nextcloud/
Krok 6 – Konfigurace virtuálního hostitele Nextcloud v Nginx
V kroku 5 jsme si stáhli zdrojový kód Nextcloud a nakonfigurovali jej tak, aby běžel pod webovým serverem Nginx. Stále však musíme nakonfigurovat virtuálního hostitele pro Nextcloud. Vytvořte nový konfigurační soubor virtuálního hostitele 'nextcloud.conf' v adresáři Nginx 'conf.d'.
cd /etc/nginx/conf.d/
vim nextcloud.confNíže vložte konfiguraci virtuálního hostitele Nextcloud.
upstream php-handler {
server 127.0.0.1:9000;
#server unix:/var/run/php5-fpm.sock;
}
server {
listen 80;
název_serveru cloud.nextcloud.co;
# vynutit https
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
název_serveru cloud.nextcloud.co;
ssl_certificate /etc/nginx/cert/nextcloud.crt;
ssl_certificate_key /etc/nginx/cert/nextcloud.key;
# Přidejte záhlaví pro poskytování záhlaví souvisejících se zabezpečením
# Před povolením záhlaví Strict-Transport-Security si přečtěte toto
# topic first.
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;
# Cesta ke kořenovému adresáři vaší instalace
root /usr/share/nginx/html/nextcloud/;
umístění =/robots.txt {
povolit vše;
log_not_found off;
access_log off;
}
# Následující 2 pravidla jsou potřebná pouze pro aplikaci user_webfinger.
# Odkomentujte, pokud tuto aplikaci plánujete používat.
#rewrite ^/.well-known/host-meta /public.php ?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
# last;
umístění =/.well-known/carddav {
návrat 301 $scheme://$host/remote.php/dav;
}
umístění =/.well-known/ caldav {
return 301 $scheme://$host/remote.php/dav;
}
# nastavit maximální velikost nahrávání
client_max_body_size 512M;
fastcgi_buffers 64 4K;
# Vypněte gzip, abyste se vyhnuli e odstranění hlavičky ETag
gzip off;
# Odkomentujte, pokud je váš server sestaven s modulem ngx_pagespeed
# Tento modul aktuálně není podporován.
#pagespeed vypnuto;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
umístění / {
přepsat ^ /index.php$uri;
}
umístění ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
umístění ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
zakázat vše;
}
umístění ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templáty /40[34])\.php(?:$|/) {
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param SCRIPT_NAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
#Vyhněte se odesílání bezpečnostních hlaviček dvakrát
fastcgi_param modHeadersAvailable true;
fastcgi_param front_controller_active true;
g_g_ php; rychlé g g php;> fastcgi_request_buffering off;
}
umístění ~ ^/(?:updater|ocs-provider)(?:$|/) {
try_files $uri/ =404;
index index.php;
}
# Přidání hlavičky řízení mezipaměti pro soubory js a css
# Ujistěte se, že je POD blokem PHP
umístění ~* \.(?:css|js)$ {
try_files $uri /index.php$uri$is_args$args;
add_header Cache-Control "public, max-age=7200";
# Přidejte záhlaví pro poskytování záhlaví souvisejících se zabezpečením (je určeno k
#, aby byly duplikovány s výše uvedenými)
# Před povolením záhlaví Strict-Transport-Security si přečtěte
# # toto téma jako první.
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 Volitelné:Neodhlašovat přístup k aktivům
access_log off;
}
umístění ~* \.(?:svg|gif|png|html|ttf|woff|ico |jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
# Volitelné:Nepřihlašovat přístup k dalším aktivům
access_log off;
}Uložte soubor a ukončete vim.
Nyní otestujte konfiguraci Nginx, abyste se ujistili, že nedošlo k žádné chybě, s- Potom restartujte službu.
nginx -t
systemctl restart nginx
Krok 7 – Konfigurace SELinux a FirewallD pro Nextcloud
V tomto tutoriálu ponecháme SELinux zapnutý v režimu vynucování, takže potřebujeme nový balíček nástrojů pro správu SELinux pro konfiguraci SELinuxu pro Nextcloud.
Pomocí tohoto příkazu nainstalujte nástroje pro správu SELinux.
yum -y install policycoreutils-python-utilsPoté spusťte níže uvedené příkazy jako uživatel root, abyste umožnili Nextcloud běžet pod SELinux. Nezapomeňte změnit adresář Nextcloud v případě, že používáte jiný adresář.
spravovat fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/data(/.*)?'
spravovat fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html /nextcloud/config(/.*)?'
spravovat fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/apps(/.*)?'
spravovat fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/assets(/.*)?'
spravovat kontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/.htaccess' br />semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/.user.ini'
restorecon -Rv '/usr/share/nginx/html/nextcloud/ 'Dále povolíme službu firewalld a otevřeme porty HTTP a HTTPS pro Nextcloud.
Spusťte firewalld a povolte jeho spuštění při startu.
systemctl spustit firewalld
systemctl povolit firewalldNyní otevřete porty HTTP a HTTPS pomocí příkazu firewall-cmd a znovu načtěte bránu firewall.
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Veškerá konfigurace serveru je hotová.
Krok 8 – Průvodce instalací Nextcloud
Otevřete webový prohlížeč a zadejte název své domény Nextcloud, moje je:cloud.nextcloud.co. Budete přesměrováni na zabezpečené připojení https.
Zadejte požadované uživatelské jméno a heslo správce a poté zadejte přihlašovací údaje k databázi. Klikněte na 'Dokončit nastavení '.
Zobrazí se ovládací panel Nextcloud Admin Dashboard (Správce souborů).
Uživatelská nastavení Nextcloud.
Nastavení správce.
Nextcloud byl nainstalován s Nginx, PHP7-FPM a MariaDB na CentOS 7 Server.
Jak nainstalovat WordPress s HHVM a Nginx na CentOS 7 Monitorování Ceph Cluster pomocí Ceph-dash na CentOS 7Cent OS