15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij
01.11.2024

Jak utworzyć własną chmurę: Kompletny przewodnik konfiguracji

Przechowywanie w chmurze stało się niezbędną infrastrukturą zarówno dla osób indywidualnych, jak i firm. Niezależnie od tego, czy potrzebujesz prostego sposobu synchronizacji plików na urządzeniach, czy w pełni kontrolowanego prywatnego środowiska przechowywania dla wrażliwych danych biznesowych, zrozumienie sposobu tworzenia przechowywania w chmurze daje ci elastyczność wyboru właściwego rozwiązania dla twoich dokładnych potrzeb.

Ten kompleksowy przewodnik obejmuje wszystko, od oceny wymagań dotyczących przechowywania do wdrożenia gotowej do produkcji instancji Nextcloud na własnym serwerze — wraz z wzmocnieniem bezpieczeństwa, konfiguracją bazy danych i konfiguracją serwera WWW.

Spis treści

  1. Oceń wymagania dotyczące przechowywania w chmurze
  2. Usługi przechowywania w chmurze stron trzecich
  3. Konfiguracja własnego serwera przechowywania w chmurze
  4. Konfiguracja Apache dla Nextcloud
  5. Konfiguracja bazy danych MySQL
  6. Ukończenie instalacji Nextcloud
  7. Zdalne dostęp do przechowywania w chmurze
  8. Zabezpieczenie przechowywania w chmurze

