Instalacja Nextcloud na Windows Server 2022 BEZ Dockera
Aby zainstalować Nextcloud na Windows Server 2022 z użyciem IIS (Internet Information Services) i bez użycia Dockera, proces wymaga skonfigurowania kilku kluczowych komponentów. Nextcloud jest aplikacją PHP, która standardowo działa na serwerach z systemem Linux (LAMP stack), ale można ją uruchomić także na serwerach Windows z IIS, odpowiednio konfigurowując środowisko.
Poniżej przedstawiam kroki, jak to zrobić:
1. Zainstaluj IIS (Internet Information Services)
- Otwórz Server Manager.
- Kliknij Add Roles and Features.
- Wybierz Role-based or feature-based installation, następnie zaznacz rolę Web Server (IIS).
- W sekcji Role Services upewnij się, że zaznaczono:
- CGI (dla obsługi PHP),
- Common HTTP Features (Static Content, Default Document, etc.),
- Security (Basic Authentication, Windows Authentication, Request Filtering),
- Application Development (ISAPI Extensions, ISAPI Filters).
- Ukończ instalację.
2. Instalacja WSL i dystrybucji Linuxa
Jeśli nie masz jeszcze zainstalowanego WSL na swoim systemie Windows, wykonaj następujące kroki:
- Otwórz PowerShell jako administrator.
- Uruchom następujące polecenie, aby zainstalować WSL:
bash Skopiuj kod wsl --install
- Po ponownym uruchomieniu systemu wybierz dystrybucję Linuxa (np. Ubuntu), jeśli nie została automatycznie zainstalowana.
- Możesz też zainstalować dystrybucję ręcznie z Microsoft Store.
- Zalecana dystrybucja to Ubuntu, ponieważ większość instrukcji jest dostosowana do niej.
- Po instalacji uruchom WSL poprzez wyszukanie aplikacji "Ubuntu" lub innej zainstalowanej dystrybucji i skonfiguruj konto użytkownika.
3. Aktualizacja pakietów i instalacja Apache, PHP, MariaDB
- Zaktualizuj listę pakietów i zainstaluj zależności:
bash Skopiuj kod sudo apt update && sudo apt upgrade -y
- Zainstaluj Apache, PHP oraz MariaDB:
bash Skopiuj kod sudo apt install apache2 mariadb-server libapache2-mod-php php php-mysql php-xml php-mbstring php-zip php-gd php-curl php-intl php-bcmath unzip -y
- Uruchom i skonfiguruj MariaDB:
bash Skopiuj kod sudo service mysql start sudo mysql_secure_installation
- Podczas konfiguracji wybierz silne hasło dla root i usuń anonimowych użytkowników oraz testową bazę danych.
- Zaloguj się do MariaDB, aby stworzyć bazę danych dla Nextcloud:
bash Skopiuj kod sudo mysql -u root -p
- Wprowadź hasło roota, a następnie wykonaj poniższe zapytania SQL, aby utworzyć bazę danych i użytkownika dla Nextcloud:
sql Skopiuj kod CREATE DATABASE nextcloud; CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'strongpassword'; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost'; FLUSH PRIVILEGES; EXIT;
- Zmienna
strongpasswordto hasło użytkownika bazy danych, które sam wybierzesz.
5. Instalacja Nextcloud
- Pobierz najnowszą wersję Nextcloud:
bash Skopiuj kod wget https://download.nextcloud.com/server/releases/latest.zip
- Rozpakuj archiwum:
bash Skopiuj kod unzip latest.zip
- Przenieś folder Nextcloud do katalogu Apache:
bash Skopiuj kod sudo mv nextcloud /var/www/html/
- Zmień właściciela i uprawnienia do plików Nextcloud:
bash Skopiuj kod sudo chown -R www-data:www-data /var/www/html/nextcloud sudo chmod -R 755 /var/www/html/nextcloud
6. Konfiguracja Apache dla Nextcloud
- Stwórz plik konfiguracji dla Nextcloud w Apache:
bash Skopiuj kod sudo nano /etc/apache2/sites-available/nextcloud.conf
- Wklej następującą zawartość do pliku:
apache
Skopiuj kod
<VirtualHost *:80>
DocumentRoot /var/www/html/nextcloud/
ServerName localhost
<Directory /var/www/html/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/html/nextcloud
SetEnv HTTP_HOME /var/www/html/nextcloud
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
- Włącz moduły Apache i aktywuj konfigurację:
bash Skopiuj kod sudo a2enmod rewrite headers env dir mime sudo a2ensite nextcloud.conf sudo service apache2 reload
7. Finalizacja instalacji Nextcloud
- Otwórz przeglądarkę w systemie Windows i wpisz adres:
bash Skopiuj kod http://localhost
- Powinien pojawić się kreator konfiguracji Nextcloud.
- Podaj ścieżkę instalacyjną
/var/www/html/nextcloud/data, użytkownika i hasło admina, a także dane do bazy danych, które stworzyliśmy wcześniej:
- Użytkownik bazy danych:
nextclouduser - Hasło: to, które ustawiłeś wcześniej
- Nazwa bazy danych:
nextcloud
- Kliknij "Finish Setup".
8. Zainstaluj moduł URL Rewrite i Application Request Routing (ARR)
Aby IIS mógł działać jako reverse proxy, musisz zainstalować dwa dodatkowe moduły:
- URL Rewrite:
- Pobierz i zainstaluj moduł URL Rewrite z oficjalnej strony Microsoftu.
- Application Request Routing (ARR):
- Pobierz i zainstaluj Application Request Routing z tej strony.
ARR umożliwia przesyłanie żądań HTTP do serwera proxy, a URL Rewrite pomaga w przekierowywaniu adresów.
9. Włącz reverse proxy w IIS
- Po zainstalowaniu modułów otwórz IIS Manager.
- W lewej kolumnie wybierz serwer (główny węzeł serwera, np. nazwę komputera).
- W sekcji IIS kliknij na Application Request Routing Cache.
- Po prawej stronie kliknij na Server Proxy Settings.
- W sekcji Proxy zaznacz opcję Enable Proxy.
- Zastosuj zmiany klikając Apply.
10. Skonfiguruj domenę w IIS
- W IIS Manager, kliknij prawym przyciskiem myszy na Sites i wybierz Add Website.
- Podaj nazwę witryny, fizyczną ścieżkę do dowolnego katalogu na dysku (np.
C:\inetpub\nextcloud), i wybierz odpowiedni port oraz domenę. - Upewnij się, że Twoja domena jest zarejestrowana w pliku hosts (lub przez DNS) na systemie Windows, aby wskazywała na adres
localhost. - Aby edytować plik hosts:
- Otwórz notatnik jako administrator i edytuj plik znajdujący się w:
C:\Windows\System32\drivers\etc\hosts.- Dodaj linię z przypisaniem domeny do lokalnego adresu IP:
plaintext Skopiuj kod 127.0.0.1 your-domain.com
- Po skonfigurowaniu witryny przejdź do zakładki URL Rewrite (na poziomie tej nowo utworzonej witryny).
11. Skonfiguruj regułę proxy w IIS (URL Rewrite)
- Wybierz witrynę, którą właśnie utworzyłeś w IIS Manager.
- Kliknij URL Rewrite.
- Po prawej stronie wybierz Add Rule(s)....
- Wybierz opcję Blank rule i kliknij OK.
- W sekcji Name podaj nazwę reguły, np.
Nextcloud Proxy. - W sekcji Match URL, w polu Requested URL wybierz Matches the Pattern, a w polu Using wybierz Regular Expressions. W polu Pattern wpisz
.*, aby przechwycić wszystkie żądania. - Przejdź do sekcji Conditions i kliknij Add.
- W polu Condition input wpisz
{HTTP_HOST}. W polu Pattern wpisz swoją domenę, np.your-domain.com, a następnie kliknij OK. - W sekcji Action ustaw:
- Action Type: Rewrite
- Rewrite URL:
http://localhost:PORT{R:0}(gdziePORTto port, na którym działa Twoja instancja Nextcloud w WSL, zazwyczaj jest to port 80 lub inny, na który przekierowałeś ruch WSL). - Append Query String: zaznaczone.
- Na przykład, jeśli Twoja instancja Nextcloud działa na WSL na porcie 8080, wpisz:
plaintext
Skopiuj kod
http://localhost:8080/{R:0}
- Kliknij Apply, aby zapisać zmiany.
12. Uruchom Nextcloud w WSL na odpowiednim porcie
Aby upewnić się, że Twoja instancja Nextcloud działa poprawnie na odpowiednim porcie w WSL, wykonaj następujące kroki:
- Otwórz terminal WSL i uruchom Apache na specyficznym porcie (jeśli to konieczne):
bash Skopiuj kod sudo service apache2 start
- Możesz sprawdzić, na którym porcie działa Nextcloud, otwierając go w przeglądarce za pomocą adresu:
bash Skopiuj kod http://localhost:PORT
- Upewnij się, że port używany przez WSL (np. 8080) jest przekierowany z localhost (Windows) do WSL.
13. Skonfiguruj HTTPS
- Konfiguracja HTTPS jest zalecana dla Nextcloud ze względu na bezpieczeństwo. Możesz użyć Certyfikatów SSL w IIS.
- Skonfiguruj certyfikaty SSL za pomocą narzędzia IIS Manager:
- Bindings > Dodaj HTTPS > Wybierz certyfikat SSL.
14. Dodatkowe Konfiguracje
- Aby zwiększyć wydajność Nextcloud, rozważ konfigurację opcjonalnych modułów PHP i serwera, takich jak:
- Opcache (dla PHP),
- Redis (dla cache’owania).
15. Testowanie
- Upewnij się, że Nextcloud działa poprawnie, odwiedzając stronę instalacji i logując się do interfejsu administratora.
- Testuj funkcje, takie jak przesyłanie plików, tworzenie użytkowników itp.
Uwagi końcowe:
Instalacja Nextcloud na IIS wymaga nieco więcej konfiguracji niż na serwerach opartych na Linuxie, głównie z powodu innych ścieżek instalacyjnych i obsługi modułów. Jednak po poprawnym skonfigurowaniu system będzie działał bez problemów na Windows Server 2022.
Kontakt z nami
Masz pomysły, uwagi lub pytania?
Liczba wyświetleń: 29
