StorageReview.com

Ghidul complet al serverului Nextcloud

Enterprise  ◇  HomeLab

Nimănui nu-i place să rămână fără spațiu de stocare gratuit în cloud. Notificarea de la Google Foto sau iCloud care te avertizează că ai rămas fără spațiu poate strica excursia ta de observare a leneșilor exotici în America de Sud. Cu toate acestea, pentru noi, cei care facem singuri și cei care lucrează acasă, există o soluție dacă sunteți dispuși să vă murdăriți mâinile.

Prezentarea Nextcloud

Nextcloud este o platformă de stocare în cloud gratuită și open-source care vă pune în mâini puterea și flexibilitatea cloud-ului. Aceasta este compatibilă cu mai multe distribuții Linux populare, cum ar fi Red Hat Enterprise Linux 9 și Ubuntu 24.04 LTS. În acest articol, vom folosi Ubuntu Server 24.04.1 și Nextcloud Hub 9 (30.0.0) pentru a construi un server de stocare în cloud de înaltă performanță, complet personalizabil. Unii dintre pașii prezentați aici ar putea necesita cunoștințe de bază despre administrarea serverelor Linux și interfața liniei de comandă, așa că pregătiți-vă să vă familiarizați cu aspectele tehnice!

Configurarea serverului

Pentru a începe configurarea unui server Nextcloud, veți avea nevoie de o instalare nouă de Ubuntu Server pe un sistem la alegere. O mașină virtuală pe computerul principal sau orice hardware de rezervă aveți va fi probabil suficient! Vă recomandăm un computer cu cel puțin 2-4 nuclee CPU, 8 gigaocteți de RAM și 500 GB de stocare. Când aveți sistemul gata, descărcați Ubuntu Server accesând acest link: https://ubuntu.com/download/server.

Dacă nu ați instalat niciodată Ubuntu Server, consultați ghidul lor înainte de a începe: https://ubuntu.com/tutorials/install-ubuntu-server . Aveți grijă să nu selectați opțiunea de preinstalare a Nextcloud pe pagina software-ului recomandat, deoarece ne vom ocupa noi înșine de asta.

După ce ați conectat serverul la rețea, i-ați atribuit un nume de gazdă și v-ați conectat cu numele de utilizator și parola pe care le-ați creat în timpul configurării inițiale, obțineți cele mai recente actualizări de software pentru Ubuntu Server tastând „sudo apt update && sudo apt upgrade -y” în consolă și apăsând Enter. Reporniți serverul după finalizarea actualizărilor utilizând „sudo reboot”.

Notă: Este posibil să fie nevoie să introduceți din nou parola pentru a executa comenzile sudo.

Instalarea software-ului

În continuare, trebuie să preluăm o parte din software-ul necesar de care depinde instanța noastră Nextcloud. Tastați (sau, de preferință, copiați și lipiți) următoarele comenzi în interfața liniei de comandă pentru a descărca și instala serverul web Apache și câteva pachete de care veți avea nevoie mai târziu pentru configurații Nextcloud mai avansate:

sudo apt instalează apache2 mariadb-server php libapache2-mod-php redis-server libmagickcore-6.q16-7-extra
sudo apt install php-apcu php-bcmath php-bz2 php-cli php-common php-curl php-gd php-gmp php-imagick php-intl php-ldap php-mbstring php-memcached php-mysql php-redis php-smbclient php-zip php-xml

Dacă apar solicitări care vă cer să tastați Y sau N pentru a continua sau a opri instalarea, tastați Y și apăsați Enter. În cele din urmă, tastați „wget” https://download.nextcloud.com/server/releases/latest.zip„pentru a obține cea mai recentă versiune de Nextcloud și a utiliza „sudo apt install dezarhivează” Pentru a instala instrumentul de dezarhivare, va trebui să extragem acele fișiere.

Acum că avem tot software-ul necesar pentru a configura instanța Nextcloud, haideți să examinăm serverul web pe care l-am instalat.

Configurarea serverului web Apache – Partea a 1-a

Înainte de a începe să ne jucăm cu Apache, va trebui să ne asigurăm că ne putem conecta corect la server. Pentru a permite conexiuni prin browser web (HTTP și HTTPS) la instanța Nextcloud, utilizați următoarele comenzi:

sudo ufw permite în „Apache Full”
sudo ufw enable

Acum ar trebui să aveți un server web rulant și accesibil pe serverul dvs. Ubuntu! Pe un alt computer conectat la aceeași rețea ca și mașina dvs. Nextcloud, introduceți adresa IP a serverului dvs. într-o fereastră de browser și apăsați Enter. Dacă nu vă amintiți care este adresa IP a serverului, utilizați „nume gazdă -I” comanda de pe serverul dvs. pentru a o afișa. Dacă instalarea a reușit, ar trebui să vedeți pagina implicită Apache2 afișată în toată splendoarea ei!

Deși unii ar putea spune că această pagină implicită a serverului web este destul de interesantă, o vom înlocui cu ceva și mai bun în partea a doua. Haideți să facem un ocol rapid și să configurăm MariaDB acum!

Configurarea MariaDB

Serverul nostru Nextcloud va avea nevoie de o bază de date mereu online pentru a stoca configurația serverului și informațiile despre profilul utilizatorului. Pentru a configura MariaDB să ruleze după repornirea sistemului, tastați „sudo systemctl enable mariadb” și apăsați Enter. Acum suntem gata să pregătim baza de date pentru instalarea Nextcloud!

Din fericire, MariaDB vine preinstalat cu un utilitar de configurare securizată, așa că nu trebuie să facem prea mult efort. Folosește „sudo mysql_secure_installation” pentru a-l porni și a răspunde la întrebările puse de vrăjitor.

  • Introduceți parola curentă pentru root (introduceți pentru none): apăsați Enter
  • Comutare la autentificarea unix_socket [D/n] n
  • Schimbați parola de root? n
  • Eliminați utilizatorii anonimi? [Y / n] y
  • Dezactivați accesul la root de la distanță? [Y / n] y
  • Eliminați baza de date de testare și accesați-o? [Y / n] y

MariaDB este acum securizată și putem începe să creăm o bază de date care să deservească instanța noastră Nextcloud.

Tastați „sudo mysql -u root” și introduceți aceste comenzi când apare interfața liniei de comandă MySQL (și asigurați-vă că folosiți „;” la sfârșitul fiecărei linii!):

CREARE UTILIZATOR 'nextcloud'@'localhost' IDENTIFICAT DE 'P@$$w0rd';

Notă: Înlocuiți „nextcloud” și „P@$$w0rd” cu un nume de utilizator și o parolă la alegere.

CREARE BAZA DE DATE DACĂ NU EXISTĂ nextcloud SET DE CARACTERE utf8mb4 COLLATE utf8mb4_general_ci;
ACORDĂ TOATE PRIVILEGIILE PE nextcloud.* CĂTRE 'nextcloud'@'localhost';

Notă: Din nou, înlocuiți „nextcloud” înainte de simbolul @ cu numele de utilizator pe care l-ați folosit anterior.

PRIVILEGIILE FLUXULUI;
părăsi;

Ne apropiem! Acum avem un server web și o bază de date funcționale (dar neterminate).

Activarea extensiilor PHP și îmbunătățirea performanței PHP

Vă mai amintiți de toate extensiile PHP pe care le-am instalat? Trebuie să le activăm pentru a ne asigura că Nextcloud le poate utiliza corect. Folosiți această comandă pentru a activa extensiile PHP necesare:

Cum se modifică sudo phpenmod apcu bcmath bz2 curl gd gmp imagick intl ldap mbstring memcached mysql redis smbclient zip xml?

Acum, că extensiile corecte au fost activate, trebuie să ajustăm câteva setări PHP pentru a se potrivi mai bine nevoilor noastre. Fișierul de configurare PHP pe care îl vom edita se află la „/etc/php/8.3/apache2/php.ini” și poate fi modificat prin plasarea „sudo nano” în fața căii și apăsând Enter. Dacă ați instalat o versiune diferită de PHP, modificați "8.3" la numărul de lansare majoră al versiunii instalate, care poate fi obținut introducând „php -v” în consolă.

Odată ce ați deschis „php.ini” fișier folosind nano, editorul de text încorporat în Ubuntu, țineți apăsată tasta control (ctrl) și atingeți tasta „W” de pe tastatură. Când apare bara de căutare, tastați „timp_max_execuție”, și apăsați Enter. Nano va sări apoi la prima potrivire pe care o găsește cu valoarea introdusă. Folosind tastele săgeată pentru navigare și tasta Backspace pentru a elimina caractere, schimbați „30” în „360”. Repetați acest truc pentru a schimba valorile pentru următoarele setări PHP:

memory_limit = 512M
  • Poate fi mărit opțional pentru a oferi PHP-ului mai multă memorie, dacă este necesar (1024M, 2048M etc.)
