Przejdź do treści

Konfiguracja Nextcloud na serwerze Linux – zbuduj swoją prywatną chmurę

Skonfiguruj Nextcloud na swoim serwerze VPS z Linuksem i stwórz własną prywatną chmurę do plików, kalendarzy i nie tylko → Dowiedz się więcej

10 listopada 20267 min czytania6 Wyświetlenia0 pomocne

Wprowadzenie

Nextcloud to rozwiązanie chmurowe open source, będące forkiem ownCloud, założone w 2016 roku przez byłego twórcę ownCloud, Franka Karlitscheka. Dzięki Nextcloud możesz prowadzić własną prywatną chmurę do plików, kalendarzy, kontaktów, czatu i wideorozmów – całkowicie pod swoją kontrolą, zamiast u zewnętrznego dostawcy.

Aby zapewnić optymalną wydajność, stabilność i funkcjonalność, zalecamy następującą konfigurację do hostingu serwera Nextcloud. Serwer Nextcloud nie jest kompatybilny z Windows ani macOS, przynajmniej bez dodatkowej wirtualizacji lub podobnych obejść.

Przygotowanie

Poniższe wymagania opierają się na oficjalnych wymaganiach systemowych Nextcloud oraz naszych własnych doświadczeniach. Jeśli nie spełniasz tych wymagań, mogą wystąpić problemy.

Sprzęt

KomponentyMinimumZalecane
CPU1x 2 GHz4x 2+ GHz
RAM1 GB4+ GB
Pamięć10 GB50+ GB (w zależności od ilości przechowywanych danych)
Przepustowość100 Mbit/s (wysyłanie i pobieranie)500 Mbit/s (wysyłanie i pobieranie), zalecane przy wielu użytkownikach

Oprogramowanie

PlatformaOpcje
System operacyjnyUbuntu (22.04, 24.04), Debian (12, 13)
Baza danychMariaDB 10.11+ (zalecane), PostgreSQL 14+, MySQL 8.0+, SQLite (tylko do testów i minimalnych instalacji)
Serwer WWWApache 2.4 z mod_php lub php-fpm (zalecane), alternatywnie Nginx z php-fpm
PHP8.3, 8.4, 8.5 (zalecane)
Informacje

Aby poznać najnowsze wymagania, zajrzyj do oficjalnej dokumentacji Nextcloud – Nextcloud regularnie aktualizuje wymagania dotyczące PHP i baz danych przy nowych wersjach głównych.

Do instalacji chmury na serwerze Linux potrzebne jest połączenie przez klienta SSH. Jeśli nie znasz SSH, zapoznaj się z tym przewodnikiem: Pierwszy dostęp (SSH)

Po nawiązaniu połączenia możesz zainstalować niezbędne pakiety potrzebne do instalacji Nextcloud. Obejmuje to instalację serwera WWW oraz PHP wraz z rozszerzeniami wymaganymi przez Nextcloud (m.in. gd, curl, mbstring, xml, zip, intl, bcmath, gmp, apcu).


Apache (serwer WWW) i PHP

🗄️ Ubuntu 24.04 (dostarczane z PHP 8.3):

Code
sudo apt update && sudo apt -y upgrade
sudo apt -y install apache2 php php-cli php-fpm php-common php-mysql php-pgsql php-sqlite3 php-zip php-gd php-mbstring php-curl php-xml php-bcmath php-intl php-gmp php-imagick php-apcu

🗄️ Ubuntu 22.04 (domyślne PHP 8.1, za stare dla aktualnych wersji Nextcloud – wymaga PPA):

Code
sudo apt update && sudo apt -y upgrade
sudo apt -y install apache2 software-properties-common
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt -y install php8.3 php8.3-cli php8.3-fpm php8.3-common php8.3-mysql php8.3-pgsql php8.3-sqlite3 php8.3-zip php8.3-gd php8.3-mbstring php8.3-curl php8.3-xml php8.3-bcmath php8.3-intl php8.3-gmp php8.3-imagick php8.3-apcu

🗄️ Debian 13 „trixie" (dostarczane z PHP 8.3):

Code
sudo apt update && sudo apt -y upgrade
sudo apt -y install apache2 php php-cli php-fpm php-common php-mysql php-pgsql php-sqlite3 php-zip php-gd php-mbstring php-curl php-xml php-bcmath php-intl php-gmp php-imagick php-apcu

🗄️ Debian 12 „bookworm" (domyślne PHP 8.2, za stare dla aktualnych wersji Nextcloud – wymaga repozytorium zewnętrznego):

Code
sudo apt update && sudo apt -y upgrade
sudo apt -y install apache2 lsb-release apt-transport-https ca-certificates wget
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update
sudo apt -y install php8.3 php8.3-cli php8.3-fpm php8.3-common php8.3-mysql php8.3-pgsql php8.3-sqlite3 php8.3-zip php8.3-gd php8.3-mbstring php8.3-curl php8.3-xml php8.3-bcmath php8.3-intl php8.3-gmp php8.3-imagick php8.3-apcu

Sprawdzenie wersji PHP:

Code
php -v
Informacje

Nextcloud wymaga memory_limit = 512M lub więcej. Ustaw tę wartość w odpowiednim pliku php.ini (np. /etc/php/8.3/apache2/php.ini lub /etc/php/8.3/fpm/php.ini) i zrestartuj Apache lub PHP-FPM.

