Proje Düzeyinde Ortam Yapılandırması için .servbay.config Dosyasını Kullanma
Genel Bakış
ServBay, geliştiricilerin farklı projelerine bağımsız çalışma ortamları tahsis edebileceği güçlü bir yerel Web geliştirme aracıdır. Bu işlevselliğin temelinde, her projenin kök dizinine .servbay.config
adlı bir dosya ekleyebilme desteği yer alır.
.servbay.config
dosyası sayesinde, belirli bir projede ihtiyaç duyulan PHP, Node.js, Python, Go, Java gibi yazılım sürümlerini kolayca atayabilir; ayrıca Node.js paket yöneticilerinin (ör. NPM, Yarn) depo adresi ve önbellek dizini gibi ayarlarını tanımlayabilirsin. Proje seviyesinde bu hassas kontrol, geliştirme verimliliğini ve rahatlığını önemli ölçüde artırır; her projenin, gereksinim duyduğu ortamda sorunsuzca çalışmasını sağlayarak sürüm çakışmalarından kaçınır.
.servbay.config
Dosyasının Çalışma Prensibi
ServBay, başlatıldığında ya da bir site yeniden yüklendiğinde, site kök dizininde bir .servbay.config
dosyası olup olmadığını kontrol eder. Dosya mevcutsa, içindeki yapılandırmaları okur ve o siteye özel ortam değişkenlerine uygular. Bu proje düzeyindeki ayarlar, ServBay’in küresel (global) yapılandırmalarını geçersiz kılar. Eğer .servbay.config
dosyası yoksa ya da bir ayar girilmemişse, ServBay o bölümde global yapılandırmayı varsayılan olarak kullanır.
Bu mekanizma, bir projeden diğerine geçişi zahmetsiz kılar; böylece her projenin kendi ortam yapılandırması birlikte taşınabilir.
.servbay.config
Dosyası Nasıl Oluşturulur ve Yapılandırılır?
.servbay.config
dosyasını oluşturmak ve ayarlamak son derece kolaydır.
Dosya Yeri
Projende, kök dizinde .servbay.config
adlı bir dosya oluştur. Proje kök dizini genellikle ServBay’in site klasör yolundadır, örneğin /Applications/ServBay/www/proje-adın/
.
Yapılandırma Söz Dizimi
.servbay.config
dosyasında her yapılandırma satırı ANAHTAR=DEĞER
biçimindedir; her satırda bir tanım yer alır. Açıklama eklemek ve okunabilirliği artırmak için #
kullanabilirsin.
Yapılandırma Seçenekleri Örneği
Aşağıdaki, çoklu ortam sürümü ve paket yöneticisi yapılandırmalarının nasıl tanımlanabileceğini gösteren bir .servbay.config
dosyası örneğidir:
# .servbay.config örnek dosya
# PHP çalışma sürümünü belirtin. Bu sürümün ServBay'de kurulu olduğundan emin olun.
PHP_VERSION=8.5
# Node.js çalışma sürümünü belirtin. Bu sürümün ServBay'de kurulu olduğundan emin olun.
NODE_VERSION=20
# Yarn için yansıtma (mirror) depo adresi ayarı; bağımlılıkları daha hızlı indirmek için kullanılır.
YARN_CONFIG_REGISTRY=https://npmreg.proxy.ustclug.org/
# NPM için yansıtma (mirror) depo adresi ayarı; bağımlılıkları daha hızlı indirmek için kullanılır.
NPM_CONFIG_REGISTRY=https://npmreg.proxy.ustclug.org/
# NPM’in yerel önbellek dizinini belirtin. Not: Bu yol ServBay kurulum dizinine göredir.
NPM_CONFIG_CACHE=/Applications/ServBay/tmp/npm/cache
# Yarn’ın yerel önbellek dizinini belirtin. Not: Bu yol ServBay kurulum dizinine göredir.
YARN_CONFIG_CACHE=/Applications/ServBay/tmp/yarn/cache
# Ruby çalışma sürümünü belirtin. Bu sürümün ServBay'de kurulu olduğundan emin olun.
RUBY_VERSION=2.7
# Java (OpenJDK) çalışma sürümünü belirtin. Bu sürümün ServBay'de kurulu olduğundan emin olun.
JAVA_VERSION=21
# Python çalışma sürümünü belirtin. Bu sürümün ServBay'de kurulu olduğundan emin olun.
PYTHON_VERSION=3.11
# .NET çalışma sürümünü belirtin. Bu sürümün ServBay'de kurulu olduğundan emin olun.
DOTNET_VERSION=5.0
# Go çalışma sürümünü belirtin. Bu sürümün ServBay'de kurulu olduğundan emin olun.
GO_VERSION=1.12
# Go modül proxy sunucusunu yapılandırıp modül indirmelerini hızlandırın.
GOPROXY=https://goproxy.cn,direct
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
Dikkat: Örnekteki sürüm numaraları (PHP_VERSION=8.5
, NODE_VERSION=20
, vb.) yalnızca tanıtım içindir. Gerçek projelerinde, ihtiyacına ve ServBay’in kurulu desteklediği sürümlere uygun değerler girmen gerekir. Eğer belirtilen sürüm henüz kurulu değilse, ServBay varsayılan bir sürüm kullanabilir veya hata bildirebilir.
Desteklenen Yapılandırma Türleri
Örnekler doğrultusunda, .servbay.config
dosyasında aşağıdaki ayar türleri desteklenir:
Ortam Sürümü Belirleme:
PHP_VERSION
: PHP sürümü belirtir.NODE_VERSION
: Node.js sürümü belirtir.RUBY_VERSION
: Ruby sürümü belirtir.JAVA_VERSION
: Java (OpenJDK) sürümü belirtir.PYTHON_VERSION
: Python sürümü belirtir.DOTNET_VERSION
: .NET sürümü belirtir.GO_VERSION
: Go sürümü belirtir.- (Tüm desteklenen ortamlar ve ilgili değişken adları için ServBay belgelerini veya arayüzünü inceleyin.)
Paket Yöneticisi (Node.js) Yapılandırmaları:
YARN_CONFIG_REGISTRY
: Yarn ayna (mirror) depo adresi.NPM_CONFIG_REGISTRY
: NPM ayna (mirror) depo adresi.NPM_CONFIG_CACHE
: NPM yerel önbellek yolu.YARN_CONFIG_CACHE
: Yarn yerel önbellek yolu.
Go Modül Proxy Yapılandırması:
GOPROXY
: Go modül proxy sunucusu adresi.
Bu yapılandırmalar, her projeye birbirinden bağımsız özel bir ortam tanımlamanı sağlar.
Pratikte Kullanım ve Doğrulama
.servbay.config
dosyanı ayarladıktan sonra, projenin ServBay üzerinde yüklü olduğundan (örneğin “Siteler” listesinde göründüğünden) emin ol. ServBay siteyi yüklerken veya yeniden yüklerken bu dosyayı okur.
Yapılandırmanın geçerli olup olmadığını aşağıdaki yöntemlerle doğrulayabilirsin:
ServBay Arayüzünden Kontrol: ServBay'in site detaylarında, o projeye ait etkin ortam sürümlerini görebilirsin.
Komut Satırından Kontrol: ServBay Terminal özelliğiyle, projeni kök dizinde aç ve sürüm kontrol komutlarını çalıştır:
- PHP sürümünü doğrula:
php -v
- Node.js sürümünü doğrula:
node -v
- Yarn sürümünü doğrula:
yarn -v
- NPM sürümünü doğrula:
npm -v
- Python sürümünü doğrula:
python -V
veyapython3 -V
- Go sürümünü doğrula:
go version
- Java sürümünü doğrula:
java -version
- .NET sürümünü doğrula:
dotnet --version
- Ruby sürümünü doğrula:
ruby -v
Komutların çıktısındaki versiyonun.servbay.config
ile eşleştiğine bak.
- PHP sürümünü doğrula:
Web Üzerinden Doğrulama (PHP için): Proje kökünde
info.php
adlı bir dosya oluşturup içine<?php phpinfo(); ?>
satırını koy. Tarayıcıdan bu dosyayı ziyaret et (ör.http://your-project.servbay.demo/info.php
); çıkan sayfadaki PHP sürümünün belirttiğinle aynı olduğundan emin ol.
Aşağıdaki görüntü, ServBay arayüzünde proje bazında yapılandırmaların etkinleşmesini örnekleyebilir:
(Lütfen ServBay uygulamanın gerçek görüntülerine bakarak yapılandırmanın etkinleştiğini kontrol edin.)
Dikkat Edilmesi Gerekenler
.servbay.config
dosya adı eksiksiz ve doğru olmalı, yazım hatası olmamalıdır.- Dosya mutlaka projenin kök klasöründe olmalıdır.
- Belirtilen sürümler, ServBay üzerinde kurulu ve desteklenen sürümler olmalıdır.
- Her anahtar-değer çifti yeni satırda yer almalıdır (
ANAHTAR=DEĞER
). - Söz dizimi hataları dosyanın tamamının veya bazı ayarların göz ardı edilmesine yol açabilir.
.servbay.config
'deki ayarlar, yalnızca mevcut proje için geçerlidir ve ServBay’in küresel ayarlarını geçersiz kılar.
Sıkça Sorulan Sorular (SSS)
S: Eğer proje kökümde .servbay.config
dosyası yoksa ne olur?
C: Dosya yoksa, ServBay projeni uygulama arayüzündeki küresel ortam ayarlarıyla çalıştırır.
S: .servbay.config
dosyasında, ServBay’de yüklü olmayan bir sürüm belirttim; ne olur?
C: ServBay hata bildirir. Hatanın türü, ServBay’in mevcut sürümüne ve yapılandırmana bağlıdır. İstediğin ortamın uygulanabilmesi için önce o sürümü ServBay uygulamasından yüklemeni öneririz.
S: .servbay.config
dosyasını değiştirdikten sonra ServBay'i yeniden başlatmam gerekir mi?
C: Genellikle sadece ilgili siteyi yeniden yüklemek veya durdurup tekrar başlatmak yeterlidir; tüm ServBay uygulamasını kapatıp açmaya gerek yoktur.
S: .servbay.config
dosyasındaki ayarlar, başka projelerimi etkiler mi?
C: Hayır. .servbay.config
yalnızca bulunduğu ServBay site dizinini etkiler, diğer projelerine herhangi bir etki yapmaz.
Sonuç
.servbay.config
dosyası sayesinde ServBay, geliştiricilere son derece güçlü bir proje bazında ortam yönetimi olanağı sunar. Eski sürümlere ihtiyaç duyan eski projelerden, en son teknoloji yığını gereken yeni projelere kadar; bu dosyayı düzenleyerek ortamlar arasında hızlı ve izole geçişler gerçekleştirebilirsin. Bu sayede, yerel geliştirme ortamının esnekliğini ve verimliliğini üst düzeye çıkarırsın. Bu güçlü özelliği kullanarak geliştirme akışını çok daha pürüzsüz ve üretken hale getirebilirsin.