dimensiune_max_post = 100G
dimensiune_max_fișier_încărcare = 100G
  • Această valoare și valoarea anterioară reprezintă dimensiunea maximă a fișierului pe care îl puteți încărca pe serverul Nextcloud. Schimbați-le la dimensiunea maximă dorită pentru fișier. (1G = 1 gigabyte, 10G = 10 gigabytes, 100G = 100 gigabytes etc.) Aveți grijă să introduceți dimensiunile doar în K (kilobytes), M (megabytes) și G (gigabytes).
dată.fus orar = America/New_York
  • Eliminați „;” dinaintea rândului și folosiți acest ghid pentru a vă determina fusul orar corect: https://www.php.net/manual/en/timezones.php
opcache.enable=1
  • Eliminați „;” înainte de linie.
opcache.consum_de_memorie=128
  • Eliminați „;” dinaintea rândului. Această valoare, în megaocteți, poate fi personalizată pentru a se potrivi cu cantitatea de memorie pe care o aveți pe serverul Nextcloud (128 = 128 megaocteți, 1024 = 1024 megaocteți/1 gigaoctet, 2048 = 2048 megaocteți/2 gigaocteți).
opcache.interned_stringers_buffer=16
  • Eliminați „;” înainte de linie. Reprezintă cantitatea de memorie alocată pentru șirurile interne în megaocteți, valoarea recomandată fiind 16.
opcache.max_accelerated_files=10000
  • Eliminați „;” dinaintea rândului. Această valoare poate fi ajustată la orice număr între 200 și 1000000 pentru a se potrivi capacităților de cache și memorie ale sistemului dumneavoastră.
opcache.revalidate_freq=1
  • Eliminați „;” din fața rândului și schimbați-l în 1.
opcache.save_comments=1
  • Eliminați „;” dinaintea liniei și verificați dacă valoarea este setată la 1.

După ce ați finalizat toate modificările necesare la fișierul php.ini, salvați fișierul ținând apăsată tasta Control (ctrl) și apăsând tasta „O”. Apăsați Enter pentru a confirma, apoi țineți apăsată din nou tasta Control (ctrl) și apăsați tasta „X” pentru a ieși din nano.

Apoi, activați mai multe module Apache necesare introducând „sudo a2enmod director mediu antete mime rescrie ssl” în consolă. Nu este nevoie să reporniți Apache folosind comanda sugerată de mesajul consolei în acest moment.

Configurarea serverului web Apache – Partea a 2-a

Deși am descărcat Nextcloud și am configurat multe dintre cerințele software necesare, trebuie să înlocuim pagina web Apache implicită cu Nextcloud. Tastați „cd ~” în consolă și apăsați Enter, revenind la directorul principal al utilizatorului nostru. Aici a fost descărcat fișierul ZIP Nextcloud. Acum, tastați „unzip latest.zip” , apăsați Enter și urmăriți cum funcționează utilitarul de dezarhivare!

„latest.zip” Fișierul ZIP este acum extras într-un folder numit „următorul cloud” în același director din care a fost descărcat. Acest nou folder conține toate materialele necesare pentru site-ul Nextcloud. Acum vom începe să mutăm acest folder în locația sa corespunzătoare, „/var/www/html”.

Înainte ca folderul să poată fi transportat, trebuie să ne asigurăm că utilizatorul încorporat „www-data” este proprietarul noului director. Acest lucru este extrem de important, deoarece utilizatorul „www-data” gestionează toate operațiunile serverului web efectuate de serverul web Apache și de Nextcloud în sine. Tastați „sudo chown -R www-data:www-data ./nextcloud” în consolă și apăsați Enter.

Acum, că „www-date” utilizatorul deține folderul, îl putem muta fără întârziere. Folosește „sudo mv ./nextcloud /var/www/html” pentru a muta folderul în directorul corect.

Acum putem dezactiva pagina implicită a serverului web Apache introducând „sudo a2dissite 000-default.conf” în consolă. Ignorați avertismentul de a reîncărca serverul Apache și creați un fișier gazdă virtuală pentru noul site tastând „sudo nano /etc/apache2/sites-available/nextcloud.conf” și apăsând Enter. Conținutul fișierului gazdă virtuală trebuie să fie tastat exact după cum urmează:

DocumentRoot /var/www/html/nextcloud/ Nume server nextcloud-demo.moose.local Solicitați toate opțiunile AllowOverride acordate pentru toate opțiunile FollowSymLinks MultiViews Dav oprit

Înlocui „nextcloud-demo.moose.local” cu numele de domeniu complet calificat (FQDN) al serverului pe care ați instalat Nextcloud. Prima porțiune a FQDN este numele de gazdă al serverului pe care l-ați creat anterior, care poate fi afișat folosind „nume de gazdă” comanda din consolă. A doua și a treia porțiune a numelui reprezintă domeniul și respectiv domeniul de nivel superior. De exemplu, dacă domeniul dvs. a fost „storagereview.com” și numele de gazdă al serverului dvs. era „următorul cloud”, atunci FQDN-ul serverului dvs. ar fi „nextcloud.storagereview.com”.

Dacă nu dețineți un domeniu, puteți achiziționa unul de la un registrator precum Cloudflare folosind https://www.cloudflare.com/products/registrar/ sau puteți utiliza un nume de gazdă gratuit, disponibil public, de pe site-uri web precum https://www.noip.com/ . Dacă nu doriți să achiziționați un domeniu sau să utilizați un nume de gazdă gratuit, puteți plasa un FQDN fictiv în acest câmp, cu avertismentul că puteți utiliza doar adresa IP a serverului (publică și privată) pentru a vă conecta la instanța Nextcloud.

Notă: Pentru a utiliza FQDN-ul serverului pentru a accesa local instanța Nextcloud, trebuie să aveți un server DNS configurat corect care rulează în rețeaua de domiciliu. În caz contrar, trebuie să utilizați adresa IP locală a serverului atunci când îl accesați din rețeaua de domiciliu.

După ce ați terminat de scris fișierul gazdă virtuală și ați înlocuit FQDN-ul exemplu cu FQDN-ul serverului dvs. (legitim sau nu), puteți în sfârșit activa site-ul Nextcloud utilizând „sudo a2ensite nextcloud.conf” și „sudo systemctl restart apache2” pentru a reporni serverul web cu noul site. Navigați la instanța Nextcloud utilizând un browser web pe un alt computer aflat în aceeași rețea prin intermediul FQDN-ului serverului sau al adresei sale IP locale.

Configurarea inițială Nextcloud

Dacă ați urmat corect pașii anteriori, veți fi întâmpinat de o pagină care vă va cere să creați un utilizator de administrator pentru site și să completați câteva detalii despre serverul Nextcloud. Dați utilizatorului de administrator numele dorit, cum ar fi Administrator sau Superadmin, și o parolă puternică.

Configurarea inițială a NextcloudÎn secțiunea „Stocare și bază de date” a paginii de configurare, introduceți „/var/www/html/nextcloud/data” în câmpul „Dosar de date” și numele de utilizator al contului, parola și numele bazei de date pe care le-ați utilizat la crearea bazei de date MariaDB. Pentru câmpul „Gazdă bază de date”, introduceți "gazdă locală" și faceți clic pe butonul de instalare când ați terminat.

Nextcloud configurează baza de date

Site-ul se va încărca pentru scurt timp, apoi vă va oferi opțiunea de a instala mai multe aplicații recomandate pentru serverul dvs. Nextcloud. Rețineți că adăugarea mai multor aplicații la instanța dvs. Nextcloud va crește sarcina de procesare a serverului, utilizarea memoriei și utilizarea totală a discului. Alegeți dacă doriți să instalați aplicațiile recomandate sau, opțional, săriți peste acest pas.

Aplicații recomandate de NextcloudDupă ce instalarea aplicațiilor s-a terminat sau a apărut pagina următoare, puteți parcurge meniul introductiv, dacă doriți.

Se pare că serverul Nextcloud este finalizat, dar mai avem un pas pentru a-l face să funcționeze: configurarea unui cron job pentru a executa sarcini programate în mod regulat pe server.

Crearea unui Cron Job

Un cron job este o comandă executată regulat fără intervenția utilizatorului. Serverul nostru Nextcloud are nevoie de un cron job pentru a apela scriptul „cron.php” al serverului la fiecare 5 minute pentru performanță și funcționalitate optime.

Pentru a configura acest cron job, introduceți comanda „sudo crontab -u www-data -e” în consola serverului.

Cand „www-date” După ce se deschide crontab-ul utilizatorului, adăugați următoarea linie la sfârșitul fișierului:

*/5 * * * * php -f /var/www/nextcloud/cron.php

Când ați terminat, țineți apăsată tasta Control (ctrl) și apăsați tasta „O” pentru a salva fișierul, apoi țineți apăsată tasta Control (ctrl) și apăsați tasta „X” pentru a ieși. Pe site-ul web al serverului Nextcloud, navigați la „Setări de administrare” făcând clic pe imaginea de profil a utilizatorului de administrator și selectând-o din meniul derulant. Faceți clic pe modulul „Setări de bază” și asigurați-vă că este selectată opțiunea „Cron (Recomandat)”. Este posibil să fie nevoie să introduceți parola pentru a salva selecția, așa că introduceți-o în meniul pop-up care apare și faceți clic pe butonul „Confirmare” atunci când vi se solicită.