1. Oceń wymagania dotyczące przechowywania w chmurze {#assess}

Zanim wybierzesz rozwiązanie lub napiszesz jedną komendę, musisz mieć jasny obraz tego, czego faktycznie potrzebujesz. Pominięcie tego kroku jest najczęstszą przyczyną niepowodzenia projektów przechowywania w chmurze lub ich niepotrzebnego drożyzny.

Zadaj sobie następujące pytania:

  • Pojemność przechowywania: Ile gigabajtów lub terabajtów danych musisz przechowywać teraz i jak szybko będzie to rosnąć w ciągu następnych 12–24 miesięcy?
  • Dostęp użytkownika: Czy to przechowywanie będzie używane przez jedną osobę, mały zespół czy całą organizację? Czy użytkownicy potrzebują jednoczesnego dostępu?
  • Dostęp geograficzny: Czy użytkownicy uzyskują dostęp do plików z wielu krajów lub regionów? Opóźnienie ma znaczenie dla dużych transferów plików.
  • Wrażliwość danych: Czy przechowujesz dokumenty osobiste, regulowane dane biznesowe czy zastrzeżoną własność intelektualną? To bezpośrednio wpływa na wymagania dotyczące bezpieczeństwa i zgodności.
  • Budżet: Czy jesteś zadowolony z miesięcznej subskrypcji usługi zarządzanej, czy jednorazowa konfiguracja serwera z przewidywalnymi kosztami hostingu ma większy sens?
  • Wymagania dotyczące kontroli: Czy potrzebujesz pełnej własności swoich danych, niestandardowych integracji lub możliwości audytu dzienników dostępu? Jeśli tak, samodzielnie hostowana jest właściwą ścieżką.

Szczera odpowiedź na te pytania powie ci, czy usługa strony trzeciej jest wystarczająca, czy musisz wdrożyć własną infrastrukturę chmury.

2. Usługi przechowywania w chmurze stron trzecich {#third-party}

Jeśli potrzebujesz przechowywania w chmurze szybko i nie wymagasz szczegółowej kontroli nad podstawową infrastrukturą, kilka dojrzałych platform warto rozważyć. Każda ma odrębne mocne strony w zależności od twojego ekosystemu i przepływu pracy.

2.1. Google Drive

Najlepsze dla: Osób indywidualnych i zespołów już korzystających z Google Workspace (Gmail, Docs, Sheets, Slides).

Kluczowe funkcje:

  • 15 GB bezpłatnego przechowywania wspólnego dla Gmail, Drive i Zdjęć
  • Współpraca w czasie rzeczywistym nad dokumentami, arkuszami kalkulacyjnymi i prezentacjami
  • Głęboka integracja z narzędziami produktywnościowymi Google Workspace
  • Dostępne na web, desktop (Windows/macOS), iOS i Android

Pierwsze kroki: Zaloguj się na swoje konto Google na stronie drive.google.com, a następnie prześlij pliki bezpośrednio przez interfejs przeglądarki lub zainstaluj aplikację Google Drive na pulpicie, aby automatycznie synchronizować folder.

Ograniczenia: Przechowywanie jest wspólne z Gmail. Użytkownicy świadomi prywatności powinni pamiętać, że warunki Google pozwalają na skanowanie danych w celu poprawy usługi.

2.2. Dropbox

Najlepsze dla: Zespołów, które priorytetowo traktują bezproblemową synchronizację plików i integracje aplikacji stron trzecich.

Kluczowe funkcje:

  • 2 GB bezpłatnego przechowywania (rozszerzalne poprzez polecenia lub plany płatne)
  • Wiodąca w branży szybkość synchronizacji i niezawodność
  • Rozbudowane integracje stron trzecich (Slack, Zoom, Microsoft Office)
  • Smart Sync do uzyskiwania dostępu do plików w chmurze bez zużywania lokalnego przechowywania

Pierwsze kroki: Utwórz bezpłatne konto na stronie dropbox.com, a następnie zainstaluj klienta pulpitu, aby włączyć automatyczną synchronizację folderów na wszystkich urządzeniach.

Ograniczenia: Warstwa bezpłatna jest bardzo ograniczona do 2 GB. Plany płatne są droższe niż konkurenci za równoważne przechowywanie.

2.3. Microsoft OneDrive

Najlepsze dla: Organizacji korzystających z Microsoft 365 lub środowisk skoncentrowanych na Windows.

Kluczowe funkcje:

  • 5 GB bezpłatnego przechowywania (abonenci Microsoft 365 otrzymują 1 TB)
  • Natywna integracja z Eksploratorem plików Windows
  • Wspólne tworzenie w czasie rzeczywistym w Word, Excel i PowerPoint
  • Zaawansowane kontrole udostępniania i daty wygaśnięcia dla udostępnionych linków

Pierwsze kroki: Zaloguj się za pomocą konta Microsoft na stronie onedrive.live.com lub uzyskaj dostęp do OneDrive bezpośrednio z Eksploratora plików Windows. Pliki synchronizują się automatycznie po zainstalowaniu klienta pulpitu.

Ograniczenia: Ściśle powiązane z ekosystemem Microsoft, co może być ograniczeniem dla zespołów międzyplatformowych.

Kiedy usługi stron trzecich nie wystarczają

Usługi stron trzecich są wygodne, ale wiążą się z kompromisami: nie kontrolujesz infrastruktury, zasady prywatności danych się różnią, koszty przechowywania skalują się liniowo wraz z użytkowaniem, a dostosowanie jest ograniczone. Jeśli którekolwiek z tych ograniczeń stanowi problem dla twojego przypadku użycia, samodzielnie hostowane przechowywanie w chmurze jest lepszą inwestycją długoterminową.

3. Konfiguracja własnego serwera przechowywania w chmurze {#self-hosted}

Samodzielnie hostowane przechowywanie w chmurze daje ci pełną kontrolę nad danymi, infrastrukturą i zasadami dostępu. Nextcloud jest wiodącą platformą open-source do tego celu — jest aktywnie utrzymywana, bogata w funkcje i zaufana przez przedsiębiorstwa na całym świecie.

Krok 1: Wybierz środowisko hostingu

Infrastruktura serwera jest podstawą wdrożenia przechowywania w chmurze. Masz kilka opcji:

OpcjaNajlepsze dlaUwagi
VPS (Virtual Private Server)Większość przypadków użyciaOpłacalne, skalowalne, zarządzana sieć
Serwer dedykowanyWdrożenia o wysokim ruchu lub na dużą skalęMaksymalna wydajność, pełna kontrola sprzętu
Raspberry PiLaboratorium domowe lub użytek osobistyBardzo niski koszt, ograniczona wydajność
Hosting współdzielonyNie zalecane dla NextcloudNiewystarczająca kontrola i wydajność

Dla większości użytkowników wdrażających produkcyjną instancję Nextcloud, plan VPS Hosting jest optymalnym punktem wyjścia. Zapewnia dostęp root, dedykowane zasoby i możliwość skalowania przechowywania w miarę wzrostu potrzeb — bez kosztów ogólnych pełnej dedykowanej maszyny.

Jeśli prowadzisz dużą organizację z setkami użytkowników lub przechowujesz terabajty danych, Serwer dedykowany daje ci surową wydajność i pojemność przechowywania do obsługi wymagających obciążeń bez rywalizacji o zasoby.

Zalecane specyfikacje serwera dla Nextcloud:

  • OS: Ubuntu 22.04 LTS lub Debian 12
  • RAM: Minimum 2 GB (4 GB+ zalecane dla wdrożeń wieloużytkownikowych)
  • CPU: Minimum 2 vCPU
  • Przechowywanie: Zależy od objętości danych — zacznij od co najmniej 50 GB SSD
  • Sieć: Niezmierzone lub szerokopasmowe połączenie dla dużych transferów plików

Krok 2: Przygotuj środowisko serwera

Przed zainstalowaniem Nextcloud upewnij się, że serwer ma zainstalowany i skonfigurowany kompletny stos LAMP (Linux, Apache, MySQL, PHP).

Zaktualizuj pakiety systemowe:

sudo apt update && sudo apt upgrade -y

Zainstaluj serwer WWW Apache:

sudo apt install apache2 -y

Zainstaluj MySQL (lub MariaDB):

sudo apt install mysql-server -y
sudo mysql_secure_installation

Zainstaluj PHP i wymagane rozszerzenia:

Nextcloud wymaga PHP 8.1 lub wyższego wraz z kilkoma rozszerzeniami. Zainstaluj je wszystkie naraz:

sudo apt install php php-cli php-fpm php-mysql php-zip php-gd 
php-mbstring php-curl php-xml php-bcmath php-intl php-imagick 
php-gmp libapache2-mod-php -y

Sprawdź wersję PHP:

php -v

Krok 3: Pobierz i zainstaluj Nextcloud

Gdy środowisko serwera jest gotowe, pobierz najnowszą wersję Nextcloud. Zawsze sprawdzaj nextcloud.com/install pod kątem bieżącego numeru wersji przed uruchomieniem poniższej komendy.

Pobierz archiwum Nextcloud:

wget https://download.nextcloud.com/server/releases/nextcloud-28.0.0.zip

> Zastąp 28.0.0 najnowszym numerem wersji stabilnej dostępnym w momencie instalacji.

Zainstaluj narzędzie unzip, jeśli nie jest już obecne:

sudo apt install unzip -y

Rozpakuj archiwum:

unzip nextcloud-28.0.0.zip

Przenieś katalog Nextcloud do głównego katalogu WWW:

sudo mv nextcloud /var/www/

Ustaw prawidłową własność pliku, aby Apache mógł czytać i pisać pliki:

sudo chown -R www-data:www-data /var/www/nextcloud
sudo chmod -R 755 /var/www/nextcloud

4. Konfiguracja Apache dla Nextcloud {#apache}

Apache potrzebuje dedykowanej konfiguracji hosta wirtualnego, aby prawidłowo obsługiwać instancję Nextcloud. Ta konfiguracja obsługuje przepisywanie adresów URL, uprawnienia katalogów i lokalizacje plików dziennika.

Utwórz plik konfiguracji hosta wirtualnego:

sudo nano /etc/apache2/sites-available/nextcloud.conf

Wklej następującą konfigurację:

<VirtualHost *:80>
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot /var/www/nextcloud

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

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

        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
    CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost>

> Zastąp yourdomain.com rzeczywistą nazwą domeny. Jeśli nie zarejestrowałeś jeszcze domeny, Rejestracja domeny poprzez AlexHost ułatwia uzyskanie jej wraz z hostingiem.

Włącz witrynę Nextcloud i wymagane moduły Apache:

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite headers env dir mime

Wyłącz domyślną witrynę Apache, aby uniknąć konfliktów:

sudo a2dissite 000-default.conf

Przeładuj Apache, aby zastosować zmiany:

sudo systemctl reload apache2
sudo systemctl restart apache2

Sprawdź, czy Apache działa bez błędów:

sudo systemctl status apache2

5. Konfiguracja bazy danych MySQL {#database}

Nextcloud wymaga dedykowanej bazy danych do przechowywania metadanych plików, kont użytkowników, uprawnień udostępniania i ustawień aplikacji. Nigdy nie używaj konta root MySQL dla baz danych aplikacji — zawsze utwórz dedykowanego użytkownika z ograniczonymi uprawnieniami.

Zaloguj się do powłoki MySQL:

mysql -u root -p

Utwórz dedykowaną bazę danych dla Nextcloud:

CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Utwórz dedykowanego użytkownika bazy danych:

CREATE USER 'ncuser'@'localhost' IDENTIFIED BY 'YourStrongPasswordHere';

> Użyj silnego, unikalnego hasła. Unikaj słów ze słownika i dołącz wielkie litery, cyfry i symbole.

Przyznaj użytkownikowi pełne uprawnienia tylko do bazy danych Nextcloud:

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

Zastosuj zmiany uprawnień i wyjdź:

FLUSH PRIVILEGES;
EXIT;

Sprawdź, czy baza danych została pomyślnie utworzona:

mysql -u ncuser -p -e "SHOW DATABASES;"

Powinieneś zobaczyć nextcloud na liście w danych wyjściowych.

6. Ukończenie instalacji Nextcloud {#complete}

Po skonfigurowaniu Apache i przygotowaniu bazy danych możesz ukończyć konfigurację Nextcloud za pośrednictwem instalatora opartego na sieci Web.

Otwórz przeglądarkę i przejdź do:

http://yourdomain.com

Zobaczysz kreatora konfiguracji Nextcloud. Wypełnij następujące pola:

PoleWartość
Nazwa użytkownika administratoraWybierz bezpieczną nazwę użytkownika administratora (unikaj „admin”)
Hasło administratoraUżyj silnego, unikalnego hasła
Folder danych/var/www/nextcloud/data (domyślnie)
Typ bazy danychMySQL/MariaDB
Użytkownik bazy danychncuser
Hasło bazy danychHasło ustawione w kroku 5
Nazwa bazy danychnextcloud
Host bazy danychlocalhost

Kliknij „Zakończ konfigurację” i czekaj na inicjalizację Nextcloud. Może to potrwać 1–2 minuty przy pierwszym uruchomieniu, ponieważ tworzy schemat bazy danych i instaluje domyślne aplikacje.

Po zakończeniu zostaniesz przekierowany do pulpitu nawigacyjnego Nextcloud — przechowywanie w chmurze jest teraz aktywne.

7. Zdalne dostęp do przechowywania w chmurze {#access}

Jedną z głównych zalet samodzielnie hostowanego przechowywania w chmurze jest uniwersalny dostęp z dowolnego urządzenia, gdziekolwiek na świecie.

Klienty pulpitu

Pobierz Klienta pulpitu Nextcloud dla Windows, macOS lub Linux z nextcloud.com/install. Po zainstalowaniu i połączeniu z serwerem tworzy lokalny folder synchronizacji, który automatycznie odzwierciedla przechowywanie w chmurze — podobnie jak Dropbox lub OneDrive.

Aplikacje mobilne

Aplikacja mobilna Nextcloud jest dostępna zarówno dla iOS (App Store) jak i Android (Google Play / F-Droid). Obsługuje automatyczne przesyłanie zdjęć, dostęp do plików w trybie offline i powiadomienia push dla udostępnionych plików.

Dostęp WebDAV

Nextcloud udostępnia punkt końcowy WebDAV, umożliwiając montowanie przechowywania w chmurze jako dysku sieciowego w Eksploratorze plików Windows, Finderze macOS lub dowolnym menedżerze plików kompatybilnym z WebDAV w systemie Linux:

https://yourdomain.com/remote.php/dav/files/yourusername/

Dostęp przeglądarki

Instancja Nextcloud jest zawsze dostępna za pośrednictwem dowolnej nowoczesnej przeglądarki internetowej na stronie https://yourdomain.com — nie jest wymagana instalacja klienta.

8. Zabezpieczenie przechowywania w chmurze {#security}

Serwer samodzielnie hostowanego przechowywania w chmurze udostępniony w Internecie wymaga prawidłowego wzmocnienia bezpieczeństwa. Pominięcie tego kroku zagraża twoim danym — i potencjalnie danym twoich użytkowników — poważnym ryzykiem.

8.1. Włącz HTTPS z SSL/TLS

Uruchamianie Nextcloud przez zwykły HTTP jest niedopuszczalne dla żadnego wdrożenia produkcyjnego. Cały ruch musi być szyfrowany przy użyciu HTTPS.

Opcja A: Bezpłatny SSL z Let’s Encrypt (Certbot)

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

Certbot automatycznie zmodyfikuje konfigurację Apache, aby włączyć HTTPS i skonfigurować automatyczne odnawianie certyfikatów.

Opcja B: Komercyjny certyfikat SSL

W przypadku wdrożeń biznesowych wymagających rozszerzonej walidacji (EV) lub walidacji organizacji (OV), rozważ zakup Certyfikatu SSL od AlexHost. Certyfikaty komercyjne zapewniają wyższe wskaźniki zaufania i są często wymagane do zgodności ze standardami takimi jak PCI-DSS.

Po włączeniu HTTPS wymuś przekierowanie całego ruchu HTTP do HTTPS, dodając następujące do hosta wirtualnego Apache:

<VirtualHost *:80>
    ServerName yourdomain.com
    Redirect permanent / https://yourdomain.com/
</VirtualHost>

8.2. Skonfiguruj nagłówki bezpieczeństwa Nextcloud

Dodaj następujące nagłówki do konfiguracji hosta wirtualnego Apache, aby chronić przed typowymi lukami w sieci Web:

<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set X-XSS-Protection "1; mode=block"
    Header always set Referrer-Policy "no-referrer"
</IfModule>

8.3. Skonfiguruj zaporę sieciową

Użyj UFW (Uncomplicated Firewall), aby ograniczyć dostęp tylko do niezbędnych portów:

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status

8.4. Wdrażaj regularne kopie zapasowe

Utrata danych z powodu awarii sprzętu, oprogramowania ransomware lub przypadkowego usunięcia jest rzeczywistym ryzykiem. Wdrażaj automatyczne kopie zapasowe obejmujące:

  • Katalog danych Nextcloud: /var/www/nextcloud/data/
  • Baza danych: Użyj mysqldump dla regularnych migawek bazy danych
  • Pliki konfiguracyjne: /var/www/nextcloud/config/config.php

Przykładowy skrypt kopii zapasowej bazy danych:

#!/bin/bash
BACKUP_DIR="/backups/nextcloud"
DATE=$(date +%Y-%m-%d)
mkdir -p $BACKUP_DIR
mysqldump -u ncuser -p'YourPassword' nextcloud > $BACKUP_DIR/nextcloud_db_$DATE.sql
tar -czf $BACKUP_DIR/nextcloud_data_$DATE.tar.gz /var/www/nextcloud/data/
echo "Backup completed: $DATE"

Zaplanuj ten skrypt za pomocą crona, aby uruchamiał się co noc:

sudo crontab -e
# Add this line:
0 2 * * * /path/to/backup_script.sh

8.5. Zarządzaj kontami użytkowników i uprawnieniami

  • Utwórz indywidualne konta użytkowników dla każdej osoby — nigdy nie udostępniaj poświadczeń
  • Użyj wbudowanej funkcji Grupy Nextcloud do zarządzania dostępem do udostępnionych folderów
  • Włącz uwierzytelnianie dwuskładnikowe (2FA) dla wszystkich kont administratora
  • Regularnie przeprowadzaj audyt kont użytkowników i odwołuj dostęp dla nieaktywnych użytkowników
  • Ustaw limity przechowywania na użytkow
15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij