NGINX Web Sitesinin ServBay Caddy Sunucusuna Taşınması
ServBay, Caddy, NGINX ve Apache gibi popüler web sunucuları ile entegre, güçlü bir yerel web geliştirme ortamıdır. ServBay, özellikle Caddy ve NGINX için yaygın URL Yeniden Yazma Kuralları önceden yapılandırılmıştır ve bu sayede geliştiriciler için yapılandırma işlerini büyük ölçüde basitleştirir.
Bu makale, mevcut NGINX tabanlı web sitenizin ServBay'in yerleşik Caddy sunucusuna sorunsuz bir şekilde nasıl taşınacağını adım adım anlatan detaylı bir rehberdir. Popüler PHP framework'ü Laravel ve içerik yönetim sistemi WordPress örnek alınarak tüm taşıma süreci gösterilmektedir.
ServBay’de Web Sunucuları için Tam Destek
ServBay, Caddy, NGINX ve Apache için kapsamlı destek sunar. Proje ihtiyaçlarınıza göre varsayılan web sunucusunu esnek şekilde değiştirebilirsiniz. Daha fazla detay için Varsayılan Web Sunucusu Nasıl Değiştirilir başlıklı belgeyi inceleyiniz.
Genel Bakış
Bir web sitesini bir web sunucusundan başka bir sunucuya taşımak, yapılandırma dosyaları ve site dosyalarının aktarılmasını içerir. ServBay’de, Caddy’ye migrasyon süreci son derece basit olacak şekilde tasarlanmıştır. Laravel, WordPress, Symfony, CodeIgniter, Drupal, Joomla vb. çoğu PHP tabanlı framework ve CMS için ServBay, Caddy yapılandırma dosyasını el ile yazmanıza veya düzenlemenize genellikle gerek olmayan kutudan çıkar çıkmaz bir destek sunar. ServBay, GUI üzerinden yapılandırdığınız web sitesi ayarlarına göre Caddyfile dosyasını otomatik olarak oluşturur.
Taşıma Öncesi Hazırlık
Herhangi bir taşıma işlemine başlamadan önce aşağıdakileri mutlaka yapınız:
- Web Sitesi Dosyalarını Yedekleyin: Web sitenizin kök dizinindeki tüm dosya ve klasörlerin tam bir yedeğini alın.
- Veritabanı Yedekleyin: Web sitenizin kullandığı veritabanını (ör: MySQL, PostgreSQL, MongoDB vb.) yedekleyin. ServBay dahili bir veritabanı yönetim aracı sunar, ayrıca manuel yedekleme de yapabilirsiniz.
- ServBay Kurulumu: macOS sisteminizde ServBay’in başarıyla yüklenip çalıştığından emin olun.
- Dosya Konumunu Doğrulayın: Web sitesi dosyalarınızı ServBay’in varsayılan site kök dizini olan
/Applications/ServBay/www
veya alt dizinlerinden birine yerleştirin. Örneğin, projenizmyproject
ise, dosyalarınızı/Applications/ServBay/www/myproject
yoluna koyabilirsiniz.
ServBay’de Caddy’nin Çalışma Prensibi
Caddy yapılandırmalarını ServBay’in nasıl yönettiğini anlamak taşıma için önemlidir. Geleneksel olarak Caddyfile dosyasını manuel yönetmekten farklı olarak, ServBay’in Grafiksel Kullanıcı Arayüzü (GUI) ile sitenizi ekleyip yapılandırırsınız. Bir site ekleyip web sunucusu olarak Caddy’yi seçtiğinizde, ServBay sizin belirttiğiniz alan adı, web sitesi kök dizini, PHP sürümü gibi bilgilerle otomatik olarak Caddyfile parçacıklarını oluşturup yönetir. Bu parçacıklar, ServBay ana Caddyfile dosyasına dahil edilir ve sitenizin düzgün çalışmasını sağlar.
Yani, ServBay GUI üzerinden site eklediğinizde Caddy yapılandırmanız tamamlanır; herhangi bir .caddyfile
veya benzeri dosyayı manuel olarak düzenlemenize gerek yoktur.
Taşıma Adımları
NGINX sitenizi ServBay’in Caddy sunucusuna taşımak oldukça basittir:
- ServBay’i Başlatın: ServBay uygulamasının çalıştığından emin olun.
- Site Dosyalarını Konumlandırın: NGINX sitenize ait tüm dosyaları (uygulama kodları, resimler, CSS, JS vs. dahil) ServBay’in site kök dizininde yeni bir klasöre kopyalayın ya da taşıyın. Örnek:
/Applications/ServBay/www/your-site-name
. - ServBay GUI ile Site Ekleyin:
- ServBay uygulamasını açın.
- “Web Siteleri” (Websites) bölümüne gidin.
- “Site Ekle” butonuna tıklayın.
- Site bilgilerini doldurun:
- Alan Adı (Domain): Sitenize yerel olarak erişmek için kullanmak istediğiniz alan adını yazın, örneğin
your-site-name.servbay.demo
. - Site Kök Dizin (Website Root): 2. adımda dosyaları koyduğunuz dizini seçin, örnek:
/Applications/ServBay/www/your-site-name
. - Web Sunucusu (Web Server):
Caddy
seçin. - PHP Sürümü (PHP Version): Sitenizin gerektirdiği PHP sürümünü seçin.
- Alan Adı (Domain): Sitenize yerel olarak erişmek için kullanmak istediğiniz alan adını yazın, örneğin
- “Kaydet” veya “Oluştur” butonuna tıklayın.
- Siteyi Doğrulayın: ServBay, yeni alan adını yerel hosts dosyanıza ekler ve Caddy’yi yapılandırır. Tarayıcıda belirlediğiniz yerel alan adını ziyaret edin (örn.
http://your-site-name.servbay.demo
), sitenin düzgün yüklendiğini kontrol edin. - Veritabanı Yapılandırması: Siteniz veritabanı gerektiriyorsa, ServBay’de ilgili veritabanı servisi (örn. MySQL, PostgreSQL) çalışır durumda olmalı ve site yapılandırma dosyasında veritabanı bağlantı bilgilerinizi güncellemelisiniz (veritabanı adresi genellikle
127.0.0.1
veyalocalhost
, kullanıcı adı ve parola).
Örnek: Laravel Sitesinin Taşınması
Tipik Bir NGINX Yapılandırması (Referans Amaçlıdır)
Aşağıda, Laravel siteleri için kullanılan tipik bir NGINX yapılandırma dosyası örneği bulunuyor. Bu örnek, NGINX’te kök dizin, giriş dosyası (index.php
) ve PHP FastCGI işlemenin nasıl ayarlandığını gösterir:
server {
listen 80;
server_name laravel.servbay.demo; # ServBay markalı örnek alan adı
root /Applications/ServBay/www/laravel/public; # Laravel’in public dizinine işaret ediyor
index index.php index.html index.htm;
location / {
# Dosyaya veya dizine doğrudan erişim denenir, yoksa index.php’ye yönlendirilir
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
# PHP FastCGI işlemesini yapılandır
include fastcgi_params;
# ServBay’in varsayılan PHP-CGI soket yolu
fastcgi_pass unix:/Applications/ServBay/tmp/php-cgi.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
# Gizli dosyalara erişimi engelle
deny all;
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
ServBay’de Karşılık Gelen Caddy Yapılandırması (Otomatik Oluşturulur, El ile Yazılmaz)
Caddyfile’ı El ile Yapılandırmanıza Gerek Yok
ServBay’de yukarıdaki fonksiyonu sağlamak için el ile Caddyfile oluşturmanıza veya değiştirmenize gerek YOKTUR. ServBay arayüzünde site eklediğinizde gerekli Caddy yapılandırmasını otomatik olarak üretir. Aşağıdaki Caddy yapılandırma örneği yalnızca ServBay’in, NGINX benzeri işlevleri nasıl sağladığını açıklamak amacıyladır.
Teorik olarak, ServBay yukarıda örneklenen bir Laravel sitesi için otomatik olarak aşağıdaki gibi bir Caddy yapılandırma parçacığı oluşturur (basitleştirilmiştir – ServBay’in gerçek üretimi daha fonksiyonel olabilir):
# Bu yapılandırma ServBay tarafından otomatik yönetilir
laravel.servbay.demo {
# Site kök dizinini ayarla
root * /Applications/ServBay/www/laravel/public
# PHP FastCGI işlemesini yapılandır, ServBay’in PHP-CGI soketine yönlendirilir
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Dosya sunucusunu etkinleştir
file_server
# Statik olmayan dosyaları eşleştiren bir matcher belirle
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
# Statik olmayan dosyalar index.php’ye yönlendirilir
rewrite @notStatic /index.php
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Laravel Taşıması için Uygulanacak Adımlar:
- Laravel projenizin dosyalarını
/Applications/ServBay/www/laravel
dizinine kopyalayın. laravel/public
dizininin site girişi olduğundan emin olun.- ServBay GUI’de yeni bir site ekleyin: Alan adı olarak
laravel.servbay.demo
, kök dizin olarak/Applications/ServBay/www/laravel/public
, web sunucusu olarakCaddy
seçin. - Laravel’in
.env
dosyasında doğru veritabanı bağlantı bilgilerini ayarlayın. http://laravel.servbay.demo
adresiyle test edin.
Örnek: WordPress Sitesinin Taşınması
Tipik Bir NGINX Yapılandırması (Referans Amaçlıdır)
Aşağıda WordPress siteleri için tipik bir NGINX yapılandırma dosyası örneği gösterilmektedir:
server {
listen 80;
server_name wordpress.servbay.demo; # ServBay markalı örnek alan adı
root /Applications/ServBay/www/wordpress; # WordPress kurulum dizinine işaret eder
index index.php index.html index.htm;
location / {
# WordPress’in kalıcı bağlantı kuralları
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
# PHP FastCGI işlemesini yapılandır
include fastcgi_params;
# ServBay’in varsayılan PHP-CGI soket yolu
fastcgi_pass unix:/Applications/ServBay/tmp/php-cgi.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
# Gizli dosyalara erişimi engelle
deny all;
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
ServBay’de Karşılık Gelen Caddy Yapılandırması (Otomatik Oluşturulur, El ile Yazılmaz)
Caddyfile’ı El ile Yapılandırmanıza Gerek Yok
WordPress için de, Caddy yapılandırması ServBay GUI üzerinden otomatik olarak yapılır. Aşağıdaki örnek, ServBay'in WordPress’in kalıcı link fonksiyonunu ve benzer işlevlerini nasıl sağladığını göstermektedir.
Teorik olarak, ServBay yukarıdaki WordPress sitesi için otomatik olarak şu Caddy yapılandırma parçacığını oluşturur:
# Bu yapılandırma ServBay tarafından otomatik yönetilir
wordpress.servbay.demo {
# Site kök dizinini ayarla
root * /Applications/ServBay/www/wordpress
# PHP FastCGI işlemesini yapılandır
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Dosya sunucusunu etkinleştir
file_server
# Statik olmayan dosyaları eşleştiren bir matcher belirle
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
# Statik olmayan dosyalar index.php’ye yönlendirilir, kalıcı bağlantılar için
rewrite @notStatic /index.php
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
WordPress Taşıması için Uygulanacak Adımlar:
- WordPress dosyalarınızı
/Applications/ServBay/www/wordpress
konumuna kopyalayın. - ServBay GUI’de yeni bir site ekleyin: Alan adı
wordpress.servbay.demo
, site kök dizini/Applications/ServBay/www/wordpress
, web sunucusu olarakCaddy
. - WordPress’in
wp-config.php
dosyasında doğru veritabanı bağlantı bilgilerini ayarlayın. http://wordpress.servbay.demo
adresinden test edin. Kalıcı bağlantılar ile ilgili sorun yaşanırsa, genellikle ServBay yeniden yazma kurallarını zaten uyguladığı için ekstra ayar gerektirmez. WordPress panelinden “Ayarlar” -> “Kalıcı Bağlantılar” bölümünün doğruluğunu kontrol edin.
Dikkat Edilmesi Gerekenler
- Veritabanı Bağlantısı: Taşıma sonrası, kodunuzda yer alan veritabanı bağlantı bilgilerini ServBay’de çalışan veritabanı servislerini gösterecek şekilde güncellemelisiniz.
- Ortam Değişkenleri: Uygulamanız özel ortam değişkenlerine ihtiyaç duyuyorsa, bunları ServBay ortamında (örn. PHP’de
.env
dosyasıyla veya ServBay’in ayarlarıyla) tanımlamaya dikkat edin. - Karmaşık NGINX Yapılandırmaları: Bu rehberdeki örnekler yaygın Laravel ve WordPress yapılandırmaları için geçerlidir. NGINX konfigürasyonunuzda karmaşık özel kurallar, belirli modüller ya da alışılmadık ayarlar bulunuyorsa, ServBay’in otomatik ayarları yeterli olmayabilir. Böyle bir durumda, Caddy’nin resmi dokümanlarını inceleyebilir, ServBay’in sunduğu Caddy yapılandırma genişletme noktalarını (varsa) veya otomatik oluşturulan mantığı anlamaya çalışarak çözüm geliştirebilirsiniz. Ancak çoğu standart uygulama için ServBay’in otomasyonu yeterlidir.
- HTTPS / SSL: ServBay, yerel sitelerinizde HTTPS kullanımını destekler. ServBay User CA veya ServBay Public CA ile otomatik olarak yerel SSL sertifikaları oluşturup güvenilir hale getirebilirsiniz; ek olarak Caddy’nin TLS yönergesini elle yapılandırmanıza gerek yoktur.
Özet
NGINX tabanlı web sitelerinizi ServBay’in Caddy sunucusuna taşımak, ServBay’in Caddy yapılandırmasını otomatik yönetmesi sayesinde oldukça kolaydır. Laravel ve WordPress gibi yaygın uygulamalar için dosyalarınızı belirli dizine yerleştirip ServBay GUI'den site eklemek yeterlidir. URL yeniden yazma ve PHP FastCGI gibi ayarlar ServBay tarafından otomatik yapılır; böylece sitenizi Caddy üzerinde hızlıca ve zahmetsizce çalıştırabilirsiniz.