Felicitări! Acum aveți un server Nextcloud funcțional disponibil în rețeaua locală! Puteți începe să încărcați și să descărcați fișiere către și de pe serverul Nextcloud din rețeaua de domiciliu acum, dar pentru a-l face să strălucească, trebuie să-i îmbunătățim securitatea, să adăugăm câteva aplicații preferate de homelab, să configurăm un sistem de cache a memoriei extrem de rapid și să-l facem accesibil de pe internetul public.

Îmbunătățirea securității serverului Nextcloud

Una dintre cele mai bune metode de a crește nivelul de securitate al serverului web este să faceți upgrade la HTTPS prin HTTP necriptat și nesigur. Când este activat, solicitările vor fi servite prin TLS 1.3, cel mai nou și mai sigur standard de criptare pentru conexiunile web. Acesta este un pas necesar ori de câte ori intenționați să expuneți un site web la internetul public și este un prim pas excelent atunci când protejați informațiile sensibile.

După ce ați decis să criptați traficul Nextcloud, există două opțiuni pentru configurarea HTTPS din care puteți alege: utilizarea unui certificat autosemnat sau utilizarea unui certificat de la o autoritate de certificare validă. Dacă nu dețineți în prezent un domeniu sau nu intenționați să configurați unul pentru o instanță Nextcloud temporară, vă recomandăm să utilizați un certificat autosemnat sau unul de la un furnizor de nume de gazdă. Dacă intenționați să aveți o configurație Nextcloud mai permanentă, vă recomandăm insistent să obțineți un certificat de încredere publică de la o autoritate de certificare, cum ar fi Let's Encrypt.

HTTPS cu un certificat autosemnat

Pentru a activa și crea un certificat autosemnat, trebuie să executați câteva comenzi simple:

sudo a2enmod ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nextcloud-selfsigned.key -out /etc/ssl/certs/nextcloud-selfsigned.crt

Acum, că am activat modulul Apache SSL (cunoscut și sub numele de TLS) și am creat certificatul autosemnat, trebuie să instruim site-ul să activeze TLS și să utilizeze certificatul. Tastați „sudo nano /etc/apache2/sites-available/nextcloud.conf” și apăsați Enter pentru a începe din nou editarea fișierului gazdă virtuală.

Adăugați următoarele linii în partea de jos a fișierului gazdă virtuală exact așa cum urmează, dar înlocuiți câmpul „ServerName” cu numele de domeniu complet calificat al serverului dvs.:

DocumentRoot /var/www/html/nextcloud/ Nume server nextcloud-demo.moose.local Motor SSL pe fișierul CertificatSSL /etc/ssl/certs/nextcloud-selfsigned.crt Fișierul CheieCertificatSSL /etc/ssl/private/nextcloud-selfsigned.key Solicitați toate opțiunile AllowOverride acordate pentru toate opțiunile FollowSymLinks MultiViews Dav oprit

Țineți apăsată tasta Control (ctrl) și apăsați tasta „O” pentru a salva fișierul, apoi țineți apăsată tasta Control (ctrl) și apăsați tasta „X” pentru a ieși din nano. Pentru a aplica aceste modificări serverului web Apache, utilizați „sudo systemctl restart apache2” comandă. Acum ar trebui să fi activat HTTPS folosind un certificat autosemnat!

Data viitoare când vizitați site-ul dvs. tastând numele de domeniu complet calificat sau adresa IP a serverului, ar trebui să vedeți un avertisment care vă informează că autoritatea de certificare a site-ului nu este validă. Continuați să treceți peste această eroare (metoda va varia în funcție de browserul dvs. web) și vizualizați site-ul. Browserul web s-a conectat automat folosind HTTPS și va trimite date folosind criptarea TLS.

Tablou de bord Nextcloud

HTTPS cu un certificat de încredere

Pentru a utiliza un certificat de încredere pentru Nextcloud, trebuie mai întâi să dețineți un domeniu sau să aveți un certificat semnat de la un furnizor de nume de gazdă. Dacă anterior ați folosit un certificat autosemnat și ați urmat pașii din secțiunea anterioară pentru a activa HTTPS, eliminați porțiunea de text adăugată în partea de jos a fișierului și executați comenzile „sudo a2dismod ssl” și „sudo systemctl restart apache2” . Nu uitați să utilizați control + „O” și control + „X” pentru a salva și a ieși din nano când ați terminat.

Configurare HTTPS pentru proprietarii de domenii (prin Certbot)

Acum, că fișierul gazdă virtuală a revenit la o configurație HTTP standard, putem începe pregătirile pentru utilizarea unui certificat de încredere de la o autoritate de certificare. Dacă dețineți un domeniu, urmați acești pași pentru a obține și implementa un certificat. Dacă nu, treceți la secțiunea următoare, care va detalia utilizarea unui certificat achiziționat de la un furnizor de nume de gazdă. Pentru a obține un certificat utilizat cu propriul domeniu, vom utiliza Certbot de la Let's Encrypt, o organizație non-profit care oferă certificate gratuite pentru utilizare pe serverele web.

Pentru a descărca Certbot, instalați și actualizați mai întâi Snap folosind „sudo snap install core && sudo snap refresh core” . Apoi, tastați „sudo snap install –classic certbot” (două cratime la rând înainte de „classic”) pentru a instala pachetul.

Rulați comanda „sudo certbot –apache” (din nou, două cratime înainte de „apache”) pentru a lansa certbot și urmați toate instrucțiunile pentru a crea și descărca certificatul web.

Procesul de creare a certificatului va necesita informații precum o adresă de e-mail utilizată pentru a contacta proprietarul domeniului și vi se va solicita să acceptați termenii și condițiile impuse de Let's Encrypt. Introduceți sau selectați numele de domeniu pentru care obțineți un certificat atunci când vi se solicită acest lucru și finalizați procesul interactiv. Dacă întâmpinați erori în timp ce utilizați Certbot, este posibil să fie nevoie să activați redirecționarea porturilor pe router pentru porturile 80 și 443 către adresa IP privată a serverului Nextcloud sau să configurați înregistrările DNS ale domeniului dvs. pentru a indica adresa IP publică a routerului. Procesul de redirecționare a porturilor și configurarea înregistrărilor DNS depind în mare măsură de router, registratorul de domeniu și furnizorul de servicii de internet și, prin urmare, nu este acoperit de acest ghid.

După ce Certbot a terminat, redeschideți fișierul gazdă virtuală tastând „sudo nano /etc/apache2/sites-available/nextcloud.conf” și apăsând Enter. Adăugați următoarele linii chiar deasupra antetului </VirtualHost> pentru a activa rescrierea URL-urilor HTTP ca HTTPS și înlocuiți „nextcloud-demo.moose.local” cu numele de domeniu complet calificat al serverului dvs.:

RewriteEngine pe RewriteCond %{SERVER_NAME} = nextcloud-demo.moose.local RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

Fișierul gazdă virtuală completat ar trebui să arate astfel după finalizare:

Acum ar trebui să aveți configurat un certificat de încredere de la o autoritate de certificare validă și criptare HTTPS gata pentru web!

Configurarea HTTPS utilizând un certificat de la un furnizor de nume de gazdă

Pașii pentru utilizarea unui certificat de la un furnizor de nume de gazdă pentru a activa HTTPS pe serverul Nextcloud sunt identici cu cei tratați în secțiunea „HTTPS cu un certificat autosemnat” din acest articol, singura excepție fiind că trebuie să înlocuiți calea către cheile autosemnate cu o cale către cheile de la furnizorul de nume de gazdă. Comenzi precum „wget” și „mv” poate fi folosit pentru a descărca și muta fișierele certificatului în directoarele corespunzătoare (/etc/ssl/certs pentru fișierul certificatului și /etc/ssl/private pentru fișierul cheii). Asigurați-vă că activați modulul Apache SSL cu „sudo a2enmod ssl” comandă și utilizare „sudo systemctl restart apache2” când ați terminat, pentru a aplica modificările. Fișierul gazdă virtuală completat pentru utilizarea fișierelor de certificat ar trebui să arate similar cu acesta (cu câmpurile SSLCertificateFile și SSLCertificateKeyFile înlocuite cu căi către fișierele personalizate de certificat și cheie):

Instalarea aplicației Antivirus pentru fișiere

Chiar dacă Nextcloud poate transmite date în siguranță prin HTTPS, asta nu înseamnă că tot ceea ce încărcați dumneavoastră sau utilizatorii dumneavoastră este în siguranță. Fie că sunt intenționate sau neintenționate, infecțiile cu programe malware de pe serverele web pot provoca daune masive și se pot răspândi rapid la alte sisteme dacă nu sunt tratate rapid. Pentru un alt nivel de protecție împotriva actorilor rău intenționați de pe internet, un program antivirus este esențial pentru serverele accesibile de pe internet.