Następny krok to wybór typu bazy danych do przechowywania danych Nextcloud. Wybierz jedną z poniższych opcji i wykonaj tylko kroki dla wybranej bazy.

MariaDB (zalecane)

Instalacja pakietu:

Code
sudo apt-get install mariadb-server

Podczas instalacji zostaniesz poproszony o ustawienie hasła root. Jeśli nie pojawi się takie zapytanie, domyślne hasło jest puste. To niebezpieczne i należy je natychmiast zmienić!

Następnie połącz się z serwerem bazy danych i utwórz wymaganą bazę:

sql
mysql -u root -p
CREATE DATABASE nextcloud;

Potem utwórz użytkownika z dostępem do bazy Nextcloud:

sql
CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'TWOJE_HASLO_TUTAJ';
Informacje

Nie pomijaj tego kroku, nie używaj użytkownika root do Nextcloud. To niebezpieczne i naraża dane!

Na koniec przyznaj nowemu użytkownikowi odpowiednie uprawnienia:

sql
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost';
FLUSH PRIVILEGES;

Po zakończeniu wyjdź z bazy poleceniem exit i kontynuuj kolejne kroki.

MySQL

Instalacja pakietu:

Code
sudo apt-get install mysql-server

Podczas instalacji zostaniesz poproszony o ustawienie hasła root. Jeśli nie pojawi się takie zapytanie, domyślne hasło jest puste. To niebezpieczne i należy je natychmiast zmienić!

Następnie połącz się z serwerem bazy danych i utwórz wymaganą bazę:

sql
mysql -u root -p
CREATE DATABASE nextcloud;

Potem utwórz użytkownika z dostępem do bazy Nextcloud:

sql
CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'TWOJE_HASLO_TUTAJ';
Informacje

Nie pomijaj tego kroku, nie używaj użytkownika root do Nextcloud. To niebezpieczne i naraża dane!

Na koniec przyznaj nowemu użytkownikowi odpowiednie uprawnienia:

sql
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost';
FLUSH PRIVILEGES;

Po zakończeniu wyjdź z bazy poleceniem exit i kontynuuj kolejne kroki.

PostgreSQL

Instalacja pakietu:

Code
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib

Następnie połącz się z serwerem bazy danych i utwórz bazę oraz użytkownika:

sql
sudo -u postgres psql
CREATE USER nc_user WITH ENCRYPTED PASSWORD 'TWOJE_HASLO_TUTAJ';
CREATE DATABASE nextcloud OWNER nc_user;
Informacje

Nie pomijaj tego kroku, nie używaj superużytkownika postgres do Nextcloud. To niebezpieczne i naraża dane!

Po zakończeniu wyjdź z bazy poleceniem \q. Dane połączenia PostgreSQL wpisz w instalatorze webowym lub bezpośrednio w pliku config.php:

php
<?php
$CONFIG = array(
  'dbtype'        => 'pgsql',
  'dbname'        => 'nextcloud',
  'dbuser'        => 'nc_user',
  'dbpassword'    => 'TWOJE_HASLO_TUTAJ',
  'dbhost'        => 'localhost',
  'dbtableprefix' => '',
);

SQLite (niezalecane do produkcji)

SQLite nadaje się wyłącznie do testów lub bardzo małych instalacji jednoosobowych – twórcy Nextcloud zdecydowanie odradzają używanie do produkcyjnego środowiska wieloużytkownikowego (m.in. z powodu braku współbieżności przy równoczesnym dostępie).

Instalacja pakietu:

Code
sudo apt-get install sqlite3 php8.3-sqlite3

Nextcloud automatycznie tworzy plik bazy SQLite podczas instalacji, nie jest potrzebne ręczne tworzenie bazy. Konfiguracja w config.php wygląda tak:

php
<?php
$CONFIG = array(
  'dbtype'        => 'sqlite3',
  'dbname'        => 'nextcloud',
  'dbtableprefix' => '',
);

FAQ

Często zadawane pytania

Najprostszy sposób to użycie Aplikacji instalowanych jednym kliknięciem w panelu VPS, gdzie Nextcloud jest dostępny jako gotowa aplikacja w Coolify-App-Marketplace. Alternatywnie możesz wykonać instalację ręczną według instrukcji.
Nextcloud to rozwiązanie chmurowe open source, fork ownCloud, które pozwala prowadzić własną prywatną chmurę do plików, kalendarzy, kontaktów, czatu i wideorozmów – całkowicie pod własną kontrolą.
Nie, serwer Nextcloud nie jest kompatybilny z Windows ani macOS, przynajmniej bez dodatkowej wirtualizacji lub podobnych rozwiązań.

Opinia

Czy ten artykuł był pomocny?

Twoja opinia pomaga nam lepiej ustalać priorytety i aktualizować treści.

0 od 0 Osoby oceniające uznały ten artykuł za pomocny.

Indywidualna pomoc

Instrukcja nie wystarcza?

Nasz zespół wsparcia ZAP zna twój produkt — opisz krótko problem, a pomożemy ci osobiście.

Zappy zna tę instrukcję i odpowie ci bezpośrednio na czacie.