După cum am descris în ambele mele Cartea Linux în acțiune și Curs Linux in Motion, Nextcloud este o modalitate puternică de a crea un serviciu de partajare și colaborare a fișierelor utilizând numai software open source care rulează pe propria infrastructură sigură. Este DropBox, Skype și Google Docs toate într-o singură, dar fără blocarea furnizorului, securitatea și temerile privind confidențialitatea.

Deși platforma este cu siguranță bine proiectată și lustruită, instalarea inițială poate fi dificilă. Cauti dovezi? Încercați să instalați manual Nextcloud pe un server Ubuntu 18.04 folosind oricare dintre instrucțiunile detaliate disponibile pe internet. Uneori totul merge fără probleme, dar nu întotdeauna. S-ar putea să întâlniți pachete care nu mai sunt acceptate de depozitele oficiale din amonte sau dependențe modificate. Nu da vina pe oamenii care au scris acele ghiduri: dați vina pe ritmul schimbării în depozitele oficiale de software Linux.

Folosind snapd pentru a instala Nextcloud

Există o modalitate mai bună, dar are propria parte întunecată.

Așa cum am scris în acest articol, sistemul de gestionare a pachetelor snapd Canonical a fost conceput pentru a simplifica distribuția sigură și previzibilă a software-ului pe mai multe distribuții și versiuni Linux. Și funcționează. Faceți clicul Nextcloud. Mai degrabă decât să investești 15 minute, o mulțime de tastare a terminalelor – și o soluționare serioasă a problemelor atunci când lucrurile nu merg așa cum ai sperat – pregătirea stivei software de pe serverul tău pentru Nextcloud funcționează cu o singură comandă:

snap install nextcloud

Asta e. Nu chiar. Sistemul snap va crea un server Nextcloud care funcționează pentru dvs., complet cu straturi de backend care rulează instanțe independente MySQL, Apache, Redis și PHP. Încercați-l singur activat cu snap Mașină Linux.

Până acum, bine. Acum puteți configura manual un cont de administrator și puteți atribui o parolă (sperăm că este mai bună decât cea din acest exemplu):

nextcloud.manual-install admin password

Încă un pas. În mod implicit, Nextcloud va accepta solicitările HTTP adresate gazdă locală de pe serverul însuși. Dar, așa cum va fi de obicei cazul, veți configura probabil lucrurile pe un server la distanță sau virtual (cum ar fi o instanță AWS EC2, de exemplu). Așadar, va trebui să îi spuneți Nextcloud să se aștepte la solicitări de la distanță ale browserului adresate adresei IP sau numele domeniului. Așa ar putea arăta. Rețineți cum atribuiți un număr de identificare separat (1 și 2 în acest exemplu) pentru fiecare domeniu.

nextcloud.occ config:system:set trusted_domains 1 
    --value=nextcloud.bootstrap-it.com$ nextcloud.occ  
    config:system:set trusted_domains 2 
    --value=192.168.2.45

Aceste valori vor fi salvate în fișierul config.php, pe care îl puteți citi singur.

cat /var/snap/nextcloud/current/nextcloud/config/config.php

După ce ați făcut acest lucru, ar trebui să puteți naviga la adresa IP (sau numele de domeniu) a serverului Nextcloud și să vă conectați la consola de administrare folosind acreditările de administrator pe care le-ați configurat chiar înainte. Vă voi permite să explorați singură interfața.

snapd face ca administrarea Nextcloud sa fie simpla
UI Nextcloud

Depanare și administrare Nextcloud

Dar am spus că clipul Nextcloud avea partea sa întunecată, nu-i așa? Ei bine, să presupunem că ceva nu merge bine. Să presupunem că, într-o bună zi, utilizatorii tăi sunt împiedicați în mod neașteptat să se conecteze în mod normal la interfața de utilizare Nextcloud. Chiar și încercările de conectare ale utilizatorilor de administratori eșuează. Prima și singura dvs. opțiune în acest moment este SSH în server.