ClamAV este o suită antivirus gratuită și open-source care poate fi integrată cu Nextcloud pentru a scana fișierele încărcate de utilizatori pentru programe malware. Magazinul de aplicații Nextcloud include o aplicație numită „Antivirus pentru fișiere” care folosește ClamAV ca backend pentru a scana fișierele utilizatorilor și a proteja serverul. Această aplicație poate fi descărcată navigând la fila „Aplicații”, făcând clic pe fotografia de profil a contului dvs. de administrator și selectând categoria „Securitate”.

Faceți clic pe butonul „Descărcați și activați” din secțiunea „Antivirus pentru fișiere” pentru a-l instala pe instanța Nextcloud. Apoi, trebuie să instalăm ClamAV și să activăm scanerul și sistemul de actualizare a semnăturilor de malware. Folosiți „sudo apt install clamav clamav-daemon” pentru a obține toate pachetele ClamAV necesare.

După ce pachetele au fost instalate, rulați „sudo dpkg-reconfigure clamav-daemon” în consolă pentru a afișa un meniu de configurare interactiv. Vom folosi acest lucru pentru a personaliza comportamentul de scanare al configurației noastre ClamAV.Introduceți următoarele răspunsuri la întrebările enumerate mai jos:

  • Gestionează automat fișierul de configurare? Da
  • Tipul soclului: UNIX
  • Clamd pentru socketul local (UNIX) va asculta: /var/run/clamav/clamd.ctl
  • Proprietarul grupului de socket-uri locale clamd (UNIX): ClamAV
  • Mod de creare pentru socketul local clamd (UNIX): 666
  • Gestionați cu grijă fișierele socket UNIX rămase? Da
  • Doriți să activați scanarea e-mailurilor? Nu
  • Doriți să activați scanarea arhivei? Nu
  • Adâncimea maximă permisă a directorului: 15
  • Doriți ca daemonul să urmeze legăturile simbolice obișnuite ale fișierelor? Da
  • Timp de așteptare pentru oprirea scanerului de fire de execuție (secunde): 180
  • Numărul de fire de execuție pentru daemon: 2
    • Scădeți 2 din numărul de nuclee/vCPU-uri pe care le are serverul Nextcloud și introduceți numărul respectiv în acest câmp.
  • Numărul de conexiuni în așteptare permise: 15
  • Vrei să folosești jurnalul de sistem? Nu
  • Fișier jurnal pentru clamav-daemon (introduceți niciunul pentru dezactivare): /var/log/clamav.log
  • Doriți să înregistrați informații despre timp pentru fiecare mesaj? Nu
    • Dacă un număr mare de scrieri pe disc nu este dăunător pentru sistemul dvs., alegeți în schimb „Da”.
  • Doriți să activați rotația jurnalelor? Da
  • Întârziere în secunde între autoverificările daemonului: 3600
  • Utilizator pentru a rula clamav-daemon ca: ClamAV
  • Grupuri pentru clamav-daemon (separate prin spații): www-date
  • Doriți să încărcați bytecode din baza de date? Da
  • Nivel de securitate aplicat bytecode-ului: Încredere Semnată
  • Timp de expirare pentru execuția bytecode-ului în milisecunde: 60000

Uf! A fost mult de configurat! Din fericire pentru noi, trebuie să facem asta o singură dată. Folosiți „systemctl enable clamav-freshclam” și „systemctl enable clamav-daemon” pentru a permite ClamAV să pornească după ce sistemul a pornit și putem începe configurarea aplicației Nextcloud „Antivirus pentru fișiere”.

Folosind un browser web pe un alt computer conectat la aceeași rețea și subrețea ca serverul Nextcloud, conectați-vă la Nextcloud și faceți clic pe imaginea de profil a utilizatorului dvs. de administrator. Faceți clic pe opțiunea „Setări de administrare” din meniul derulant și selectați secțiunea „Securitate” după ce pagina s-a încărcat complet.

Derulați în jos până la secțiunea „Antivirus pentru fișiere” și schimbați câmpul „Mod” în „ClamAV Daemon (Socket)”. Schimbați câmpul „Când fișierele infectate sunt găsite în timpul unei scanări în fundal” în „Ștergeți fișierul” și apăsați butonul „Salvare”. ClamAV va scana periodic fișierele încărcate pe Nextcloud pentru malware și va șterge fișierele care corespund semnăturilor de malware cunoscute.

Integrări Nextcloud și îmbunătățiri generale

Acum, că am construit un server cloud funcțional și sigur pentru stocarea datelor, putem extinde capacitățile acestuia și adăuga noi funcții. Să începem prin a ne ocupa de câteva lucruri ușor de rezolvat: conectarea Nextcloud la un server de e-mail și setarea regiunii telefonice implicite.

Conectarea unui server de e-mail

Pentru a trimite notificări prin e-mail, alerte de activitate și linkuri de resetare a parolei (pentru utilizatorii care nu utilizează LDAP), Nextcloud trebuie să fie conectat la un server de e-mail funcțional. Dacă vă găzduiți singur serverul de e-mail, configurarea este la fel de simplă ca introducerea adresei corecte a serverului și a informațiilor de autentificare. De asemenea, puteți utiliza un server de e-mail terț cu o adresă de e-mail pe care o aveți deja, cum ar fi serverul SMTP al Gmail.

Navigați la numele de domeniu complet calificat sau adresa IP a serverului Nextcloud utilizând un browser web pe un computer din aceeași rețea și subrețea ca serverul. Faceți clic pe fotografia de profil a utilizatorului administrator și selectați „Setări de administrare” din meniul derulant.

Pe pagina „Setări de administrare”, selectați secțiunea „Setări de bază” din partea stângă și derulați în jos până la modulul „Server de e-mail”.

Din această pagină, puteți configura setările de criptare, adresare și autentificare ale serverului de e-mail. Puteți alege câteva metode de criptare și autentificare care să se potrivească nevoilor dvs. de securitate sau compatibilitate.

Pentru a utiliza serverul SMTP Gmail cu un cont Google pe care îl dețineți deja, navigați mai întâi la https://myaccount.google.com/apppasswords și creați o parolă pentru aplicație urmând instrucțiunile de pe site. Dați parolei aplicației un nume asociat cu serverul Nextcloud și stocați parola într-o locație sigură. Rețineți că parola este afișată cu spații la fiecare patru caractere, dar nu conține de fapt aceste spații. Parolele aplicațiilor sunt șiruri de șaisprezece litere continue.

Completați următoarele câmpuri pentru serverul de e-mail, așa cum este listat mai jos:

  • Mod de trimitere: SMTP
  • criptare: Niciunul/STARTTLS
  • Adresă de la: johndoe @ storagereview.com
    • Introduceți aici adresa contului dvs. Gmail.
  • Adresa serverului: smtp.gmail.com: 587
  • Autentificare: Da (Bifați căsuța)
  • datele de conectare: johndoe@storagereview.com parolă aplicație aici
    • Introduceți aici adresa contului dvs. Gmail și parola aplicației pe care ați creat-o.

Când ați terminat, faceți clic pe butonul „Salvare” și utilizați butonul „Trimitere e-mail” pentru a verifica dacă configurația este validă.

Dacă nu ați setat deja o adresă de e-mail pentru contul de utilizator administrator pe care îl utilizați, veți primi un avertisment care vi se va solicita să faceți acest lucru. Această problemă poate fi rezolvată cu ușurință făcând clic pe fotografia de profil a utilizatorului administrator, selectând „Setări personale” din meniul derulant și introducând adresa de e-mail în câmpul „E-mail”. După ce ați terminat, reveniți la modulul „Server de e-mail” din secțiunea „Setări de bază” din pagina „Setări de administrare” și reintroduceți configurația, dacă este necesar.

Setarea regiunii telefonice implicite

O modificare foarte rapidă, dar destul de utilă, pe care o putem face pentru ca Nextcloud să gestioneze mai bine numerele de telefon, este setarea unei regiuni telefonice implicite pentru instanță. Când utilizatorii își completează profilul în setările „Informații personale” din secțiunea „Setări personale”, li se cere să includă opțional un număr de telefon în scop de contact. Fără o regiune telefonică implicită, Nextcloud obligă utilizatorii să introducă un prefix cu acest număr. Setarea regiunii telefonice implicite permite utilizatorilor să excludă acest prefix.

În consola serverului Nextcloud, utilizați „sudo nano /var/www/html/nextcloud/config/config.php” pentru a edita fișierul de configurare PHP al site-ului Nextcloud.

Adăugați următoarea linie în fișierul de configurare PHP, păstrând consecvența cu modelul de spațiere creat de liniile anterioare și inserând înainte de paranteza finală „);”:

'regiunea_telefonului_implicit' => 'SUA',

