Özel Konfigürasyon ile Site Ekleme
ServBay, sitelerinizi eklemek için esnek yöntemler sunar. ServBay'in otomatik olarak yönettiği standart konfigürasyon yöntemine ek olarak, "özel konfigürasyon" modunu da destekler. Bu mod sayesinde geliştiriciler, belirli bir sitenin Web sunucu (Nginx, Caddy, Apache) konfigürasyon dosyalarını doğrudan oluşturup yönetebilirler. Böylece maksimum esneklik ve kontrol imkânı sağlanır. Özellikle detaylı ayarlara, standart dışı yapılandırmalara veya gelişmiş özelliklere ihtiyaç duyulan senaryolar için idealdir.
Özel Konfigürasyonun Anlamı
Özel konfigürasyonu seçtiğinizde:
- Tam Kontrol: İlgili sitenin sunucu yapılandırma bölümünü (örn. Nginx'in
server
bloğu, Apache'ninVirtualHost
bloğu veya Caddy'nin site tanımı) doğrudan düzenleyebilirsiniz. - Gelişmiş Özellikler: Standart modda yapılandırılması zor olan, örneğin karmaşık yönlendirme kuralları, özel proxy ayarları, kendi log formatınız, özel güvenlik başlıkları gibi gelişmiş işlevler ekleyebilirsiniz.
- Özel Senaryolar: Belirli bir üretim ortamını simüle etmek, özel modüller entegre etmek veya derin hata ayıklamalar yapmak gibi özel ihtiyaçlar için uygundur.
Ancak bu, konfigürasyonun doğruluğu ve güvenliği — özellikle de SSL sertifikalarının yönetimi — konusunda tüm sorumluluğun size ait olacağı anlamına gelir.
Özel Konfigürasyonlu Site Eklemenin Adımları
- Siteye Git: ServBay'in sol menüsünde
Websites
sekmesine tıklayın. - Yeni Site Ekle: Site listesinin üstündeki
+
(artı) düğmesine tıklayın. - Temel Bilgileri Doldurun:
- Adı: Siteniz için kolay tanınan bir isim belirleyin (örneğin:
My Custom Project
). - Alan Adı: Yerel erişim için kullanmak istediğiniz domaini girin (örneğin:
myproject.servbay.demo
).
- Adı: Siteniz için kolay tanınan bir isim belirleyin (örneğin:
- Web Sunucusunu Seçin:
Web Server
açılır menüsünden kullanmak istediğiniz web sunucusunu seçin (Nginx, Caddy veya Apache). Bu seçim çok önemlidir, çünkü devamında sunulacak yapılandırma şablonu türünü ve sitenize hizmet verecek sunucu yazılımını belirler. - Özel Konfigürasyonu Etkinleştir:
Custom Configuration
(Özel Konfigürasyon) kutucuğunu işaretleyin. - Şablonu Görüntüle ve Düzenle: Kutuyu işaretlediğinizde, aşağıdaki metin alanında seçtiğiniz web sunucuya uygun temel bir konfigürasyon şablonu otomatik olarak doldurulur. Burası sizin başlangıç noktanızdır; bu şablonu isteğe göre değiştirmeniz gerekir (ve genellikle bu gereklidir).
Konfigürasyon Şablonlarını Anlamak ve Düzenlemek
ServBay, seçtiğiniz web sunucusuna göre (Nginx, Caddy, Apache) farklı konfigürasyon şablonları sunar. Projenizin gereksinimlerine göre bu şablonları düzenlemeniz gerekir.
1. Nginx Özel Konfigürasyonu
Nginx seçerseniz, ServBay temel bir server
bloğu şablonu sağlar.
Şablon Yapısı ve Temel Direktifler:
nginx
# Bağlantı sağlanan port ve protokolü tanımlayın
listen 443 ssl; # HTTPS
# Bağlı domainler
server_name myproject.servbay.demo;
# Web sitesinin kök dizini (Bu dizinin mevcut olduğundan emin olun)
root /Applications/ServBay/www/myproject.servbay.demo;
# Varsayılan index dosyaları
index index.php index.html index.htm;
# SSL/TLS protokolleri ve şifreleme paketleri (örnek)
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;
# SSL sertifikası yolu (HTTPS etkinleştirildiyse mutlaka el ile belirtmelisiniz)
# 【ÖNEMLİ】 Sertifika dosyasının var olduğundan ve yolunun doğru olduğundan emin olun
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;
# PHP isteklerinin yönetimi (örnekte PHP 8.3, kendi ayarınıza göre değiştirin)
set $php_version '8.3';
include enable-php-fpm-pathinfo.conf;
# Diğer ayarlar, örn. location blokları, yeniden yazma kuralları vs.
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Erişim ve hata log yolları (isteğe bağlı)
# 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
Düzenleme İpuçları:
server_name
değerinin, girdiğiniz domain ile aynı olduğundan emin olun.root
direktifini, proje klasörünüzü gösterecek şekilde düzenleyin.- HTTPS kullanacaksanız,
listen 443 ssl;
satırını etkin bırakın ve muhakkak doğrussl_certificate
ilessl_certificate_key
yollarını belirtin. - Ek location blokları, yönlendirme kuralları, proxy ayarları gibi diğer gereksinimleri eklemeyi unutmayın.
2. Caddy Özel Konfigürasyonu
Caddy seçerseniz, ServBay bir Caddyfile formatında site şablonu sunar.
Şablon Yapısı ve Temel Direktifler:
nginx
encode zstd gzip
import set-log myproject.servbay.demo # log dosya adı
import canonical-path
# Web sitesinin kök dizini (Bu dizinin mevcut olduğundan emin olun)
root * /Applications/ServBay/www/myproject.servbay.demo
# PHP isteklerini yönetme
route {
import php-rewrite-default 8.3 # PHP versiyonu 8.3
}
# TLS/SSL ayarları
# Lütfen sertifika yolunu belirtin
# 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
# Dosya sunucusunu etkinleştir
file_server
# Diğer direktifler: reverse_proxy, rewrite, header vb.
# ...
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
Düzenleme İpuçları:
- Üst düzey domain (
myproject.servbay.demo
) doğru olmalı. root
direktifini projenizle uyumlu olacak şekilde ayarlayın.- SSL/TLS: Caddy varsayılan olarak alanınız için otomatik HTTPS sertifikası almaya çalışır. Ancak
.servbay.demo
gibi yerel geliştirme domainlerinde bu mümkün değildir. HTTPS gerekiyorsa, mevcut sertifika ve anahtarınızın yolunu gösterentls
direktifini kullanmanız şiddetle önerilir; dosyaların gerçekten bulunduğundan ve yolların doğru olduğundan emin olun. - Gereken diğer Caddy komutlarını ekleyin.
3. Apache Özel Konfigürasyonu
Apache seçerseniz, ServBay bir <VirtualHost>
bloğu şablonu sunar.
Şablon Yapısı ve Temel Direktifler:
apache
ServerName myproject.servbay.demo
DocumentRoot "/Applications/ServBay/www/myproject.servbay.demo"
# SSL motorunu etkinleştir
SSLEngine on
# SSL sertifikası yolları
# 【ÖNEMLİ】 Sertifika dosyasının var olduğundan ve yolunun doğru olduğundan emin olun
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"
# Dizin izinleri
<Directory "/Applications/ServBay/www/myproject.servbay.demo">
DirectoryIndex index.php index.html index.htm
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# PHP-FPM ayarı (PHP 8.3)
Define PHP_VERSION 8.3
<FilesMatch \.php$>
SetHandler "proxy:unix:/Applications/ServBay/tmp/php-cgi-${PHP_VERSION}.sock|fcgi://localhost"
</FilesMatch>
# Hata ve erişim logları (isteğe bağlı)
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
Düzenleme İpuçları:
ServerName
değerinin, kaydettiğiniz domain ile aynı olduğundan emin olun.DocumentRoot
dizinini projenizi gösterecek şekilde belirtin.<Directory>
bloğunda izin ve seçenekleri ihtiyacınıza göre düzenleyin.- Gerekirse, ek Apache talimatları (örn.
RewriteEngine
,ProxyPass
gibi) ekleyebilirsiniz.
SSL Sertifika Yönetimi 【ÖNEMLİ】
Özel konfigürasyon kullanırken, ServBay sizin için otomatik olarak SSL sertifikası oluşturmaz (örneğin otomatik ServBay CA sertifikası veya ACME protokolüyle Let's Encrypt sertifikası başvurusu yapılmaz).
- SSL sertifikanızı kendiniz temin etmeli veya oluşturmalısınız ve ilgili sunucu tarafından erişilebilen bir yere yerleştirmelisiniz.
- OpenSSL ile kendi imzaladığınız bir sertifika oluşturabilir veya ServBay'in sağladığı CA'yı (ServBay User CA veya ServBay Public CA) kullanarak yerel geliştirme için sertifika üretebilirsiniz.
- Nginx, Caddy ve Apache özel konfigürasyonlarında, elinizdeki sertifika ve anahtar dosyasının yolunu doğru şekilde göstermelisiniz. Bunun için;
ssl_certificate
/ssl_certificate_key
(Nginx),tls
(Caddy) veyaSSLCertificateFile
/SSLCertificateKeyFile
(Apache) talimatlarını eksiksiz kullanmalısınız. - Eğer konfigürasyonunuzda SSL ile ilgili bir talimat bulunuyor ancak ilgili sertifika dosyası eksik ya da yol hatalıysa, web sunucusu siteyi başlatamaz veya ilgili ayarı yükleyemez. Bu durumda site erişilemez olur ve ServBay arayüzünde veya sunucu loglarında hata mesajları görebilirsiniz.
Yerel geliştirme sertifikası oluşturmak ve yönetmek için ServBay'deki SSL Sertifika Yönetimi rehberine bakabilirsiniz.
Web Sunucusu Bağlama
DANGER
Kritik bir nokta: Bir site için belirli bir Web sunucusu (örneğin Nginx) seçip özel konfigürasyon ile kaydettikten sonra, bu sitenin ayarları artık sadece Nginx ile bağlanır.
- Yani sadece ServBay'de etkin olan web sunucusu paketi Nginx olduğunda bu siteye erişim mümkün olur.
- Eğer ServBay’de
Servisler
–Varsayılan Web Sunucusu
bölümünden Apache veya Caddy'ye geçerseniz, bu Nginx tabanlı özel konfigürasyonlu site artık erişilemez; çünkü ilgili Nginx konfigürasyonu yüklenmez. - Aynı şekilde, Caddy veya Apache için özel konfigürasyon oluşturduysanız, sadece ilgili sunucu paketi çalışırken bu sitelere erişebilirsiniz.
Kaydet ve Yürürlüğe Girme
Tüm düzenlemeleri tamamladıktan sonra sağ alt köşedeki Save
(Kaydet) düğmesine tıklayın. ServBay, özel konfigürasyonunuzu kaydeder ve ilgili web sunucusunu yenilese de (reload) değişikliklerin uygulanmasını sağlar. Eğer konfigürasyonda sözdizimi hatası varsa, kaydetme veya sunucu yenileme işlemi başarısız olabilir. Sorun giderme için ServBay bildirimlerine veya ilgili sunucunun hata günlüklerine bakın (genellikle /Applications/ServBay/logs/
altındaki klasörlerde yer alır).
Özet
Özel konfigürasyon ile site ekleme yöntemi, ServBay kullanıcılarına benzersiz bir esneklik sağlayarak her site üzerinde tam denetim sunar. Fakat bu yöntem, geliştiricinin ilgili web sunucusu yapılandırma bilgisini, doğru ve güvenli ayarları seçme becerisini, ayrıca SSL sertifika yönetimi sorumluluğunu üstlenmesini gerektirir. Şablon yapısını, SSL gerekliliklerini ve sunucu bağlama mekanizmasını anlamak, bu özelliğin başarıyla kullanılmasının anahtarıdır.