Sunt sigur că aceasta nu va fi prima dvs. experiență de administrare pe un server Linux. Purtați o centură de scule complet aprovizionată și – ca să fiu sincer despre asta – așteptați cu adevărat provocarea.

Dar asteapta! Ce este asta? / etc / directorul nu conține fișiere cu vreo conexiune evidentă la serviciile Apache, Redis și MySQL pe care știți că le rulează și logurile în / var / log / sunt toți tainici misterios. Chiar starea systemctl nu oferă nicio speranță. Atât de mult pentru centura de instrumente Linux complet aprovizionată.

Apoi, la fel ca proverbialul ton de cărămizi, te lovește: ai instalat Nextcloud folosind snapd. Toate vechile reguli nu se aplică. Unde ai de gând să mergi pentru ajutor? Ei bine, dacă îmi pot sugera cu umilință, ați putea începe prin a citi articolul meu Managing Ubuntu Snaps. Aceasta va explica unde snapd ascunde fișierele de configurare importante bazate pe snap din sistemul dvs. de fișiere. De asemenea, vă va prezenta câteva instrumente utile de administrare instantanee.

Cu toate acestea, restul acestui articol se va concentra pe propriile instrumente de linie de comandă ale proiectului Nextcloud – instrumente care vă pot ajuta prin unele magii serioase de administrare.

Ați văzut deja Nextcloud CLI la lucru atunci când ați creat utilizatorul de administrator și ați adăugat unul sau două domenii noi de încredere. Un alt pas important de configurare este adăugarea criptării TLS la serviciul dvs. web. Șansele sunt că, în mod normal, ați folosi Electronic Freedom Frontier instrument certbot pentru a obține un certificat gratuit de la Let’s Encrypt. Dar asta nu va funcționa aici … pentru că snap. În schimb, veți rula propriul instrument Nextcloud pentru solicitarea și instalarea unui certificat Let’s Encrypt:

nextcloud.enable-https lets-encrypt

Dar pentru o prezentare completă a întregii game de operațiuni CLI disponibile, rulați nextcloud.occ. Vi se va afișa o listă lungă de facilități, împreună cu descrierile acestora și câteva îndrumări de sintaxă. Petreceți câteva minute uitându-vă la ceea ce comanda afișată pe computerul dvs.

nextcloud.occ

Puteți, de exemplu, să enumerați toate aplicațiile disponibile în prezent la Nextcloud organizate de Enabled sau Disabled.

nextcloud.occ app:list
Enabled:
  - accessibility: 1.1.0
  - activity: 2.8.2
  - calendar: 1.6.4
  - cloud_federation_api: 0.1.0
  - comments: 1.5.0
  - dav: 1.8.1
  - federatedfilesharing: 1.5.0
  - federation: 1.5.0
[..]

Următorul dvs. pas ar putea fi dezactivarea uneia dintre aplicațiile activate în prezent (sau invers):

nextcloud.occ app:disable calendar

Poți să folosești aplicație: actualizare pentru a actualiza manual toate aplicațiile sau aplicațiile specificate:

nextcloud.occ app:update --all
spreed new version available: 5.0.3
spreed updated

Cineva a uitat o parolă? Îl puteți reseta:

nextcloud.occ user:resetpassword admin2
Enter a new password: 
Confirm the new password: 
Successfully reset password for admin2

Sunt sigur că primești ideea: folosești comenzi de nivel superior – cum ar fi aplicație, utilizator, și întreținere – și adăugați două puncte și apoi o comandă secundară ca listă. Totul este frumos aranjat în domenii destul de intuitive. Aici sunt cateva exemple:

nextcloud.occ app:list
nextcloud.occ user:add
nextcloud.occ maintenance:repair

În cele din urmă, starecomanda va imprima câteva informații despre versiunea de bază:

nextcloud.occ status
  - installed: true
  - version: 15.0.7.0
  - versionstring: 15.0.7
  - edition:

Cred că ai elementele de bază de care vei avea nevoie pentru a-ți găsi drumul. Restul depinde de tine.

Căutați mai multe? S-ar putea să te bucuri de mine cărți și cursuri Pluralsight pe subiecte legate de Linux, AWS și Docker.