Din motive de securitate, nu ar trebui să arătați nimănui conținutul fișierului „config.php” al instanței Nextcloud . Acesta conține informații sensibile, cum ar fi parole și secrete de sistem, pe care numai dumneavoastră sau administratorul(ii) de sistem ar trebui să le cunoască. După ce ați terminat de adăugat linia implicită pentru regiunea telefonică în fișierul de configurare, salvați noul conținut ținând apăsată tasta Control (ctrl) și atingând „O”, apoi ținând apăsată tasta Control și atingând „X” pentru a ieși. Pentru a aplica modificările, introduceți „sudo systemctl restart apache2” în consolă și apăsați Enter.

Configurarea unei ferestre de întreținere

O altă mică îmbunătățire pe care o putem aduce fișierului de configurare PHP al site-ului Nextcloud este setarea unei ferestre de mentenanță pentru ca serverul să execute sarcini mai intensive și, eventual, cu impact asupra utilizatorului. Fereastra este setată folosind ora UTC, așa că va trebui să convertiți ora de începere dorită a ferestrei de mentenanță într-o oră UTC echivalentă (exprimată ca număr întreg între 1 și 24). Fereastra de mentenanță durează patru ore, așadar o fereastră de mentenanță care începe la 3:00 AM UTC se va încheia la 7:00 AM UTC.

Folosește „sudo nano /var/www/html/nextcloud/config/config.php” pentru a începe din nou editarea fișierului de configurare PHP și adaugă această linie înainte de paranteza finală „);”, urmând convențiile de spațiere utilizate de liniile deja existente în fișier:

'maintenance_window_start' => 1,
    • Nu uitați să înlocuiți „1” cu ora de începere dorită a ferestrei de întreținere, tradusă în ora UTC.

După salvarea fișierului utilizând control (ctrl) + „O” și control (ctrl) + „X”, aplicați fereastra de întreținere utilizând „sudo systemctl restart apache2”.

Integrare server LDAP/Active Directory

Dacă intenționați să oferiți acces mai multor utilizatori la instanța Nextcloud, una dintre cele mai puternice funcții pe care le puteți adăuga la Nextcloud este capacitatea de a vă conecta și autentifica un server LDAP sau Active Directory. Multe organizații și utilizatori amatori utilizează Active Directory sau LDAP pentru a organiza și controla accesul utilizatorilor la resursele de rețea într-un mod centralizat, iar Nextcloud nu face excepție. Cu aplicația „backend LDAP pentru utilizatori și grupuri”, utilizatorii din domeniul Active Directory sau serverul LDAP pot fi importați în serverul Nextcloud și se pot conecta folosind numele de utilizator sau adresa de e-mail și parola. Această funcție devine și mai puternică atunci când este combinată cu stocarea externă (cum ar fi o partajare SMB pe un NAS) care oferă foldere „acasă” individuale pentru utilizatorii cu permisiuni specifice acelui utilizator.

Pentru a instala aplicația „LDAP user and group backend”, faceți clic mai întâi pe fotografia de profil atunci când sunteți conectat la pagina web Nextcloud cu contul dvs. de utilizator de administrator. Selectați „Aplicații” din meniul derulant care apare și faceți clic pe modulul „Aplicații recomandate”. Derulați în jos până găsiți aplicația „LDAP user and group backend” și faceți clic pe butonul „Activare”.

Acum că aplicația a fost activată, trebuie să conectăm Nextcloud la un server LDAP. Asigurați-vă că aveți un cont pregătit pentru a autoriza această conexiune. De obicei, se recomandă un cont de serviciu creat special pentru această conexiune, dar se poate utiliza orice cont Active Directory sau LDAP cu capacitatea de a căuta în director. Rețineți că, deși acest exemplu va utiliza un cont de „Administrator” încorporat pe un domeniu Active Directory, aceasta nu este o practică sigură. Dacă serverul Nextcloud este compromis și datele de autentificare ale contului de „Administrator” sunt furate, un atacator va avea permisiuni complete pentru a citi, modifica și chiar șterge orice obiect din domeniu.

Navigați din nou la pagina „Setări de administrare” făcând clic pe fotografia de profil a utilizatorului dvs. de administrator și selectând-o din meniul derulant. Faceți clic pe modulul „Integrare LDAP/AD” pentru a începe.

Pe această pagină, începeți să completați informațiile necesare pentru serverul dvs. LDAP/Active Directory:

  • Realizator: 192.168.1.102
    • Înlocuiți cu adresa IP/numele de gazdă al serverului LDAP sau al controlerului de domeniu Active Directory.
  • Port: 389
    • Dacă utilizați Active Directory, utilizați portul 389. Dacă utilizați un alt tip de server LDAP sau ați personalizat portul pe care serverul AD îl ascultă pentru solicitările LDAP, introduceți numărul specific aici.
  • Nume utilizator: CN=Administrator, CN=Utilizatori, DC=moose, DC=local
    • Introduceți numele distinctiv pentru contul utilizat pentru a conecta Nextcloud la serverul dvs. LDAP/AD. Dacă utilizați Active Directory, acesta poate fi găsit cu ușurință rulând această comandă utilizând o fereastră CMD, cu „Administrator” înlocuit cu numele de utilizator al contului pe care îl utilizați pentru conexiune:
      • nume utilizator dsquery „Administrator”
    • Faceți clic pe butonul „Salvați acreditările” după ce completați acest câmp.
  • Un DN de bază pe linie: DC = elan, DC = local
    • Faceți clic pe butonul „Detectare DN de bază” după ce ați salvat acreditările anterioare pentru a determina automat DN-ul de bază pentru serverul LDAP/AD.
    • Opțional, faceți clic pe butonul „Test Base DN” pentru a verifica dacă configurația de până acum este validă.

După ce ați completat prima pagină a modulului „Integrare LDAP/AD”, apăsați butonul „Continuare” și acordați-vă un moment vizualizării și studierii secțiunii „Utilizatori”.

Deși aspectul paginii poate părea confuz la început, funcția sa este de a filtra utilizatorii disponibili pentru conectare pe serverul Nextcloud după atribute precum clasele de obiecte și grupurile. Recomandăm crearea unui grup unic pentru utilizatorii care se vor conecta la serverul Nextcloud, astfel încât filtrarea să se poată face în funcție de apartenența la acel grup. Selectați clasele de obiecte și/sau grupurile dorite cărora doriți să le acordați acces și faceți clic pe butonul „>” pentru a adăuga grupul la filtru. Acest exemplu utilizează un grup numit „familie”. Faceți clic pe butonul „Verificați setările și numărați utilizatorii” pentru a afișa un mesaj care arată câți utilizatori corespund descrierii introduse. Dacă numărul pare incorect, verificați încă o dată filtrele pentru clasa de obiecte și grupuri.

După ce ați obținut numărul corect de utilizatori, apăsați butonul „Continuare” pentru a trece la secțiunea „Atribute de conectare”. Bifați căsuțele pentru câmpurile „Nume de utilizator LDAP/AD:” și „Adresă de e-mail LDAP/AD” și verificați dacă atributul de conectare este corect introducând un nume de utilizator și o adresă de e-mail (dacă doriți) în caseta „Test Loginname” și făcând clic pe „Verificare setări”.

Dacă numele de utilizator/adresa de e-mail pot fi utilizate pentru autentificare, va apărea o notificare care afirmă „Utilizator găsit și setări verificate”. Apăsați butonul „Continuare” încă o dată pentru a trece la pagina finală, „Grupuri”. Similar paginii „Utilizatori”, secțiunea „Grupuri” restrânge cine se poate conecta la serverul Nextcloud folosind criterii de clasă de obiecte și grup. Faceți aceleași selecții pe care le-ați făcut pe pagina „Utilizatori” sau reduceți numărul de utilizatori care se pot conecta introducând criterii mai specifice aici, în câmpurile „Căutați clase de obiecte” și „Căutați grupuri”. Acest exemplu selectează grupul „familie” din lista de pe pagină și utilizează butonul „>” pentru a limita accesul doar la acel grup. În cele din urmă, faceți clic pe „Verificați setările și numărați grupurile” pentru a afișa numărul de grupuri valide pentru autentificare.

Acum ați acordat posibilitatea de a vă conecta la serverul Nextcloud pentru grupurile LDAP sau Active Directory selectate în pașii anteriori. Faceți clic pe imaginea de profil a utilizatorului dvs. de administrator și selectați „Deconectare”. Când vi se solicită un nume de utilizator și o parolă pentru a vă conecta din nou, testați capacitatea de conectare pentru unul dintre utilizatorii cărora le-ați acordat acces. Dacă utilizatorul nu se poate conecta, accesați din nou secțiunea „Utilizatori” și „Grupuri” de pe această pagină pentru a revizui criteriile și a depana eroarea.

Integrare stocare externă

Un alt avantaj puternic al serverului Nextcloud este capacitatea de a vă conecta și utiliza pool-uri de stocare externe. Plasarea fișierelor utilizatorilor direct pe server poate duce la probleme legate de gestionarea spațiului de stocare al serverului și la necesitatea creșterii constante a capacității pentru a satisface cererea utilizatorilor. Dacă nu sunteți constant vigilent în aplicarea cotelor și eliminarea datelor inutile create de utilizatori, acest lucru poate duce la frustrare și la perioade de nefuncționare neașteptate. Separarea componentelor serverului web și de stocare într-o configurație Nextcloud este foarte recomandată și critică atunci când se dorește crearea unui sistem de stocare în cloud scalabil și a unei experiențe plăcute pentru utilizator.

