Nextcloud - pradžios vadovas
Nextcloud yra savarankiškai talpinama failų saugojimo, dalijimosi ir bendradarbiavimo platforma – privati Google Drive ir Dropbox alternatyva, kurią visiškai valdote jūs. Šiame serveryje Nextcloud visiškai įdiegtas ir sukonfigūruotas su administratoriaus slaptažodžiu, kurį nurodėte užsakydami. Tereikia nukreipti domeną į serverio IP adresą, ir jūsų privati debesija paruošta naudoti.
1 žingsnis – Patikrinkite, ar Nextcloud veikia
Jūsų serverio IP adresas ir root slaptažodis nurodyti kliento skydelio puslapyje Server Details. Nextcloud jau pasiekiamas IP adresu – atidarykite http://your.server.ip naršyklėje ir patikrinkite, ar veikia. Turėtumėte matyti Nextcloud prisijungimo puslapį.
Nextcloud administratoriaus prisijungimas:
- Naudotojo vardas:
admin - Slaptažodis: administratoriaus slaptažodis, kurį įvedėte užsakydami
Administravimo skydelis pasiekiamas adresu http://your.server.ip/settings/admin.
Pastaba: Prie Nextcloud jungiamasi tik naudotojo vardu, ne el. paštu. Net jei vėliau profilyje pridėsite el. paštą, prisijungimui naudokite admin .
Jei serverį patalpinote už VyOS maršrutizatoriaus privačiame tinkle, arba sukonfigūruokite prievadų peradresavimą (22, 80 ir 443), kad Nextcloud būtų pasiekiamas iš interneto, arba prisijunkite per VPN ir pasiekite serverį privačiu IP.
2 žingsnis – Nukreipkite domeną į serverį
Eikite į domeno registratoriaus DNS nustatymus ir sukurkite A įrašus nukreiptus į jūsų serverio IP adresą:
| Tipas | Pavadinimas | Reikšmė |
|---|---|---|
| A | @ | your.server.ip |
| A | www | your.server.ip |
DNS pakeitimai paprastai įsigalioja per kelias minutes, bet gali užtrukti iki 24 valandų. Būseną galite patikrinti dnschecker.org.
3 žingsnis – Prieiga prie Nextcloud
Kai DNS išplis, jūsų Nextcloud veiks:
- Nextcloud:
http://yourdomain.com - Administravimo skydelis:
http://yourdomain.com/settings/admin
Prisijunkite naudotojo vardu admin ir Admin Password iš 1 žingsnio.
4 žingsnis – SSL įjungimas (rekomenduojama)
Pagal numatytuosius nustatymus svetainė veikia per HTTP. Norėdami įjungti HTTPS su nemokamu Let’s Encrypt sertifikatu, prisijunkite per SSH ir paleiskite:
ssh root@your.server.ip
/opt/setup/get-ssl.sh
Scenarijus patikrins DNS, gaus Let’s Encrypt sertifikatą ir automatiškai perjungs Nextcloud į HTTPS. Jis taip pat atnaujins patikimo domeno nustatymą Nextcloud. Automatinis atnaujinimas jau sukonfigūruotas.
Baigus, jūsų Nextcloud pasiekiamas adresu https://yourdomain.com.
5 žingsnis – Fiberax S3 saugyklos prijungimas (neprivaloma)
Prie Nextcloud galite prijungti savo Fiberax S3 saugyklą kaip išorinį aplanką. Taip jūs ir jūsų naudotojai galite saugoti failus tiesiai S3 – idealu atsarginėms kopijoms, medijai ar dideliems duomenų rinkiniams.
Būtinos sąlygos:
- Aktyvi paslauga Fiberax S3 Storage (užsisakykite kliento skydelyje, jei jos neturite)
- A bucket’as sukurtas S3 skydelyje
- Jūsų S3 prisijungimo duomenys (endpoint, Access Key, Secret Key) – rasite juos jūsų S3 paslaugos skiltyje S3 Credentials
5.1 External Storage programos įjungimas
Prisijunkite prie Nextcloud kaip administratorius. Atidarykite naudotojo meniu viršuje dešinėje > Apps. Raskite „External storage support” ir spustelėkite Įjungti.
5.2 S3 bucket’o pridėjimas
Eikite į Settings > Administration > External storages. Spustelėkite „Add storage” ir pasirinkite „S3 Storage”.
Užpildykite šiuos laukus:
| Laukas | Reikšmė |
|---|---|
| Folder name | Bet koks pavadinimas (pvz., „S3Storage”) |
| External storage | S3 Storage |
| Authentication | Access key |
| Bucket | Jūsų bucket’o pavadinimas iš S3 skydelio |
| Hostname | Jūsų S3 endpoint (pvz., s3.w1.fiberax.com) |
| Prievadas | Palikite tuščią (numatytasis 443) |
| Region | Palikite tuščią |
| Storage Class | Palikite tuščią |
| Enable SSL | ✓ Pažymėta |
| Enable Path Style | ✓ Pažymėta |
| Enable multipart copy | ✓ Pažymėta |
| Access Key | Jūsų Access Key iš S3 Credentials |
| Secret Key | Jūsų Secret Key iš S3 Credentials |
| Available for | Visi naudotojai arba pasirinkite konkrečius naudotojus/grupes |
Svarbu: Enable Path Style Fiberax S3 turi būti pažymėta. Be to Nextcloud nepavyks prisijungti. Laukus Port, Region ir Storage Class palikite tuščius.
5.3 Ryšio patikra
Išsaugojus, jei ryšys sėkmingas, šalia prijungimo atsiranda žalias apskritimas. Jūsų naudotojai matys S3 aplanką programoje Files.
Patarimas: Taip pat galite naudoti S3 paslaugų paskyras vietoj pagrindinio Access Key. S3 skydelyje sukurkite paslaugos paskyrą su tik skaitymo arba skaitymo ir rašymo prieiga prie konkretaus bucket’o – tai saugiau bendrose aplinkose.
6 žingsnis – Išorinės duomenų bazės naudojimas (neprivaloma)
Pagal numatytuosius nustatymus Nextcloud naudoja vietinę MariaDB duomenų bazę tame pačiame serveryje. Daugeliu atvejų tai veikia gerai. Tačiau jei reikia plėstis – pavyzdžiui, kai gerokai išauga naudotojų ar failų skaičius – duomenų bazę galite perkelti į atskirą serverį.
Išorinės duomenų bazės privalumai:
- Duomenų bazė gauna dedikuotą CPU ir RAM – Nextcloud išlieka greitas net esant didelei apkrovai
- Nepriklausomas plėtimas – duomenų bazės ir Nextcloud serverius galima didinti atskirai
- Atskiros atsarginės kopijos – lengviau atkurti duomenų bazę ir programą atskirai
6.1 Išorinės duomenų bazės paruošimas
Išoriniame duomenų bazių serveryje (atskirame serveryje ar Managed MySQL paslaugoje) sukurkite duomenų bazę ir naudotoją Nextcloud:
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextcloud'@'%' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'%';
FLUSH PRIVILEGES;
6.2 Duomenų eksportas iš vietinės duomenų bazės
Prisijunkite prie Nextcloud serverio per SSH ir eksportuokite dabartinę duomenų bazę:
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
source /root/.nc_credentials
mysqldump -u nextcloud -p"$nc_mysql_pass" nextcloud > /tmp/nextcloud-db.sql
6.3 Duomenų importas į išorinę duomenų bazę
mysql -h db.server.ip -u nextcloud -p nextcloud < /tmp/nextcloud-db.sql
6.4 Nextcloud konfigūracijos atnaujinimas
Redaguokite /var/www/nextcloud/config/config.php ir pakeiskite duomenų bazės nustatymus:
'dbtype' => 'mysql',
'dbhost' => 'db.server.ip',
'dbname' => 'nextcloud',
'dbuser' => 'nextcloud',
'dbpassword' => 'your_strong_password',
Pakeiskite db.server.ip savo duomenų bazės serverio IP adresu. Jei abu serveriai yra tame pačiame virtualiame duomenų centre, geresniam našumui ir saugumui naudokite privatų IP.
6.5 Patikra ir vietinės duomenų bazės išjungimas
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off
sudo -u www-data php /var/www/nextcloud/occ status
Jei Nextcloud rodo installed: true ir veikia naršyklėje, perkėlimas sėkmingas. Tada galite sustabdyti vietinę MariaDB ir atlaisvinti išteklius:
systemctl stop mariadb
systemctl disable mariadb
Svarbu: Atsarginę kopiją /tmp/nextcloud-db.sql pasilikite, kol įsitikinsite, kad viskas veikia. Įsitikinkite, kad išorinis duomenų bazių serveris leidžia prisijungimus iš jūsų Nextcloud serverio IP adreso.
Po įdiegimo
SSL sertifikato atnaujinimas
Let’s Encrypt sertifikatai galioja 90 dienų. Automatinis atnaujinimas sukonfigūruotas. Jį galite išbandyti komanda:
certbot renew --dry-run
Fail2Ban – apsauga nuo slaptažodžių spėjimo atakų
Jūsų serveryje įdiegta Fail2Ban iš anksto sukonfigūruotas apsaugoti SSH ir Nextcloud nuo slaptažodžių spėjimo atakų.
| Taisyklė | Maks. bandymų | Blokavimo trukmė |
|---|---|---|
| SSH | 5 nesėkmingi prisijungimai | 10 minučių |
| Nextcloud | 5 nesėkmingi prisijungimai | 1 valanda |
Naudingos komandos:
# Check banned IPs
fail2ban-client status nextcloud
fail2ban-client status sshd
# Unban an IP
fail2ban-client set nextcloud unbanip 1.2.3.4
Jei netyčia užsiblokavote, prisijunkite per VNC konsolę kliento skydelyje ir atblokuokite savo IP.
Paslaugų valdymas
Nextcloud stekas veikia per systemd. Dažnos komandos:
# Check service status
systemctl status apache2
systemctl status mariadb
systemctl status redis
systemctl status php8.3-fpm
# Restart services
systemctl restart apache2
systemctl restart php8.3-fpm
Nextcloud atnaujinimas
Kai pasirodo nauja versija, administravimo skydelyje matysite pranešimą. Atnaujinti galite per žiniatinklio sąsają (Settings > Administration > Overview) arba per SSH:
sudo -u www-data php /var/www/nextcloud/updater/updater.phar
sudo -u www-data php /var/www/nextcloud/occ upgrade
Darbalaukio ir mobilieji klientai
Nextcloud siūlo sinchronizavimo klientus visoms platformoms:
- Darbalaukis: Windows, macOS, Linux – atsisiųskite adresu nextcloud.com/install
- Mobilusis: Android (Google Play / F-Droid), iOS (App Store)
Nustatydami klientą įveskite savo Nextcloud URL (pvz., https://yourdomain.com) ir prisijunkite savo duomenimis.
Naudotojų pridėjimas
Eikite į Settings > Users , kad sukurtumėte paskyras savo komandai. Kiekvienas naudotojas gauna savo saugyklos vietą, kalendorių, kontaktus ir prieigą prie bendrinamų aplankų, įskaitant S3 saugyklą.
Naudingos programos
Praplėskite Nextcloud iš integruotos App Store (Apps viršutiniame dešiniajame meniu):
| Programa | Ką ji daro |
|---|---|
| Nextcloud Office | Dokumentų, skaičiuoklių ir pateikčių redagavimas naršyklėje |
| Talk | Garso/vaizdo skambučiai ir pokalbiai |
| Calendar (įdiegta iš anksto) | Bendrinami kalendoriai su CalDAV sinchronizavimu |
| Contacts (įdiegta iš anksto) | Adresų knyga su CardDAV sinchronizavimu |
| Deck | Kanban stiliaus projektų lentos |
| Notes | Užrašai Markdown formatu |
Kas sukonfigūruota iš anksto
- Podėlis: APCu (vietinis) + Redis (paskirstytas ir failų užrakinimas) per Unix socket
- Foninės užduotys: Sistemos cron kas 5 minutes (rekomenduoja Nextcloud)
- Failų įkėlimas: Iki 16 GB vienam failui
- PHP atmintis: 512 MB
- Programos: Calendar ir Contacts įdiegti iš anksto
Serverio prisijungimo duomenys
MariaDB prisijungimo duomenys saugomi /root/.nc_credentials. Nextcloud iš anksto sukonfigūruotas juos naudoti.
Įdiegta programinė įranga
| Komponentas | Versija |
|---|---|
| Ubuntu | 24.04 LTS |
| Apache | 2.4 |
| MariaDB | 10.11 |
| PHP (FPM) | 8.3 |
| Redis | 7.0 |
| Nextcloud | Naujausia |
| Certbot | Naujausia |
| Fail2Ban | 1.0 |
Trikčių šalinimas
| Problema | Sprendimas |
|---|---|
| Nextcloud neatsidaro naršyklėje | Patikrinkite, ar jūsų domeno A įrašas nukreiptas į serverio IP. Naudokite dnschecker.org patikrinti |
| SSL scenarijus nepavyksta | Tikriausiai DNS dar neišplito. Palaukite 10-15 minučių ir paleiskite /opt/setup/get-ssl.sh dar kartą |
| „Access through untrusted domain” | Jūsų domeno nėra patikimų sąraše. Prisijunkite per SSH ir paleiskite:sudo -u www-data php /var/www/nextcloud/occ config:system:set trusted_domains 1 --value=yourdomain.com |
| S3 saugykla rodo raudoną/geltoną indikatorių | Patikrinkite, ar pažymėta Enable Path Style . Patikrinkite endpoint, bucket’o pavadinimą ir prisijungimo duomenis S3 skydelyje |
| Pamiršote administratoriaus slaptažodį | Prisijunkite per SSH ir paleiskite:sudo -u www-data php /var/www/nextcloud/occ user:resetpassword admin |
| Lėtas veikimas | Redis podėlis iš anksto sukonfigūruotas. Patikrinkite, ar jis veikia: systemctl status redis |
| Nepavyksta įkelti didelių failų | PHP limitai iš anksto nustatyti į 16 GB. Jei reikia juos pakeisti, redaguokite /etc/php/8.3/fpm/conf.d/99-nextcloud.ini ir paleiskite PHP-FPM iš naujo: systemctl restart php8.3-fpm |
| Užblokavo Fail2Ban | Atblokuokite savo IP per VNC konsolę kliento skydelyje |
| Pamiršote root slaptažodį | Atkurkite jį per VNC konsolę kliento skydelyje |