Jak przenieść stronę WWW z Apache na Caddy
ServBay oferuje możliwość korzystania z Caddy, Nginx i Apache jako serwerów WWW — użytkownik może wybrać to, co najlepiej odpowiada jego projektowi. Dla większości frameworków PHP oraz systemów CMS, ServBay ma już domyślnie przygotowane reguły przepisywania URL (Rewrite) pod Caddy i Nginx, więc zazwyczaj nie jest wymagana dodatkowa konfiguracja ze strony użytkownika.
Ten artykuł ma na celu przeprowadzić Cię krok po kroku przez proces migracji strony internetowej, która wcześniej korzystała z konfiguracji Apache, do pracy na serwerze Caddy oferowanym przez ServBay w środowisku lokalnym. Przykłady oparte są o popularne projekty: Laravel oraz WordPress.
O wsparciu Apache w ServBay
ServBay w pełni obsługuje Apache jako serwer WWW. Jeśli chcesz ustawić Apache jako domyślny serwer dla ServBay lub dowiedzieć się, jak konfigurować strony na Apache w ServBay, zapoznaj się z dokumentacją: Jak ustawić Apache jako domyślny serwer WWW. Niniejszy artykuł skupia się na migracji istniejących stron opartych o Apache do środowiska Caddy w ServBay.
Przegląd
Migrowanie strony z jednego serwera WWW na inny wiąże się m.in. z dostosowaniem konfiguracji i plików. ServBay pozwala używać Caddy jako serwera WWW oraz zapewnia pełne wsparcie „out of the box” dla większości frameworków PHP i CMS — to znaczy, że ServBay automatycznie zarządza niezbędnymi ustawieniami, w tym regułami przepisywania URL. Oznacza to, że migracja strony opartej o Apache do środowiska ServBay i serwera Caddy jest bardzo prosta — wystarczy poprawnie „dodać stronę” w panelu ServBay.
Przygotowanie do migracji
Zanim rozpoczniesz jakiekolwiek działania migracyjne, wykonaj następujące kroki kontrolne:
- Backup plików: Wykonaj pełną kopię zapasową wszystkich plików strony — kod, obrazy, uploady itd.
- Backup bazy danych: Wyeksportuj i zabezpiecz kopię bazy danych strony. ServBay wspiera różne bazy, m.in. MySQL, PostgreSQL, MongoDB — wybierz odpowiednie narzędzie.
- Sprawdź instalację ServBay: Upewnij się, że ServBay jest zainstalowany na Twoim macOS i działa poprawnie.
- Sprawdź aktywację Caddy: W aplikacji ServBay potwierdź, że Caddy jest aktywny jako pakiet serwera.
Migracja strony Laravel do Caddy
Załóżmy, że posiadasz stronę Laravel skonfigurowaną tak jak poniżej:
Przykładowa konfiguracja Apache (spoza ServBay)
To przykładowy plik VirtualHost Apache dla Laravel. Zwróć uwagę: DocumentRoot
wskazuje na katalog public
, a dzięki AllowOverride All
aktywowane są reguły przepisywania z .htaccess
.
apache
<VirtualHost *:80>
ServerName laravel.demo
DocumentRoot /path/to/your/laravel/public
<Directory /path/to/your/laravel/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Zazwyczaj konfigurujemy tutaj również obsługę PHP, np. przez FPM lub mod_php
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Uruchamianie Laravel w ServBay (Caddy)
W ServBay nie musisz ręcznie przepisywać ani konwertować powyższej konfiguracji Apache na Caddy. Kroki zostały zaprojektowane, by uprościć pracę deweloperską. W przypadku frameworków takich jak Laravel, ServBay automatycznie generuje poprawną konfigurację Caddy — wskazuje właściwy katalog public
i obsługuje reguły przepisywania URL.
Jak to wygląda w praktyce:
- Skopiuj swój projekt Laravel do podkatalogu w folderze głównym ServBay, najlepiej do ścieżki
/Applications/ServBay/www/your-laravel-project
. Sprawdź, czy katalogpublic
znajduje się w tym miejscu. - Otwórz aplikację ServBay.
- Przejdź do sekcji „Websites” (Strony).
- Kliknij przycisk „Dodaj stronę”.
- W wyświetlonym oknie konfiguracji:
- Domena (Domain): Wpisz domenę, przez którą chcesz uzyskać dostęp (np.
laravel.servbay.demo
). ServBay automatycznie doda ją do pliku hosts. - Katalog główny (Document Root): Kliknij, by wskazać katalog
public
projektu Laravel, np./Applications/ServBay/www/your-laravel-project/public
. - Serwer WWW (Web Server): Wybierz
Caddy
. - Wersja PHP (PHP Version): Dobierz PHP zgodnie z wymaganiami projektu.
- Typ aplikacji (Application Type): Wybierz
Laravel
— to pozwala na automatyczną konfigurację.
- Domena (Domain): Wpisz domenę, przez którą chcesz uzyskać dostęp (np.
- Kliknij „Zapisz” lub „Dodaj”.
Po wykonaniu tych kroków ServBay automatycznie wygeneruje odpowiedni plik konfiguracyjny Caddy dla laravel.servbay.demo
. Adres będzie kierował do katalogu public
, a obsługa przepisów URL i żądań PHP zostanie poprawnie zrealizowana. Twoja strona będzie dostępna pod adresem http://laravel.servbay.demo
.
Teoretyczna konfiguracja Caddy (tylko poglądowa, generowana automatycznie)
Dla pełnego rozeznania, poniżej znajduje się przykładowa konfiguracja Caddy odpowiadająca wymaganiom Laravel. Nie musisz jej ręcznie tworzyć ani edytować.
bash
laravel.servbay.demo {
# Ustaw katalog główny, wskazując na public
root * /Applications/ServBay/www/your-laravel-project/public
# Obsługa PHP przez FastCGI
# ServBay automatycznie dobierze właściwą ścieżkę do gniazda PHP (socket) na podstawie konfiguracji
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Serwowanie plików statycznych
file_server
# Główna reguła przepisywania Laravel: jeśli żądanie nie dotyczy istniejącego pliku lub katalogu, przekieruj do index.php
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
rewrite @notStatic /index.php
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Migracja strony WordPress do Caddy
Załóżmy, że posiadasz stronę WordPress skonfigurowaną jak poniżej:
Przykładowa konfiguracja Apache (spoza ServBay)
To przykład konfiguracji VirtualHost Apache dla WordPressa. Zwykle katalog główny to katalog instalacji WordPressa, a do obsługi linków stałych wykorzystywany jest plik .htaccess
z regułami przepisywania.
apache
<VirtualHost *:80>
ServerName wordpress.demo
DocumentRoot /path/to/your/wordpress
<Directory /path/to/your/wordpress>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Zazwyczaj konfigurujemy tutaj również obsługę PHP
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Uruchamianie WordPress w ServBay (Caddy)
Podobnie jak dla Laravel, również przy WordPress nie trzeba ręcznie pisać konfiguracji Caddy. ServBay automatycznie wykrywa wymagania WordPress i generuje właściwy plik konfiguracyjny.
Jak to wygląda w praktyce:
- Skopiuj cały projekt WordPress do podkatalogu w folderze głównym ServBay, najlepiej do
/Applications/ServBay/www/your-wordpress-site
. Upewnij się, że pliki jakindex.php
, katalogiwp-admin
,wp-includes
itd. są we właściwym miejscu. - Otwórz aplikację ServBay.
- Przejdź do sekcji „Websites” (Strony).
- Kliknij przycisk „Dodaj stronę”.
- W wyświetlonym oknie:
- Domena (Domain): Podaj adres, np.
wordpress.servbay.demo
. - Katalog główny (Document Root): Wskaż katalog główny Witryny WordPress, np.
/Applications/ServBay/www/your-wordpress-site
. - Serwer WWW (Web Server): Wybierz
Caddy
. - Wersja PHP (PHP Version): Wybierz odpowiednią wersję PHP.
- Typ aplikacji (Application Type): Wybierz
WordPress
.
- Domena (Domain): Podaj adres, np.
- Kliknij „Zapisz” lub „Dodaj”.
ServBay automatycznie wygeneruje konfigurację Caddy dla wordpress.servbay.demo
, zadba o katalog główny, reguły przepisywania URL (linki stałe) i obsługę żądań PHP. Strona będzie funkcjonować pod adresem http://wordpress.servbay.demo
, a obsługa linków stałych będzie bezproblemowa.
Teoretyczna konfiguracja Caddy (tylko poglądowa, generowana automatycznie)
Poniżej poglądowa konfiguracja odpowiadająca potrzebom WordPress. Nie musisz jej samodzielnie tworzyć ani edytować.
bash
wordpress.servbay.demo {
# Ustaw katalog główny
root * /Applications/ServBay/www/your-wordpress-site
# Obsługa PHP przez FastCGI
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Serwowanie plików statycznych
file_server
# Kluczowa reguła przepisywania WordPress: obsługa linków stałych
# Jeśli żądanie nie dotyczy faktycznie istniejącego pliku lub katalogu, przekieruj do index.php
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
rewrite @notStatic /index.php
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Podsumowanie
Migracja strony Laravel lub WordPress, skonfigurowanej pierwotnie pod Apache, do serwera Caddy na platformie ServBay jest niezwykle prosta. Dzięki wbudowanemu wsparciu dla popularnych aplikacji, nie ma potrzeby ręcznej konwersji plików .htaccess
czy konfiguracji VirtualHost na Caddyfile. Wystarczy poprawnie dodać stronę przez panel ServBay: zdefiniować domenę, katalog główny, wskazać Caddy jako serwer WWW i wybrać typ aplikacji (Laravel lub WordPress). ServBay automatycznie wygeneruje wszystkie potrzebne ustawienia Caddy, włącznie ze złożonymi regułami przepisywania adresów URL.
Takie zautomatyzowane podejście znacznie ułatwia i przyspiesza cały proces migracji oraz konfiguracji środowiska developerskiego, dzięki czemu możesz skupić się na kodowaniu, zamiast walczyć z plikami konfiguracyjnymi serwera.