Aplicația „Suport pentru stocare externă” pentru Nextcloud vă permite să montați foldere din următoarele tipuri de stocare:

  • Amazon S3
  • FTP
  • Nextcloud
    • Da, așa este, te poți conecta și utiliza spațiul de stocare disponibil pe alte servere Nextcloud!
  • OpenStack Object Storage
  • SFTP
  • SMB / CIFS
  • WebDAV

După cum puteți vedea, există mai multe opțiuni diferite pentru conectarea Nextcloud la matrice de stocare externe, cloud-uri și alte sisteme. De exemplu, vom conecta o instanță Nextcloud la o partajare SMB care controlează accesul la diferite foldere folosind permisiunile acordate utilizatorilor importați din domeniul Active Directory la care ne-am conectat anterior.

Pentru a activa aplicația „Suport pentru stocare externă”, faceți clic pe fotografia de profil a utilizatorului de administrator atunci când sunteți conectat la site și selectați „Aplicații”. Navigați din nou la „Aplicații recomandate” și găsiți modulul etichetat „Suport pentru stocare externă”. Faceți clic pe butonul „Activare” pentru a face aplicația disponibilă.

După ce aplicația a fost activată, veți putea adăuga spațiu de stocare extern accesând „Setări de administrare” și făcând clic pe modulul „Stocare externă”. Din această pagină, vă puteți conecta la spațiul de stocare extern selectând tipul de stocare din meniul derulant și completând detaliile de configurare.

Pentru a adăuga o partajare SMB, selectați opțiunea „SMB/CIFS” din listă și completați detaliile de configurare după cum urmează:

  • Autentificare: Introdus manual, stocat în baza de date
    • Pentru ca utilizatorii să introducă manual propriul nume de utilizator și parolă pentru autentificare, alegeți această opțiune. Pentru a utiliza un set de acreditări statice pentru a oferi utilizatorilor acces la o partajare SMB, alegeți „Login and password” (Autentificare și parolă). În caz contrar, selectați opțiunea care corespunde cel mai bine nevoilor dvs. din meniul derulant.
  • Numele folderului: .
    • Acest nume poate fi setat la orice doriți să utilizați pentru a descrie spațiul de stocare pe care îl montați. Exemple: „SMB” sau numele partajării pe care o montați.
  • Realizator: 192.168.1.140
    • Înlocuiți această valoare cu adresa IP sau FQDN-ul serverului care găzduiește partajarea SMB la care doriți să vă conectați.
  • Share: .
    • Înlocuiți această valoare cu numele partajării pe care doriți să o montați și care este prezentă pe server, introdusă în câmpul „Gazdă”.
  • Subfolder la distanță: \
    • Pentru a monta folderul de nivel superior al partajării (folderul partajat în sine), utilizați „\”. În caz contrar, introduceți calea către un subfolder din interiorul partajării dorite în acest mod:
      • \subfolder\un_alt_subfolder\încă_un_alt_subfolder
  • Domeniu: ELAN
    • Înlocuiți această valoare cu numele NetBIOS al unui domeniu dacă accesul la partajare este controlat prin LDAP sau Active Directory. Acest câmp nu este obligatoriu dacă partajarea nu este controlată de un server LDAP/AD.
  • Afișează fișierele ascunse: Verifica
    • Bifați această casetă dacă utilizatorii ar trebui să poată vizualiza fișierele ascunse (cele care încep cu caracterul „.”).
  • Sistem de fișiere sensibil la majuscule/minuscule: Verifica
  • Verificați accesul ACL la listarea fișierelor: Verifica
    • Această opțiune este extrem de importantă pentru ca controlul accesului să funcționeze corect. În caz contrar, dacă doi utilizatori au aceeași partajare montată și au foldere configurate astfel încât celălalt să nu aibă acces, vor putea în continuare să vizualizeze fișierele celuilalt.
  • Toți oamenii: Verifica
    • Bifați această opțiune dacă doriți ca toți utilizatorii Nextcloud să poată introduce acreditări și să se conecteze la partajarea SMB, altfel alegeți un grup local pe instanța Nextcloud pentru a face partajarea disponibilă utilizând câmpul de mai jos.
      • Din păcate, în momentul scrierii acestui articol, nu este posibil să selectați un grup LDAP/Active Directory folosind câmpul de sub această opțiune atunci când aceasta nu este selectată.

După ce ați terminat de introdus detaliile de configurare a partajării SMB specifice configurației dvs., faceți clic pe butonul bifat pentru a le salva și a le face disponibile utilizatorilor.

Dacă doriți ca utilizatorii să își poată monta propriul spațiu de stocare extern, faceți clic pe bifa de sub secțiunea de montare a spațiului de stocare din pagină. Dacă alegeți să activați această opțiune, puteți restricționa suplimentar tipurile de spațiu de stocare disponibile pentru auto-montare.

Pentru a finaliza configurarea partajării SMB, utilizatorii trebuie să navigheze la modulul „Stocare externă” din „Setări personale” după ce fac clic pe fotografia de profil și o selectează din meniul derulant.

Pe această pagină, utilizatorii își pot introduce numele de utilizator și parola și pot face clic pe butonul bifat pentru a debloca partajarea SMB pentru stocarea și regăsirea fișierelor.

După ce utilizatorul și-a introdus acreditările, partajarea poate fi accesată făcând clic pe pictograma folderului din partea de sus a meniului site-ului Nextcloud și răsfoind lista de foldere și fișiere ale utilizatorului.

Transformarea Nextcloud într-un server web real

Acum, instanța ta Nextcloud, bogată în funcții, este aproape gata să devină un server web puternic și disponibil publicului! Înainte de a deschide porțile, trebuie să ne asigurăm că serverul poate gestiona solicitări intensive de la mai mulți utilizatori care accesează fișiere. Am îmbunătățit deja performanța prin efectuarea mai multor modificări cheie la configurația PHP a sistemului, iar adăugarea suportului pentru memorarea în cache a memoriei poate amplifica acest lucru.

Configurarea memorării în cache – APCu

ACPu este o memorie cache PHP care ajută la accelerarea timpilor de acces a obiectelor utilizate frecvent. O vom folosi ca primă memorie cache pentru instanța noastră Nextcloud. Înainte de a activa memoria cache APCu, trebuie să facem câteva modificări în fișierul „php.ini” al sistemului nostru.

Folosește „sudo nano /etc/php/8.3/apache2/php.ini” pentru a începe editarea fișierului. Derulează până la sfârșitul fișierului ținând apăsată tasta săgeată în jos pentru o perioadă lungă de timp. Într-o linie nouă în partea de jos a fișierului, adaugă următoarele linii:

apc.enable_cli=1
apc.shm_size=128M

Adăugarea acestor două linii va permite sistemului să utilizeze APCu ca memorie cache și să seteze dimensiunea memoriei cache la 128 de megaocteți în loc de valoarea implicită de 32. După terminare, apăsați control (ctrl) + „O” și control (ctrl) + „X” pentru a salva fișierul și a ieși din nano.

Pentru a finaliza activarea memoriei cache APCu, folosiți „sudo nano /etc/php/8.3/mods-available/apcu.ini” și adăugați „apc.enable_cli=1” în partea de jos a fișierului de configurare, așa cum am făcut pentru fișierul „php.ini” . Folosiți din nou control (ctrl) + „O” și control (ctrl) + „X” pentru a salva și a ieși din fișierul de configurare.

Am activat PHP pentru a utiliza APCu, dar acum trebuie să instruim Nextcloud să îl utilizeze.

Tastați „sudo nano /var/www/html/nextcloud/config/config.php” în consolă și apăsați Enter. În fișierul de configurare PHP Nextcloud, vom adăuga o linie pentru ca Nextcloud să utilizeze APCu pentru memorarea în cache a memoriei locale:

'memcache.local' => '\OC\Memcache\APCu',

Puneți această linie înaintea parantezei finale „);”, urmând convențiile de spațiere din liniile anterioare ale fișierului de configurare. Încă o dată, țineți apăsată tasta Control (ctrl) și apăsați „O”, apoi Control (ctrl) și „X” pentru a salva și a ieși.

După ce fișierul de configurare PHP a fost salvat, utilizați „sudo systemctl restart apache2” pentru a reporni serverul web Apache și a aplica modificările.

Dacă ați urmat toți pașii pentru a configura corect APCu pentru cache-ul memoriei locale, performanța serverului Nextcloud ar trebui să crească substanțial! Să mergem cu un pas mai departe și să configurăm Redis pentru mai multe avantaje în ceea ce privește cache-ul memoriei.

Configurarea memorării în cache – Redis

