Apache Web Siteleri Caddy'ye Nasıl Taşınır
ServBay, Caddy, Nginx ve Apache gibi farklı web sunucularını destekler; projelerinizin ihtiyaçlarına göre dilediğinizi seçebilirsiniz. ServBay, çoğu PHP framework’ü ve CMS için URL Rewrite kurallarını Caddy ve Nginx için önceden yapılandırmıştır; genellikle ekstra bir ayar yapmanıza gerek yoktur.
Bu makale, Apache yapılandırmasına sahip mevcut web sitelerinizi, ServBay’in yerel geliştirme ortamında Caddy sunucusuna nasıl taşıyacağınızı rehberlik etmeyi amaçlamaktadır. Yaygın olarak kullanılan Laravel ve WordPress projelerini örnek olarak kullanacağız.
ServBay’in Apache Desteği Hakkında
ServBay, Apache’yi web sunucusu olarak tam anlamıyla destekler. Eğer ServBay’de varsayılan web sunucunuzu Apache’ye çevirmek veya Apache tabanlı siteleri yapılandırmak istiyorsanız, lütfen şu belgeye göz atın: Varsayılan Web Sunucusunu Apache Olarak Değiştirme. Bu makalenin asıl odağı, mevcut Apache yapılandırmalı sitenizi ServBay’in Caddy ortamına taşımaktır.
Genel Bakış
Web siteleri arasında taşıma işlemleri, yapılandırmaları ve dosyaları uyarlamayı gerektirir. ServBay, Caddy'yi web sunucusu olarak kullanmanıza olanak tanır ve çoğu PHP framework ile CMS için kutudan çıktığı gibi destek sunar, yani temel yapılandırmalar (Rewrite kuralları dahil) otomatik olarak yapılır. Bu yüzden, Apache tabanlı bir siteyi ServBay’in Caddy ortamına taşımak genellikle çok kolaydır; temel olarak tek yapmanız gereken, siteyi ServBay’e doğru şekilde “eklemek”tir.
Taşıma Öncesi Hazırlıklar
Taşıma işlemlerine geçmeden önce aşağıdaki adımları kesinlikle uygulayın:
- Dosya Yedekleme: Web sitenizin kök dizini altındaki tüm kod, görsel, yüklenen dosyalar dahil olmak üzere eksiksiz bir dosya yedeği alın.
- Veritabanı Yedekleme: Sitenizin kullandığı veritabanını dışa aktararak yedekleyin. ServBay, MySQL, PostgreSQL, MongoDB gibi birçok veritabanını destekler; uygun araçla yedekleyin.
- ServBay Kurulumunu Kontrol Edin: ServBay’in macOS üzerinde kurulu ve başlatılmış olduğundan emin olun.
- Caddy Paketinin Aktif Olduğundan Emin Olun: ServBay uygulamasında Caddy yazılım paketinin etkin olduğunu kontrol edin.
Laravel Web Sitesini Caddy’ye Taşımak
Diyelim ki Apache üzerinde çalışan bir Laravel siteniz var ve yapılandırması şöyle görünüyor:
Tipik Bir Apache Yapılandırma Örneği (ServBay Dışı Ortam)
Aşağıda Laravel siteniz için, ServBay dışında kullanılan klasik bir Apache VirtualHost örneği bulunuyor. Dikkat edin, DocumentRoot
public
dizinine gösterilmiş ve .htaccess
dosyası üzerinden Rewrite kuralları AllowOverride All
ile etkinleştirilmiş.
<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>
# Genellikle burada ayrıca PHP işleyici ayarları da olur, örneğin FPM veya mod_php kullanımı
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Bu Laravel Sitesini ServBay’de Çalıştırmak (Caddy ile)
ServBay kullanırken, yukarıdaki Apache yapılandırmasını elle Caddy yapılandırmasına dönüştürmenize gerek yoktur. ServBay’in amacı, yerel geliştirme yapılandırmalarını sizin için kolaylaştırmaktır. Laravel gibi popüler framework’lerde, siteyi eklerken otomatik olarak doğru Caddy yapılandırmasını (doğru public
dizinine yönlendirme ve Rewrite kuralları dahil) oluşturur.
Adım adım işlemler:
- Laravel projenizin tüm dosyalarını
/Applications/ServBay/www/your-laravel-project
gibi ServBay’in site kök dizini altında bir alt dizine tamamen kopyalayın.public
klasörünün bu dizin altında olduğuna emin olun. - ServBay uygulamasını açın.
- "Web Siteleri (Websites)" yönetim arayüzüne gidin.
- "Site Ekle" butonuna tıklayın.
- Açılır yapılandırma penceresinde:
- Alan Adı (Domain): Bu siteye erişmek için hangi alan adını kullanmak istediğinizi girin, örneğin
laravel.servbay.demo
. ServBay bunu otomatik olarak hosts dosyanıza ekler. - Site Kök Dizini (Document Root): Gözat’a tıklayın ve Laravel projenizin
public
dizinini seçin, örneğin/Applications/ServBay/www/your-laravel-project/public
. - Web Sunucu (Web Server):
Caddy
olarak seçin. - PHP Sürümü (PHP Version): Projenizin gerektirdiği PHP sürümünü seçin.
- Uygulama Türü (Application Type):
Laravel
olarak seçin. Otomatik yapılandırma için kilit nokta budur.
- Alan Adı (Domain): Bu siteye erişmek için hangi alan adını kullanmak istediğinizi girin, örneğin
- "Kaydet" veya "Ekle" düğmesine tıklayın.
Bu adımları tamamladığınızda, ServBay laravel.servbay.demo
sitesi için uygun Caddy yapılandırmasını otomatik olarak oluşturur; doğru public
dizinine yönlendirme, URL Rewrite kuralları ve PHP isteği yönlendirmesini ayarlar. Artık tarayıcıdan http://laravel.servbay.demo
adresine giderek Laravel sitenizi çalıştırabilirsiniz.
Teorik Caddy Yapılandırma Örneği (Bilgi Amaçlı, ServBay Otomatik Oluşturur)
Nasıl bir yapılandırmanın otomatik olarak üretildiğini daha iyi anlamanız için, aşağıda Laravel için teorik bir Caddy yapılandırması görebilirsiniz. Bunu elle oluşturmanıza gerek yoktur.
laravel.servbay.demo {
# Site kök dizinini ayarla, public dizinine yönlendir
root * /Applications/ServBay/www/your-laravel-project/public
# PHP FastCGI işleyici ayarı
# ServBay, doğru socket yolunu ve PHP sürümünü otomatik ayarlar
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Statik dosyalar için dosya sunucu özelliğini etkinleştir
file_server
# Laravel’in ana Rewrite kuralı: İstenen yol gerçek bir dosya veya dizin değilse, index.php’ye yönlendir
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
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 Web Sitesini Caddy’ye Taşımak
Şimdi Apache üzerinde çalışan bir WordPress siteniz olduğunu varsayalım ve yapılandırması şu şekilde olsun:
Tipik Bir Apache Yapılandırma Örneği (ServBay Dışı Ortam)
Aşağıda, klasik bir WordPress sitesi için Apache VirtualHost örneği yer almakta. WordPress genellikle kök dizinini kurulum dizinine çeker ve .htaccess
dosyası ile SEO dostu kalıcı linkler gibi Rewrite kuralları kullanır.
<VirtualHost *:80>
ServerName wordpress.demo
DocumentRoot /path/to/your/wordpress
<Directory /path/to/your/wordpress>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Genellikle burada ayrıca PHP işleyici ayarları bulunur
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Bu WordPress Sitesini ServBay’de Çalıştırmak (Caddy ile)
Laravel'de olduğu gibi, ServBay'de WordPress'i Caddy ile çalıştırırken Caddy yapılandırmasını elle yazmanıza gerek yoktur. ServBay, WordPress’in gereksinimlerini tanır ve uygun yapılandırmayı üretir.
Adım adım işlemler:
- WordPress dosyalarınızı
/Applications/ServBay/www/your-wordpress-site
gibi bir alt klasöre eksiksiz kopyalayın.index.php
,wp-admin
,wp-includes
gibi dosya ve klasörlerin mevcut olduğundan emin olun. - ServBay uygulamasını açın.
- "Web Siteleri (Websites)" yönetim arayüzüne gidin.
- "Site Ekle" butonuna tıklayın.
- Açılır yapılandırma penceresinde:
- Alan Adı (Domain): Sitenize erişmek için kullanacağınız alan adını girin, örneğin
wordpress.servbay.demo
. - Site Kök Dizini (Document Root): WordPress kurulum yolunu seçin, örneğin
/Applications/ServBay/www/your-wordpress-site
. - Web Sunucu (Web Server):
Caddy
olarak seçin. - PHP Sürümü (PHP Version): Projenizin gerektirdiği PHP sürümünü seçin.
- Uygulama Türü (Application Type):
WordPress
olarak seçin.
- Alan Adı (Domain): Sitenize erişmek için kullanacağınız alan adını girin, örneğin
- "Kaydet" veya "Ekle" butonuna basın.
ServBay, wordpress.servbay.demo
sitesi için uygun Caddy yapılandırmasını otomatik oluşturacak, dizin yapısı, SEO dostu URL uzantıları (kalıcı bağlantı), PHP yönlendirme gibi ayarları kolayca yapacaktır. Artık http://wordpress.servbay.demo
adresine giderek WordPress sitenizi, kalıcı bağlantılar dahil eksiksiz bir şekilde kullanabilirsiniz.
Teorik Caddy Yapılandırma Örneği (Bilgi Amaçlı, ServBay Otomatik Oluşturur)
Aşağıda WordPress için teorik düzeyde eşdeğer bir Caddyfile örneği görebilirsiniz. Bunu elle düzenlemeye gerek yoktur.
wordpress.servbay.demo {
# Site kök dizini ayarla
root * /Applications/ServBay/www/your-wordpress-site
# PHP FastCGI işleyici ayarı
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Dosya sunucu özelliğini etkinleştir
file_server
# WordPress’in ana Rewrite kuralı: kalıcı linkleri etkin kıl
# İstenen yol dosya veya klasör değilse, index.php’ye yönlendir
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
rewrite @notStatic /index.php
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Özet
Apache ile yapılandırılmış Laravel ya da WordPress sitelerini ServBay’in Caddy sunucusuna taşımak son derece kolaydır. ServBay, yaygın uygulama tiplerini kutudan çıktığı gibi desteklediği için Apache’nin .htaccess
ya da VirtualHost dosyalarını Caddyfile'a çevirmeye uğraşmazsınız. Tek yapmanız gereken, ServBay uygulamasındaki "Web Siteleri (Websites)" yönetim panelinden sitenizi eklemek; alan adını, kök dizini seçmek, Caddy’yi web sunucusu olarak ayarlamak ve uygulama tipini (Laravel veya WordPress gibi) seçmek. ServBay, karmaşık URL Rewrite kuralları dahil tüm Caddy yapılandırmasını sizin yerinize ayarlar.
Bu otomatik yapılandırma, taşıma sürecinizi ve yerel geliştirme ortamınızı büyük ölçüde kolaylaştırır; siz de sunucu ayarlarına değil, kod geliştirmeye odaklanırsınız.