Nextcloud - Przewodnik na start
Nextcloud to platforma do samodzielnego hostowania plików, ich udostępniania oraz współpracy zespołowej. Stanowi prywatną alternatywę dla Google Drive i Dropbox, nad którą masz pełną kontrolę. Ten serwer jest dostarczany z w pełni zainstalowanym i skonfigurowanym Nextcloud oraz hasłem administratora podanym podczas składania zamówienia. Wystarczy skierować domenę na adres IP serwera, aby rozpocząć korzystanie z prywatniej chmury.
Krok 1 – Sprawdzenie działania Nextcloud
Adres IP serwera oraz hasło użytkownika root znajdziesz w sekcji Server Information na karcie Overview w panelu klienta. Nextcloud jest dostępny od razu po utworzeniu serwera pod adresem IP. Otwórz w przeglądarce http://your.server.ip, aby sprawdzić jego działanie. Powinna zostać wyświetlona strona logowania Nextcloud.
Dane logowania administratora Nextcloud:
- Nazwa użytkownika: admin
- Hasło: hasło administratora podane podczas składania zamówienia
Panel administracyjny jest dostępny pod adresem http://your.server.ip/settings/admin.
Uwaga: Do logowania w Nextcloud używana jest nazwa użytkownika, a nie adres e-mail. Nawet jeśli później dodasz adres e-mail do swojego profilu, nadal loguj się jako admin.
Jeżeli serwer znajduje się za routerem VyOS w sieci prywatnej, skonfiguruj przekierowanie portów (22, 80 i 443), aby udostępnić Nextcloud przez Internet, lub połącz się z siecią za pomocą VPN i korzystaj z prywatnego adresu IP serwera.
Krok 2 – Skierowanie domeny na serwer
Przejdź do ustawień DNS u swojego rejestratora domeny i utwórz rekordy A, wskazujące na adres IP serwera:
| Typ | Nazwa | Wartość |
|---|---|---|
| A | @ | your.server.ip |
| A | www | your.server.ip |
Propagacja zmian DNS zwykle trwa kilka minut, jednak w niektórych przypadkach może potrwać do 24 godzin. Status propagacji możesz sprawdzić na stronie dnschecker.org.
Krok 3 – Dostęp do Nextcloud
Po zakończeniu propagacji DNS Twój serwer Nextcloud będzie dostępny pod domeną:
- Nextcloud: http://yourdomain.com
- Panel administracyjny: http://yourdomain.com/settings/admin
Zaloguj się przy użyciu nazwy użytkownika admin oraz hasła administratora z Kroku 1.
Krok 4 – Włączenie SSL (zalecane)
Domyślnie witryna działa przez protokół HTTP. Aby włączyć HTTPS z bezpłatnym certyfikatem Let’s Encrypt, połącz się z serwerem przez SSH i uruchom:
ssh root@your.server.ip /opt/setup/get-ssl.shSkrypt automatycznie zweryfikuje konfigurację DNS, pobierze certyfikat Let’s Encrypt, przełączy Nextcloud na HTTPS oraz zaktualizuje listę zaufanych domen (trusted domains). Automatyczne odnawianie certyfikatu jest już skonfigurowane.
Po zakończeniu operacji Nextcloud będzie dostępny pod adresem https://yourdomain.com.
Krok 5 – Podłączenie pamięci Fiberax S3 (opcjonalnie)
Możesz podłączyć pamięć Fiberax S3 do Nextcloud jako magazyn zewnętrzny. Dzięki temu Ty i Twoi użytkownicy będziecie mogli przechowywać pliki bezpośrednio w usłudze S3. Rozwiązanie doskonale sprawdza się do przechowywania kopii zapasowych, multimediów oraz dużych zbiorów danych.
Wymagania:
- Aktywna usługa Fiberax S3 Storage (jeśli jeszcze jej nie posiadasz, możesz zamówić ją w panelu klienta)
- Utworzony bucket w panelu S3
- Dane dostępowe S3 (Endpoint, Access Key oraz Secret Key), dostępne w sekcji S3 Credentials Twojej usługi S3
5.1 Włącz aplikację External Storage
Zaloguj się do Nextcloud jako administrator. Następnie przejdź do menu użytkownika w prawym górnym rogu → Apps. Odszukaj aplikację „External storage support” i kliknij Enable.
5.2 Dodaj bucket S3
Przejdź do Settings → Administration → External storages. Kliknij „Add storage” i wybierz „S3 Storage”.
Uzupełnij pola zgodnie z poniższą tabelą:
| Pole | Wartość |
|---|---|
| Nazwa folderu | Dowolna (np. „S3Storage”) |
| Magazyn zewnętrzny | S3 Storage |
| Uwierzytelnianie | Access key |
| Bucket | Nazwa bucketu z panelu S3 |
| Hostname | Twój endpoint S3 (np. s3.w1.fiberax.com) |
| Port | Pozostaw puste (domyślnie 443) |
| Region | Pozostaw puste |
| Storage Class | Pozostaw puste |
| Enable SSL | ✓ Zaznaczone |
| Enable Path Style | ✓ Zaznaczone |
| Enable multipart copy | ✓ Zaznaczone |
| Access Key | Twój Access Key z sekcji S3 Credentials |
| Secret Key | Twój Secret Key z sekcji S3 Credentials |
| Dostępne dla | Wszyscy użytkownicy lub wybrane grupy/użytkownicy |
Ważne: Opcja Enable Path Style musi być zaznaczona w przypadku Fiberax S3. Bez niej Nextcloud nie będzie w stanie połączyć się z usługą. Pola Port, Region oraz Storage Class pozostaw puste.
5.3 Sprawdzenie połączenia
Po zapisaniu konfiguracji obok magazynu powinno pojawić się zielone kółko, oznaczające poprawne połączenie. Folder S3 będzie od tej chwili widoczny dla użytkowników w aplikacji Files.
Wskazówka: Zamiast głównego klucza dostępowego możesz użyć S3 Service Accounts. Utwórz konto serwisowe w panelu S3 i przyznaj mu dostęp tylko do wybranego bucketu (tylko odczyt lub odczyt i zapis). Jest to bezpieczniejsze rozwiązanie w środowiskach współdzielonych.
Krok 6 – Korzystanie z zewnętrznej bazy danych (opcjonalnie)
Domyślnie Nextcloud korzysta z lokalnej bazy danych MariaDB zainstalowanej na tym samym serwerze. Takie rozwiązanie sprawdza się w większości zastosowań. Jeśli jednak planujesz obsługiwać dużą liczbę użytkowników lub plików, warto przenieść bazę danych na osobny serwer.
Zalety zewnętrznej bazy danych:
- Baza danych otrzymuje dedykowane zasoby CPU i RAM, dzięki czemu Nextcloud zachowuje wysoką wydajność pod dużym obciążeniem.
- Możliwość niezależnego skalowania serwera bazy danych oraz serwera Nextcloud.
- Łatwiejsze wykonywanie oraz odtwarzanie kopii zapasowych bazy danych i aplikacji.
6.1 Przygotowanie zewnętrznej bazy danych
Na serwerze bazy danych (oddzielny serwer lub usługa Managed MySQL) utwórz bazę danych i użytkownika dla 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 Eksport danych z lokalnej bazy
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.sql6.3 Import danych do zewnętrznej bazy
mysql -h db.server.ip -u nextcloud -p nextcloud < /tmp/nextcloud-db.sql6.4 Aktualizacja konfiguracji Nextcloud
Edytuj plik /var/www/nextcloud/config/config.php i zaktualizuj ustawienia bazy danych:
'dbtype’ => 'mysql’, 'dbhost’ => 'db.server.ip’, 'dbname’ => 'nextcloud’, 'dbuser’ => 'nextcloud’, 'dbpassword’ => 'your_strong_password’,Zastąp db.server.ip adresem IP serwera bazy danych. Jeśli oba serwery znajdują się w tym samym wirtualnym centrum danych, zaleca się użycie prywatnego adresu IP, co zapewni lepszą wydajność i bezpieczeństwo.
6.5 Weryfikacja i wyłączenie lokalnej bazy
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode –off sudo -u www-data php /var/www/nextcloud/occ statusJeżeli polecenie zwróci installed: true, a Nextcloud działa poprawnie w przeglądarce, migracja zakończyła się powodzeniem. Możesz wtedy wyłączyć lokalną bazę MariaDB, aby zwolnić zasoby systemowe:
systemctl stop mariadb systemctl disable mariadbWażne: Zachowaj kopię zapasową /tmp/nextcloud-db.sql, dopóki nie upewnisz się, że wszystko działa prawidłowo. Upewnij się również, że zewnętrzny serwer bazy danych zezwala na połączenia z adresu IP serwera Nextcloud.
Po instalacji
Odnawianie certyfikatu SSL
Certyfikaty Let’s Encrypt są ważne przez 90 dni. Automatyczne odnawianie zostało już skonfigurowane. Aby sprawdzić jego działanie, uruchom:
certbot renew –dry-runFail2Ban – Ochrona przed atakami brute-force
Na serwerze jest wstępnie skonfigurowany Fail2Ban, który chroni zarówno usługę SSH, jak i Nextcloud przed próbami logowania metodą brute-force.
| Reguła | Maksymalna liczba prób | Czas blokady |
|---|---|---|
| SSH | 5 nieudanych logowań | 10 minut |
| Nextcloud | 5 nieudanych logowań | 1 godzina |
Przydatne polecenia:
# Sprawdzenie zablokowanych adresów IP fail2ban-client status nextcloud fail2ban-client status sshd # Odblokowanie adresu IP fail2ban-client set nextcloud unbanip 1.2.3.4Jeżeli przypadkowo zablokujesz własny adres IP, połącz się z serwerem przez konsolę VNC dostępną w panelu klienta i odblokuj swój adres IP.
Zarządzanie usługami
Usługi Nextcloud są zarządzane przez systemd. Najczęściej używane polecenia:
# Sprawdzenie statusu usług systemctl status apache2 systemctl status mariadb systemctl status redis systemctl status php8.3-fpm # Ponowne uruchomienie usług systemctl restart apache2 systemctl restart php8.3-fpmAktualizacja Nextcloud
Gdy dostępna będzie nowa wersja Nextcloud, w panelu administratora pojawi się odpowiednie powiadomienie. Aktualizację możesz przeprowadzić z poziomu interfejsu WWW (Ustawienia > Administracja > Przegląd) lub przez SSH:
sudo -u www-data php /var/www/nextcloud/updater/updater.phar sudo -u www-data php /var/www/nextcloud/occ upgradeKlienci komputerowi i mobilni
Nextcloud oferuje aplikacje synchronizujące dla wszystkich popularnych platform:
- Komputery: Windows, macOS i Linux – pobierz z nextcloud.com/install
- Urządzenia mobilne: Android (Google Play / F-Droid) oraz iOS (App Store)
Podczas konfiguracji aplikacji podaj adres swojej instancji Nextcloud (np. https://twojadomena.pl) i zaloguj się przy użyciu swoich danych.
Dodawanie użytkowników
Przejdź do Ustawienia > Użytkownicy, aby utworzyć konta dla członków swojego zespołu. Każdy użytkownik otrzyma własną przestrzeń dyskową, kalendarz, kontakty oraz dostęp do udostępnionych folderów, w tym również pamięci S3.
Przydatne aplikacje
Możesz rozszerzyć możliwości Nextcloud za pomocą wbudowanego sklepu z aplikacjami (Apps w menu użytkownika):
| Aplikacja | Opis |
|---|---|
| Nextcloud Office | Edycja dokumentów, arkuszy kalkulacyjnych i prezentacji bezpośrednio w przeglądarce |
| Talk | Rozmowy głosowe, wideo oraz czat |
| Calendar (zainstalowana domyślnie) | Współdzielone kalendarze z synchronizacją CalDAV |
| Contacts (zainstalowana domyślnie) | Książka adresowa z synchronizacją CardDAV |
| Deck | Tablice projektowe w stylu Kanban |
| Notes | Tworzenie i synchronizacja notatek w formacie Markdown |
Wstępna konfiguracja
- Pamięć podręczna: APCu (lokalna) + Redis (cache rozproszony oraz blokowanie plików) przez gniazdo Unix
- Zadania w tle: Cron systemowy uruchamiany co 5 minut (zalecana konfiguracja Nextcloud)
- Przesyłanie plików: Maksymalnie 16 GB na pojedynczy plik
- Pamięć PHP: 512 MB
- Aplikacje: Calendar oraz Contacts są zainstalowane domyślnie
Dane dostępowe serwera
Dane logowania do bazy MariaDB znajdują się w pliku /root/.nc_credentials. Nextcloud jest już skonfigurowany do korzystania z tych danych.
Zainstalowane oprogramowanie
| Komponent | Wersja |
|---|---|
| Ubuntu | 24.04 LTS |
| Apache | 2.4 |
| MariaDB | 10.11 |
| PHP (FPM) | 8.3 |
| Redis | 7.0 |
| Nextcloud | Najnowsza wersja |
| Certbot | Najnowsza wersja |
| Fail2Ban | 1.0 |
Rozwiązywanie problemów
| Problem | Rozwiązanie |
|---|---|
| Nextcloud nie otwiera się w przeglądarce | Sprawdź, czy rekord A Twojej domeny wskazuje na adres IP serwera. Możesz to zweryfikować na stronie dnschecker.org. |
| Skrypt SSL kończy się błędem | Najprawdopodobniej rekordy DNS nie zostały jeszcze rozpropagowane. Odczekaj 10–15 minut i ponownie uruchom /opt/setup/get-ssl.sh. |
| Komunikat „Access through untrusted domain” | Twoja domena nie znajduje się na liście zaufanych domen. Połącz się przez SSH i wykonaj: sudo -u www-data php /var/www/nextcloud/occ config:system:set trusted_domains 1 –value=twojadomena.pl |
| Pamięć S3 ma czerwony lub żółty status | Upewnij się, że opcja Enable Path Style jest zaznaczona. Sprawdź również poprawność endpointu, nazwy bucketu oraz danych uwierzytelniających w panelu S3. |
| Zapomniane hasło administratora | Połącz się przez SSH i wykonaj: sudo -u www-data php /var/www/nextcloud/occ user:resetpassword admin |
| Niska wydajność | Redis jest już skonfigurowany jako pamięć podręczna. Sprawdź, czy usługa działa poprawnie: systemctl status redis. |
| Nie można przesłać dużych plików | Limit PHP został skonfigurowany na 16 GB. Aby go zmienić, edytuj plik /etc/php/8.3/fpm/conf.d/99-nextcloud.ini i zrestartuj PHP-FPM: systemctl restart php8.3-fpm. |
| Adres IP został zablokowany przez Fail2Ban | Połącz się z serwerem przez konsolę VNC dostępną w panelu klienta i odblokuj swój adres IP. |
| Zapomniane hasło roota | Skorzystaj z konsoli VNC dostępnej w panelu klienta, aby zresetować hasło. |