Poate vă întrebați: „De ce are nevoie serverul meu web de două cache-uri de memorie diferite? Nu este suficientă una?” Răspunsul la această întrebare este de fapt destul de simplu. La fel cum fiecare instrument dintr-un magazin are propria sa utilizare, la fel și APCu și Redis. APCu este o memorie cache locală excelentă și o depășește semnificativ pe cea din urmă în această categorie, în timp ce Redis strălucește în cache-ul distribuit și blocarea fișierelor tranzacționale.

Pentru a începe să folosim Redis, vom edita fișierul de configurare Redis al sistemului introducând
„sudo nano /etc/redis/redis.conf” în consolă și apăsând Enter. În mod implicit, serviciul Redis ascultă un port TCP pentru cache și blocarea fișierelor de tranzacții, dar pentru o configurație cu un singur server, un socket Unix este metoda preferată de comunicare. Utilizarea unui port TCP ar avea sens dacă furnizăm serviciul Redis printr-o rețea, dar un socket Unix este mult mai eficient pentru comunicațiile dintre procesele serverului web Redis și Nextcloud.

După ce ați introdus comanda nano, țineți apăsată tasta Control (ctrl) și apăsați „W” pentru a activa funcția de căutare a comenzii nano. Tastați „unixsocket” în bara de căutare și apăsați Enter, iar nano va accesa secțiunea de configurare „Unix socket” a fișierului. În secțiunea „Unix socket” , eliminați caracterele „#” și spațiile goale din fața „unixsocket /run/redis/redis-server.sock” și „unixsocketperm 700” . Schimbați „700” în „770” și derulați în sus până găsiți linia care spune „port 6379” . Vom schimba această valoare în „0” , spunând practic serverului Redis să nu asculte conexiunile pe un port TCP. Vizualizați imaginile de mai jos pentru a valida fișierul de configurare înainte de a utiliza Control (ctrl) + „O” și Control (ctrl) + „X” pentru a salva și a ieși din fișier.

Cu aceste modificări aduse fișierului de configurare a sistemului Redis, putem acum specifica că dorim să folosim Redis pentru cache-ul distribuit și blocarea fișierelor tranzacționale în fișierul de configurare PHP Nextcloud. Deschideți acest fișier în nano folosind „sudo nano /var/www/html/nextcloud/config/config.php”.

În partea de jos a fișierului de configurare PHP Nextcloud, înainte de paranteza finală „);”, adăugați aceste rânduri, acordând o atenție deosebită spațierii și virgulelor:

'memcache.distributed' => '\OC\Memcache\Redis', 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => [ 'host' => '/run/redis/redis-server.sock', 'port' => 0, ],

Dacă ați introdus corect liniile, secțiunea de memorare în memoria cache a fișierului de configurare PHP ar trebui să arate ca acest fragment:

Înainte de a reporni serverul web Apache și Redis pentru a aplica modificările, utilizați „sudo usermod -a -G redis www-data” pentru a adăuga „www-date” utilizator la „redis” grup, acordând serverului web acces la socketul Redis Unix. În cele din urmă, tastați „sudo systemctl restart apache2 && sudo systemctl restart redis-server” în consolă și apăsați Enter pentru a aplica modificările și a reporni serviciile afectate.

Expunerea Nextcloud la internet

Suntem aproape de finalizare! Ultimul pas în implementarea serverului Nextcloud este să îl faceți accesibil la internetul public. Acest pas necesită configurarea redirecționării porturilor pe router și ar putea implica puțină cercetare din partea dvs. Utilizați catalogul de ghiduri de redirecționare a porturilor de la https://portforward.com/router.htm pentru a încerca să găsiți producătorul routerului dvs. și citiți soluția. Dacă nu găsiți producătorul routerului în listă sau utilizați un router de întreprindere/de uz casnic, este posibil să fie nevoie să faceți câteva căutări pe web până când găsiți metoda corectă.

Când configurați redirecționarea porturilor, redirecționați porturile 80 și 443 de la adresa IP privată a serverului Nextcloud (care poate fi găsită folosind comanda „hostname -I” ) către adresa IP publică a routerului. Dacă furnizorul dvs. de servicii de internet nu vă oferă o adresă IP publică, trebuie să utilizați un serviciu precum Tunnels de la Cloudflare, care vă permite să creați un tunel securizat între serverul dvs. web și serverele Cloudflare, care redirecționează traficul de la vizitatorii site-ului web înapoi către dvs.

Dacă dețineți un domeniu sau utilizați un nume de gazdă de la un furnizor de nume de gazdă, asigurați-vă că înregistrările DNS sunt setate să indice către adresa IP publică a serverului dvs. Opțional, unii furnizori de servicii oferă posibilitatea de a ascunde complet adresa IP de vizitatorii site-ului web și de a transporta în siguranță aceste date de pe serverele lor înapoi la al dvs.

Întreținerea și actualizarea Nextcloud

Asigurarea că serverul tău Nextcloud are cele mai recente actualizări și corecții de securitate este o parte importantă a menținerii stocării în cloud rapide și sigure. Înainte de a termina, hai să trecem în revistă câteva modalități de a menține serverul ca nou!

Comenzi post-implementare

După implementarea serverului Nextcloud, este posibil să fi observat unele avertismente pe pagina „Prezentare generală” după ce ați făcut clic pe „Setări de administrare” din meniul imaginii de profil. Ocazional, aceste avertismente includ și comenzi care pot fi executate pentru a remedia imediat problema la care se referă avertismentul. De obicei, comenzile trebuie executate ca utilizatorul „www-data” și executate din directorul „/var/www/html/nextcloud” . Tastați „cd /var/www/html/nextcloud” și apăsați Enter pentru a schimba directorul de lucru curent în folderul corespunzător și introduceți „sudo -u www-data” înaintea fiecărei comenzi.

Putem rula câteva dintre aceste comenzi acum pentru a remedia acele avertismente înainte ca acestea să devină probleme:

sudo -u www-data php occ db:add-missing-columns
sudo -u www-data php occ db:add-missing-indexs
sudo -u www-data php occ db:add-missing-primary-keys

Aceste comenzi vor asigura că baza de date este configurată corect și nu lipsește nicio informație critică. Bază de date fericită, viață fericită! Nu-i așa?

Menținerea serverului Ubuntu la zi

Actualizarea regulată a sistemului de operare și a pachetelor software ale serverului este importantă pentru a-l menține sigur și rapid. Găsiți un interval de timp în care utilizarea serverului dvs. este scăzută la fiecare săptămână sau două și executați următoarele comenzi:

sudo apt update && sudo apt upgrade -y
sudo reboot

Aceste comenzi vor actualiza sistemul de operare și pachetele software ale serverului și vor reporni serverul astfel încât modificările să fie aplicate la repornirea acestuia.

Actualizarea Nextcloud

Întrucât Nextcloud nu a fost instalat folosind un manager de pachete, actualizarea pachetelor software ale serverului folosind „apt” nu va trece automat Nextcloud la următoarea versiune. Pentru a începe actualizarea serverului nostru Nextcloud, trebuie să facem clic pe imaginea de profil a utilizatorului de administrator din colțul din dreapta sus al paginii web și să selectăm „Setări de administrare” din meniul derulant. Pe pagina „Prezentare generală”, putem vedea că este disponibilă o actualizare - în acest caz, versiunea 30.0.1. Dacă o opțiune de actualizare nu apare pe pagina „Prezentare generală”, nu vă faceți griji, aveți deja cea mai recentă versiune! Reveniți aici din când în când pentru a vedea când devine disponibilă o nouă versiune.

După ce ați stabilit că este disponibilă o actualizare și ați ajuns la o fereastră de actualizare potrivită, reveniți la consola serverului și introduceți această comandă:

sudo chown -R www-data: www-data / var / www

Această comandă va seta recursiv utilizatorul „www-data” ca proprietar al directorului „www” și al tuturor subdirectoarelor și fișierelor, asigurându-se că procesul de actualizare poate accesa și modifica orice fișier de care are nevoie.

După ce comanda a fost executată, reveniți la pagina „Prezentare generală” din meniul „Setări de administrare” și faceți clic pe butonul „Deschideți actualizatorul”. Aceasta vă va duce la meniul „Updater”.

De aici, puteți face clic pe butonul „Începe actualizarea” pentru a începe procesul de verificare și descărcare a actualizării Nextcloud. Dacă totul funcționează corect, ar trebui să vedeți bife verzi lângă fiecare pas înainte de „Continuați cu actualizatorul web”.

Notă: Dacă procesul de actualizare eșuează la pasul „Descărcare”, încercați din nou descărcarea până când funcționează. Este posibil să fie nevoie de mai multe încercări.

După ce toate bifările verzi au apărut în meniul „Updater”, faceți clic pe butonul etichetat „Dezactivați modul de întreținere și continuați în actualizarea web”. Pe ecranul care apare după aceasta, faceți clic pe „Start update” pentru a finaliza procesul de actualizare și a începe aplicarea acestuia.

Alternativ, așa cum sugerează pagina pentru servere mai mari sau mai lente, puteți naviga la directorul „nextcloud” și rula manual actualizarea acolo folosind următoarele comenzi:

