Dodawanie strony z własną konfiguracją
ServBay zapewnia elastyczne sposoby dodawania stron. Oprócz standardowego trybu, w którym konfiguracje zarządzane są automatycznie przez ServBay, dostępny jest również tryb „własnej konfiguracji”. Tryb ten pozwala programiście bezpośrednio tworzyć i edytować pliki konfiguracyjne serwera WWW (Nginx, Caddy, Apache) dla konkretnej strony, zapewniając maksymalną swobodę i kontrolę. Jest szczególnie przydatny w przypadku potrzeby zaawansowanego dostosowania, niestandardowych ustawień czy wdrażania nietypowych rozwiązań.
Znaczenie własnej konfiguracji
Wybierając własną konfigurację:
- Pełna kontrola: Możesz bezpośrednio edytować fragment konfiguracji serwera dla danej strony (np. blok
server
w Nginx,VirtualHost
w Apache, definicja strony w Caddy). - Funkcje zaawansowane: Zastosujesz rozwiązania niedostępne lub trudne w trybie standardowym, takie jak złożone reguły przepisywania, specyficzne ustawienia proxy, własny format logów czy dedykowane nagłówki zabezpieczeń.
- Sytuacje specjalne: Świetnie sprawdza się przy potrzebie odzwierciedlenia konfiguracji produkcyjnej, integracji niestandardowych modułów czy głębokiego debugowania.
Należy jednak pamiętać, że w tym trybie to Ty odpowiadasz za poprawność i bezpieczeństwo konfiguracji, w tym zarządzanie certyfikatami SSL.
Kroki dodawania strony z własną konfiguracją
- Przejdź do stron: W lewym menu ServBay kliknij
Websites
. - Dodaj nową stronę: Kliknij przycisk
+
(plus) nad listą stron. - Uzupełnij podstawowe informacje:
- Name: Podaj rozpoznawalną nazwę strony (np.
My Custom Project
). - Domain: Wpisz domenę do lokalnego użytku (np.
myproject.servbay.demo
).
- Name: Podaj rozpoznawalną nazwę strony (np.
- Wybierz serwer WWW: W menu
Web Server
wskaż, którego serwera chcesz użyć (Nginx, Caddy lub Apache). To bardzo istotny wybór — determinuje typ udostępnionego szablonu konfiguracyjnego oraz to, który serwer będzie obsługiwał stronę. - Włącz własną konfigurację: Zaznacz pole
Custom Configuration
. - Przegląd i edycja szablonu: Po zaznaczeniu tego pola poniżej pojawi się automatycznie wypełniony przykładowy szablon konfiguracji odpowiadający wybranemu serwerowi WWW. Stanowi on punkt wyjścia do dalszych własnych modyfikacji (często są one konieczne).
Zrozumienie i edycja szablonów konfiguracji
ServBay, w zależności od wybranego serwera WWW (Nginx, Caddy, Apache), przygotuje odpowiedni szablon konfiguracji. Należy go dostosować do swoich potrzeb i wymagań projektu.
1. Własna konfiguracja Nginx
Po wyborze Nginx otrzymasz bazowy szablon bloku server
.
Struktura szablonu i kluczowe dyrektywy:
nginx
# Nasłuch portu i protokołu
listen 443 ssl; # HTTPS
# Powiązana domena
server_name myproject.servbay.demo;
# Katalog źródłowy strony (upewnij się, że katalog istnieje)
root /Applications/ServBay/www/myproject.servbay.demo;
# Domyślne pliki indeksowe
index index.php index.html index.htm;
# Protokoły SSL/TLS i pakiety szyfrujące (przykład)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_session_cache shared:ServBay:10m;
ssl_session_tickets off;
# Ścieżki do certyfikatów SSL (jeśli używasz HTTPS, musisz je wskazać ręcznie)
# 【Ważne】Upewnij się, że pliki certyfikatów istnieją i ścieżki są poprawne
ssl_certificate /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt;
ssl_certificate_key /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key;
# Obsługa zapytań PHP (przykład dla PHP 8.3 — dostosuj wg własnej konfiguracji)
set $php_version '8.3';
include enable-php-fpm-pathinfo.conf;
# Inne ustawienia, np. blok location, reguły rewrite itp.
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Ścieżka do logów dostępu i błędów (opcjonalnie)
# access_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-access.log;
# error_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-error.log;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Na co zwrócić uwagę:
- Upewnij się, że
server_name
odpowiada wybranej domenie. - Wskaż poprawną ścieżkę
root
prowadzącą do plików projektu. - Jeśli chcesz korzystać z HTTPS, odkomentuj lub dodaj
listen 443 ssl;
oraz koniecznie poprawne ścieżki dossl_certificate
issl_certificate_key
. - Dodawaj dodatkowe bloki location, reguły rewrite, ustawienia proxy itp., zgodnie z potrzebami.
2. Własna konfiguracja Caddy
Po wyborze Caddy otrzymasz szablon pliku Caddyfile z definicją strony.
Struktura szablonu i najważniejsze polecenia:
nginx
encode zstd gzip
import set-log myproject.servbay.demo # nazwa pliku logu
import canonical-path
# Katalog źródłowy strony (upewnij się, że katalog istnieje)
root * /Applications/ServBay/www/myproject.servbay.demo
# Obsługa zapytań PHP
route {
import php-rewrite-default 8.3 # PHP w wersji 8.3
}
# Ustawienia TLS/SSL
# Wskaż ścieżkę do certyfikatu
# tls /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key
# Włączenie serwera plików
file_server
# Inne polecenia np. reverse_proxy, rewrite, header itp.
# ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Na co zwrócić uwagę:
- Domenę główną ustaw jako
myproject.servbay.demo
. - Poprawnie wskaż ścieżkę w dyrektywie
root
do plików projektu. - SSL/TLS: Domyślnie Caddy próbuje automatycznie uzyskać i zarządzać certyfikatem HTTPS dla domeny. W przypadku domen lokalnych jak
.servbay.demo
ta opcja nie zadziała. Jeśli potrzebujesz HTTPS, zdecydowanie zaleca się użycie poleceniatls
ze wskazaniem ścieżek do własnego certyfikatu i klucza. Upewnij się, że pliki istnieją, a ścieżki są poprawne. - W razie potrzeby dodaj inne dyrektywy Caddy.
3. Własna konfiguracja Apache
W przypadku wyboru Apache otrzymasz szablon bloku <VirtualHost>
.
Struktura szablonu i kluczowe polecenia:
apache
ServerName myproject.servbay.demo
DocumentRoot "/Applications/ServBay/www/myproject.servbay.demo"
# Włącz silnik SSL
SSLEngine on
# Ścieżki do certyfikatów SSL
# 【Ważne】Upewnij się, że pliki certyfikatów istnieją i ścieżki są poprawne
SSLCertificateFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt"
SSLCertificateKeyFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key"
# Uprawnienia katalogu
<Directory "/Applications/ServBay/www/myproject.servbay.demo">
DirectoryIndex index.php index.html index.htm
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Konfiguracja PHP-FPM (PHP 8.3)
Define PHP_VERSION 8.3
<FilesMatch \.php$>
SetHandler "proxy:unix:/Applications/ServBay/tmp/php-cgi-${PHP_VERSION}.sock|fcgi://localhost"
</FilesMatch>
# Log błędów i dostępu (opcjonalnie)
ErrorLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-error_log"
CustomLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-access_log" common
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Na co zwrócić uwagę:
- Zmień
ServerName
na wybraną domenę. - Popraw pole
DocumentRoot
wskazując folder projektu. - Skonfiguruj odpowiednie uprawnienia i opcje w bloku
<Directory>
. - Jeśli potrzeba, dodawaj własne dyrektywy Apache, np.
RewriteEngine
,ProxyPass
itd.
Zarządzanie certyfikatami SSL【Ważne】
Przy korzystaniu z własnej konfiguracji ServBay nie generuje automatycznie certyfikatów SSL (np. nie utworzy własnego urzędu CA, ani nie uzyska certyfikatu Let's Encrypt przez ACME).
- Musisz samodzielnie uzyskać lub wygenerować certyfikaty SSL i umieścić je w miejscu dostępnym dla serwera.
- Możesz wygenerować certyfikat własnoręcznie przez OpenSSL lub skorzystać z CA dostarczanych przez ServBay (ServBay User CA lub ServBay Public CA) do wystawiania certyfikatów dla środowiska developerskiego.
- W konfiguracji Nginx, Caddy lub Apache koniecznie wskaż poprawne ścieżki:
ssl_certificate
/ssl_certificate_key
(Nginx),tls
(Caddy) lubSSLCertificateFile
/SSLCertificateKeyFile
(Apache). - Jeśli pliki certyfikatów nie istnieją lub ścieżki są błędne, serwer WWW nie uruchomi się lub nie załaduje konfiguracji tej strony. Strona stanie się niedostępna, a w panelu ServBay lub logach serwera mogą pojawić się informacje o błędach.
Szczegóły dotyczące tworzenia i zarządzania lokalnymi certyfikatami znajdziesz w dokumentacji ServBay o zarządzaniu certyfikatami SSL.
Powiązanie z serwerem WWW
DANGER
Kluczową kwestią jest, że po wybraniu konkretnego serwera WWW (np. Nginx) i zapisaniu strony z własną konfiguracją, strona zostaje powiązana z tym serwerem.
- Oznacza to, że strona będzie dostępna tylko wtedy, gdy pakiet aktywowanego serwera WWW w ServBay to Nginx.
- Jeśli zmienisz domyślny serwer w
Usługi
—Domyślny serwer WWW
na Apache lub Caddy, strona oparta na własnej konfiguracji Nginx przestanie być widoczna, ponieważ jej konfiguracja nie zostanie załadowana. - To działa w obie strony — strony skonfigurowane na potrzeby Caddy lub Apache również będą działać wyłącznie wtedy, gdy dany serwer będzie aktywny.
Zapisywanie i wprowadzanie zmian
Po zakończeniu wszystkich edycji kliknij przycisk Save
w prawym dolnym rogu. ServBay zapisze Twoją konfigurację i spróbuje przeładować odpowiedni serwer WWW, aby zmiany zaczęły obowiązywać. Jeśli w konfiguracji wykryty zostanie błąd składniowy, zapis lub restart mogą się nie udać. W takiej sytuacji zweryfikuj powiadomienia ServBay lub sprawdź logi błędów serwera (domyślnie w podkatalogach /Applications/ServBay/logs/
), aby zlokalizować problem.
Podsumowanie
Dodawanie stron w ServBay przez własną konfigurację daje użytkownikom niespotykaną dotąd elastyczność i możliwość pełnej kontroli nad zachowaniem serwera dla każdego projektu. Wymaga to jednak znajomości konfiguracji serwerów WWW oraz wzięcia odpowiedzialności za poprawność, bezpieczeństwo i obsługę certyfikatów SSL. Dogłębne zrozumienie struktury szablonów, wymagań SSL oraz zasad wiązania konfiguracji z konkretnym serwerem jest kluczowe dla skutecznego korzystania z tej funkcji.