Table of Contents

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
Awwwyour.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.sh

Skrypt 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 folderuDowolna (np. „S3Storage”)
Magazyn zewnętrznyS3 Storage
UwierzytelnianieAccess key
BucketNazwa bucketu z panelu S3
HostnameTwój endpoint S3 (np. s3.w1.fiberax.com)
PortPozostaw puste (domyślnie 443)
RegionPozostaw puste
Storage ClassPozostaw puste
Enable SSL✓ Zaznaczone
Enable Path Style✓ Zaznaczone
Enable multipart copy✓ Zaznaczone
Access KeyTwój Access Key z sekcji S3 Credentials
Secret KeyTwój Secret Key z sekcji S3 Credentials
Dostępne dlaWszyscy 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.sql

6.3 Import danych do zewnętrznej bazy

mysql -h db.server.ip -u nextcloud -p nextcloud < /tmp/nextcloud-db.sql

6.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 status

Jeż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 mariadb

Waż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-run

Fail2Ban – 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
SSH5 nieudanych logowań10 minut
Nextcloud5 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.4

Jeż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-fpm

Aktualizacja 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 upgrade

Klienci 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 OfficeEdycja dokumentów, arkuszy kalkulacyjnych i prezentacji bezpośrednio w przeglądarce
TalkRozmowy 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
DeckTablice projektowe w stylu Kanban
NotesTworzenie 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
Ubuntu24.04 LTS
Apache2.4
MariaDB10.11
PHP (FPM)8.3
Redis7.0
NextcloudNajnowsza wersja
CertbotNajnowsza wersja
Fail2Ban1.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.