cd /var/www/html/nextcloud
sudo -u www-data php occ upgrade

După finalizarea actualizării, veți fi redirecționat către pagina „Tablou de bord” de pe site-ul web al serverului dvs. Nextcloud. Serverul dvs. rulează acum cea mai recentă și mai bună versiune de Nextcloud!

Felicitări! Ai reușit!

Acum ești mândrul proprietar și operator al unui server Nextcloud complet funcțional, securizat și de înaltă performanță. Acum poți invita membri ai familiei sau prieteni să utilizeze serverul tău pentru stocare în cloud, dacă dorești. Reține, Nextcloud este o platformă extrem de modulară, așa că nu te teme să încerci aplicații noi sau să modifici configurația pentru a se potrivi nevoilor tale! Asigură-te că configurezi copii de rezervă regulate ale serverului cât mai curând posibil și urmărește lucrurile pentru a te asigura că totul funcționează corect.

Un tur al configurării Nextcloud a autorului

Uau, ai trecut prin toate astea și totuși vrei să citești mai mult? Consideră-ne impresionați! Iată un scurt tur și câteva imagini ale configurației Nextcloud a autorului, dacă ești în căutare de puțină inspirație:

  • Hardware:
    • Server de virtualizare:
      • Sistem de operare: Mediul de virtualizare Proxmox
      • Șasiu: Supermicro SC216 cu carcasă opțională redundantă pentru unitate de boot spate
      • Procesor: Intel Xeon E5-2683
      • RAM: 4x 32 GB DDR4 2400 MHz ECC RDIMM
      • Placă de bază: Gigabyte MU70-SU0 (LGA 2011-3)
      • HBA: Broadcom SAS 9305-24i
      • Placă de rețea: Adaptor Intel X520-DA2 cu 2 porturi și 10 GbE SFP+
      • GPU: NVIDIA Quadro K1200
      • Unități de boot: 2x SSD-uri SATA Samsung 850 EVO de 120 GB
      • Unități de date: 24 SSD-uri SATA Samsung 860 EVO de 250 GB
    • NAS:
      • Sistem de operare: TrueNAS SCALE
      • Șasiu: HPE ProLiant MicroServer Gen10 Plus
      • Procesor: Intel Xeon E-2224
      • RAM: 2x UDIMM-uri ECC DDR4 de 16 GB la 2666 MHz
      • HBA: Controler HPE Smart Array E208i-p SR Gen10 încorporat
      • Placă de rețea: Adaptor HPE Ethernet 560SFP+ cu 2 porturi și 10 GbE SFP+
      • Unitate de boot: Micron M600 256 GB SATA SSD (conectat prin USB)
      • Unități cache: 2x SSD-uri SATA Samsung 860 EVO de 250 GB (conectate prin USB)
      • Unități de date: 4 HDD-uri WD Red Plus de 4 TB, 5400 RPM
      • Unitate de backup: HDD WD Red Pro 14 TB 7200 RPM (conectat prin USB)
    • Modem:
      • Netgear CM1200
      • DOCSIS 3.1
      • 4 porturi WAN RJ45 1 GbE (compatibil cu agregarea legăturilor pe 2 porturi)
    • router:
      • Sistem de operare: pfSense
      • Carcasă: Dell OptiPlex 7040 SFF
      • CPU: Intel Core i5 6500
      • RAM: 8 GB DDR4
      • Placă de rețea: Adaptor Intel E1G44ET cu 4 porturi și 1 GbE RJ45
      • Unități de boot: 2x SSD-uri SATA Samsung 860 EVO de 250 GB
    • Comutator central:
      • Dell Networking N4032F
      • 24 porturi SFP+ 10 GbE
      • 2 porturi QSFP+ de 40 GbE
      • Port de gestionare 1 GbE
    • Comutator de acces:
      • Dell Networking X1052
      • 48 porturi RJ45 de 1 GbE
      • 4 porturi SFP+ 10 GbE
    • Puncte de acces:
      • Sistem de operare: OpenWRT
      • Linksys EA8300 Max-Stream
      • AC2200
      • MU-MIMO
      • Wi-Fi 5 (802.11ac)
      • 1 port LAN RJ45 de 1 GbE
      • 4 porturi LAN RJ45 de 1 GbE
    • UPS:
      • CyberPower CP1500AVRLCD3
      • 1500VA
      • 900W
  • Mașini virtuale:
    • Mediul de virtualizare Proxmox:
      • 2x controlere de domeniu Windows Server 2022 Datacenter
      • Serverul web Ubuntu Server 24.04.1 Nextcloud
      • Server de jocuri Windows Server 2022
    • SCALA TrueNAS:
      • Țintă de backup Proxmox Backup Server

Andrew își folosește serverul Nextcloud pentru a găzdui servicii de stocare a datelor pentru cei dragi. Folosind o combinație între un domeniu Active Directory cu controlere de domeniu redundante, un NAS pentru a stoca toate datele utilizatorilor și un server de virtualizare, Andrew și-a optimizat configurația pentru a oferi servicii de stocare de înaltă performanță atât acasă, cât și oriunde cu o conexiune la internet.

Coloana vertebrală a configurației sale este Dell Networking N4032F, care oferă conexiuni de 10 gigabit pe secundă între serverul său Proxmox VE și matricea de stocare TrueNAS SCALE. Traficul de date, management și stocare a fost separat în trei VLAN-uri, care oferă securitate suplimentară în cazul unei breșe de securitate. Switch-ul său de acces oferă conexiuni standard de 1 gigabit pe secundă către PC-ul său de gaming, punctele de acces și alte dispozitive diverse. Toate serverele și mașinile virtuale sunt monitorizate de un Raspberry Pi Model 3B+ care rulează Ubuntu Server și o instanță Uptime Kuma. De îndată ce un server/mașină virtuală se defectează, Andrew este notificat prin e-mail, iar în cazul unei pene de curent, serverele sunt oprite automat imediat ce UPS-ul raportează un nivel scăzut de încărcare.

Andrew și-a construit, de asemenea, serverul de virtualizare personalizat folosind un șasiu Supermicro 2U cu 24 de bay-uri și componente obținute de pe eBay și alte surse „dubioase”. Într-un aranjament ZFS RAIDZ2, această matrice de 24 de SSD-uri formată din unități de stocare la nivel de consumator poate oferi un debit de aproximativ 8.2 gigaocteți pe secundă pentru operațiuni de citire și 2.7 gigaocteți pe secundă pentru operațiuni de scriere pe mașini virtuale, așa cum este măsurat aici pe o mașină virtuală Windows Server 2022:

Adevărata vedetă a spectacolului de stocare a datelor este HPE ProLiant MicroServer Gen10 Plus al lui Andrew, care conține patru hard disk-uri WD Red Plus de 4 TB și este conectat aleatoriu prin USB 3.2 Gen2 (10 Gbps) și Gen1 (5 Gbps) la un SSD Micron pentru pornirea TrueNAS, o unitate WD Red Pro de 14 TB pentru stocarea de backup și încă două SSD-uri Samsung 860 EVO pentru caching. Ca să fie clar, Andrew nu recomandă acest lucru, dar îi place să depășească limitele hardware-ului pe care îl deține. Fiabilitatea maximă nu este garantată aici sub nicio formă.

Alte dispozitive notabile includ un PC Dell OptiPlex 7040 SFF reutilizat, care rulează pfSense pentru a oferi servicii de rutare pentru diversele subrețele ale laboratorului său de acasă, și modemul Netgear CM1200, care, în mod surprinzător, acceptă agregarea legăturilor dintr-un anumit motiv. Am menționat că fiecare conexiune de date la server, de 1 sau 10 GBps, este redundantă din cauza erorilor? Acest lucru ar permite sistemului de stocare al lui Andrew să partajeze teoretic date la o rată de 20 Gbps bidirecțional, în anumite condiții, cu mai multe conexiuni care au loc simultan. Dacă ar avea unitățile potrivite pentru a se apropia de această valoare!

Concluzie

Sperăm că ați găsit ceva util în acest ghid de configurare Nextcloud, lung, dar detaliat. A face lucrurile pe calea cea grea are adesea beneficii, iar a ști mai multe despre cum funcționează stocarea în cloud este întotdeauna util. Dacă nu ați făcut-o deja, abonați-vă la newsletter-ul StorageReview pentru a primi mai multe articole despre servere, sisteme de stocare și laboratoare de acasă și urmăriți-ne pe YouTube, TikTok, X (fostul Twitter) sau Instagram!

Referințe/Surse:

Interacționează cu StorageReview

Buletin informativ | YouTube | Podcast iTunes / Spotify | Instagram | Twitter | TikTok | Flux RSS

Andrew Waag

Andrew Waag este administrator de sisteme distribuite la Linde plc, ale cărui interese includ hardware-ul serverelor, sistemele de stocare pentru întreprinderi și echipamentele de rețea. Este mereu în căutare de lucruri noi de făcut în laboratorul său de acasă și experimentează cu tehnologii de virtualizare și stocare.