Przejdź do głównej treści

Konfiguracja Nextcloud na serwerze Linux - Zbuduj swoją prywatną chmurę

Idealne produkty do tego poradnika

Zacznij od razu — zamów odpowiedni produkt i postępuj zgodnie z tym poradnikiem krok po kroku.

Wprowadzenie

Nextcloud to open source’owe rozwiązanie chmurowe, fork Owncloud, założone w 2016 roku przez byłego twórcę Owncloud, Franka Kalitscheka.

Aby osiągnąć optymalną wydajność, stabilność i funkcjonalność, zalecamy poniższą konfigurację do hostingu serwera Nextcloud. Serwer Nextcloud nie jest kompatybilny z Windows i MacOS — przynajmniej nie bez dodatkowej wirtualizacji lub podobnych obejść.

Przygotowanie

Poniższe wymagania są rekomendowane przez twórców i bazują na naszym doświadczeniu. Możesz napotkać problemy, jeśli nie spełnisz tych wymagań.

Sprzęt

KomponentyMinimumZalecane
CPU2x 1 GHz4x 2+ GHz
RAM512 MB4+ GB
Dysk10 GB50+ GB
Przepustowość100 mbit/s (upload & download)500 mbit/s (upload & download) Zalecane, jeśli chmurą ma korzystać więcej użytkowników

Oprogramowanie

PlatformaOpcje
System operacyjnyUbuntu (14.04, 16.04, 18.04), Debian (8,9,10), CentOS 6.5/7
Baza danychMySQL lub MariaDB 5.5+ (zalecane), SQLite (tylko do testów i minimalnych instalacji)
Serwer WWWApache 2.4 z mod_php lub php-fpm (zalecane)
PHP5.6, 7.0 (zalecane), 7.1 (zalecane), 7.2

Aby zainstalować chmurę na serwerze Linux, musisz połączyć się przez klienta SSH. Jeśli nie wiesz, jak korzystać z SSH, mamy poradnik: Pierwszy dostęp (SSH)

Po nawiązaniu połączenia możesz zacząć instalować niezbędne pakiety potrzebne do instalacji Nextcloud, w tym serwer WWW i PHP.


Apache (serwer WWW)

🗄️ Debian 8/9/10:

sudo apt update && sudo apt -y upgrade
sudo apt -y install apache2

PHP (Hypertext Preprocessor)

🗄️ Debian 8:

# Krok 1: Dodanie repozytorium PHP 7.3 PPA
sudo apt -y install lsb-release apt-transport-https ca-certificates
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/php7.3.list

# Krok 2: Instalacja PHP 7.3
sudo apt -y install php7.3

# Krok 3: Instalacja rozszerzeń PHP 7.3
sudo apt install php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath php7.3-json

🗄️ Debian 9:

# Krok 1: Dodanie repozytorium PHP 7.3 PPA
sudo apt -y install lsb-release apt-transport-https ca-certificates
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/php7.3.list

# Krok 2: Instalacja PHP 7.3
sudo apt -y install php7.3

# Krok 3: Instalacja rozszerzeń PHP 7.3
sudo apt install php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath php7.3-json

🗄️ Debian 10:

# Krok 1: Instalacja PHP 7.3
sudo apt -y install php php-common

# Krok 2: Instalacja rozszerzeń PHP 7.3
sudo apt -y install php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

Sprawdź wersję PHP, by potwierdzić działanie:

php -v

Kolejnym krokiem jest wybór typu bazy danych do przechowywania informacji. Masz kilka opcji:


Jeśli wybrałeś ten typ bazy danych, wykonaj następujące kroki:

Instalacja pakietów:

sudo apt-get install mariadb-server php-mysql

Podczas instalacji zostaniesz poproszony o ustawienie hasła root. Jeśli nie pojawi się taka prośba, domyślne hasło jest puste. To nie jest bezpieczne i powinno zostać zmienione natychmiast!

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

mysql -u root -p
CREATE DATABASE nextcloud;

Potem stwórz użytkownika, który będzie miał dostęp do bazy Nextcloud:

CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'TWOJE_HASŁO_TUTAJ';
informacja

Nie pomijaj tego kroku i nie używaj użytkownika root. To niebezpieczne i może narazić Twoje dane!

Na koniec nadaj uprawnienia nowemu użytkownikowi:

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

Po zakończeniu naciśnij Ctrl-D, aby wyjść z bazy i kontynuuj kolejne kroki.

Instalacja

Teraz można rozpocząć właściwą instalację Nextcloud. Pobierz i rozpakuj oprogramowanie:

cd /var/www/
wget https://download.nextcloud.com/server/releases/latest.zip
apt-get install unzip
unzip latest.zip
chown -R www-data:www-data nextcloud
rm latest.zip

Po tym kroku uruchom skrypt instalacyjny. Dostęp do niego jest możliwy przez przeglądarkę pod adresem:

Pojawi się konfiguracja instalatora, gdzie utworzysz użytkownika root i podasz dane bazy:

Bezpieczeństwo

Ostrzeżenia podczas konfiguracji

Katalog danych

Zdecydowanie zalecamy umieszczenie katalogu danych poza katalogiem web root (czyli poza /var/www). Najprościej zrobić to przy nowej instalacji. Katalog można zdefiniować podczas konfiguracji, ale musi on najpierw zostać utworzony i mieć odpowiednie uprawnienia. Dane mogą być np. przechowywane w katalogu Cloud w katalogu domowym.

mkdir /home/cloud/
chown -R www-data:www-data /home/cloud/

HTTPS przez certyfikat SSL (Let's Encrypt)

Dobra chmura powinna być dostępna tylko przez połączenie SSL. Bez szyfrowania SSL dane i informacje przesyłane są w czystym tekście, co umożliwia łatwe przechwycenie i odczyt bez szyfrowania.

<IfModule mod_ssl.c>
<VirtualHost *:443>
DocumentRoot "/var/www/nextcloud"
ServerName domena.tld

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All

<IfModule mod_dav.c>
Dav off
</IfModule>

SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
Satisfy Any

</Directory>

SSLCertificateFile /etc/letsencrypt/live/domena.tld/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domena.tld/privkey.pem
</VirtualHost>
</IfModule>

<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; preload"
</IfModule>

Dodatkowo cały ruch HTTP powinien być przekierowany na HTTPS za pomocą stałego przekierowania 301. Można to zrobić w Apache, konfigurując VirtualHosty tak:

<VirtualHost *:80>
ServerName domena.tld
Redirect permanent / https://domena.tld/
</VirtualHost>

Zarządzanie Nextcloud

Dostęp do Nextcloud jest możliwy przez przeglądarkę, a także przez smartfon i komputer za pomocą aplikacji. Źródła do pobrania znajdziesz tutaj: https://nextcloud.com/install/#install-clients

W ustawieniach możesz po instalacji dostosować wiele opcji i zobaczyć ważne informacje, takie jak logi czy aktywności. Są tam też dodatkowe ustawienia bezpieczeństwa (uwierzytelnianie dwuskładnikowe, szyfrowanie itd.), ustawienia wyglądu (logo, kolor, slogan, nagłówek), ustawienia dostępu i wiele więcej.

Aplikacje

Możesz też instalować dodatkowe aplikacje poza tymi domyślnymi. Znajdziesz je w menu Aplikacje.

Dzięki takim Aplikacjom możesz jeszcze bardziej spersonalizować Nextcloud według swoich potrzeb.

Podsumowanie

Gratulacje, udało Ci się zainstalować Nextcloud! Jeśli masz pytania lub problemy, skontaktuj się z naszym supportem, który jest do Twojej dyspozycji codziennie!