OYUN GÜNDEMİ

FreeBSD Web Server Kurulum Rehberi: Apache, MySQL, PHP

FreeBSD üzerinde web server kurmak isteyenler için temel kurulum adımlarını bu rehberde toparladım. Metin2 server sahipleri genelde oyun serverını ayrı, web tarafını ayrı düşünmek zorunda kalıyor. Site, panel, kayıt sistemi, sıralama, market, destek sayfası derken sağlam bir web altyapısı şart oluyor.

image-494 FreeBSD Web Server Kurulum Rehberi: Apache, MySQL, PHP

Bu rehberde FreeBSD üzerinde MySQL 5.6, Apache24, PHP 5.6, PHP eklentileri, Varnish cache ve bazı güvenlik modüllerinin kurulum mantığını anlatacağım. Baştan söylemekte fayda var: PHP 5.6 artık eski bir sürüm. Bu tarz kurulumlar genelde eski Metin2 panelleriyle uyumluluk için tercih ediliyor. Yeni bir proje kuruyorsan daha güncel PHP sürümlerini düşünmek daha sağlıklı olur.

Kurulacak Ana Bileşenler

Bu kurulumda kullanılacak temel paketler şöyle:

BileşenNe İşe Yarar?
MySQL 5.6 ServerVeritabanı sistemi
Apache24Web server
PHP 5.6PHP tabanlı web dosyalarını çalıştırır
PHP 5.6 ExtensionsGerekli PHP eklentileri
PHP 5.6 Extra ExtensionsEk PHP modülleri
Varnish CacheHTTP hızlandırma / cache
IP Filter / pfFirewall tarafı
mod_securityWeb uygulama güvenliği
mod_antilorisSlowloris saldırılarına karşı koruma
mod_evasiveBasit DoS koruması

PKG Kurulumu

Uyarı: PHP 5.6 eski bir sürümdür. Eski Metin2 panelleri için gerekebilir ama canlı projede kullanıyorsanız panel dizinlerini, MySQL erişimini ve admin alanlarını ekstra koruma altına almanız gerekir.

FreeBSD üzerinde paketleri rahatça kurabilmek için önce pkg sisteminin aktif olması gerekiyor. Konsola şu komutu yaz:

pkg

Kurulum onayı geldiğinde:

Y

diyip Enter’a bas.

Ardından paket listesini güncelle:

pkg update

Bundan sonra gerekli paketleri kurmaya başlayabiliriz.

MySQL 5.6 Kurulumu

Önce MySQL server paketini kuruyoruz:

pkg install mysql56-server

MySQL’in sistem açılışında otomatik başlaması için:

echo 'mysql_enable="YES"' >> /etc/rc.conf

Servisi başlat:

service mysql-server start

MySQL Root Kullanıcısı Oluşturma

Şimdi MySQL’e root kullanıcısıyla giriş yap:

mysql -u root

Ardından root kullanıcısına yetki vermek için şu komutları gir:

GRANT ALL PRIVILEGES ON *.* TO root@"%"
IDENTIFIED BY 'password' WITH GRANT OPTION;
flush privileges;
exit

Buradaki password kısmını kendi belirlediğin güçlü bir şifreyle değiştirmen gerekiyor.

01

Apache24

Web dosyalarını yayınlamak ve panel tarafını çalıştırmak için ana web server görevi görür.

02

MySQL 5.6

Hesap sistemi, panel, market ve oyun veritabanı bağlantıları için kullanılır.

03

Varnish

Apache yükünü azaltır, yoğun trafikte web sayfalarının daha hızlı cevap vermesine yardımcı olur.

Ama burada küçük bir uyarı yapmak lazım. root@"%" kullanımı root kullanıcısının her IP’den bağlanmasına izin verir. Test ortamında iş görür ama canlı sistemde güvenlik açısından risklidir. Mümkünse sadece belirli IP’lere izin verilmeli ya da bağlantılar SSH tunnel üzerinden yapılmalı.

Apache24 Kurulumu

Apache web server paketini kurmak için:

pkg install apache24

Apache’nin sistem açılışında otomatik başlaması için:

echo 'apache24_enable="YES"' >> /etc/rc.conf

Apache ayar dosyası şu konumdadır:

/usr/local/etc/apache24/httpd.conf

Bazı eski rehberlerde apache22 dizini geçebilir ama Apache24 kullanıyorsan doğru yol apache24 olmalı.

Dosya içinde şu satırı bul:

# ServerName www.yourdomain.com:80

Başındaki # işaretini kaldırıp kendi domain veya IP bilgine göre düzenleyebilirsin:

ServerName www.yourdomain.com:80

Ardından Apache servisini başlat:

service apache24 start

Tarayıcıdan sunucu IP adresine girdiğinde şu yazıyı görüyorsan Apache çalışıyor demektir:

It Works!

PHP 5.6 Kurulumu

PHP 5.6 kurmak için şu paketleri yükle:

pkg install php56
pkg install mod_php56

Apache ayar dosyasını aç:

/usr/local/etc/apache24/httpd.conf

Şu satırın olup olmadığını kontrol et:

LoadModule php5_module libexec/apache24/libphp5.so

Yoksa manuel olarak ekleyebilirsin.

Sonra PHP ayar dosyasını oluştur:

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Apache İçinde PHP Çalıştırma

Apache’nin PHP dosyalarını tanıması için httpd.conf içinde şu satırı bul:

DirectoryIndex index.html

Bunu şu şekilde değiştir:

DirectoryIndex index.html index.php

Sonra dosyanın uygun bir yerine şu satırları ekle:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Eğer .htm veya .html dosyalarının içinde de PHP kodu çalıştırmak istiyorsan şu şekilde kullanabilirsin:

AddType application/x-httpd-php .php .htm .html

Çok dilli Apache desteği istiyorsan şu satırı aktif edebilirsin:

Include etc/apache24/extra/httpd-languages.conf

Sonrasında servisleri yeniden başlat:

service apache24 restart
service mysql-server restart

PHP Çalışıyor mu Test Etme

PHP’nin çalışıp çalışmadığını test etmek için Apache web dizinine bir index.php dosyası oluştur:

echo "<?php phpinfo(); ?>" >> /usr/local/www/apache24/data/index.php

Sonra tarayıcıdan şu adrese gir:

http://sunucu_ip_adresi/index.php

PHP bilgi sayfası geliyorsa PHP kurulumu doğru çalışıyor demektir.

PHP 5.6 Eklentileri

Metin2 panel, kayıt sistemi veya eski web scriptleri için genelde bazı PHP eklentilerine ihtiyaç olur. Temel eklentileri şu şekilde kurabilirsin:

pkg install php56-extensions
pkg install php56-mysqli
pkg install php56-mysql
pkg install php56-gd
pkg install php56-openssl

Bu paketler özellikle MySQL bağlantısı, görsel işlemleri ve SSL tarafında işe yarar.

Varnish Cache Kurulumu

Varnish, web siteleri için HTTP accelerator olarak kullanılan güçlü bir cache sistemidir. Özellikle yoğun trafik alan sitelerde Apache’nin yükünü azaltmak için kullanılabilir.

Kurulum:

pkg install varnish

Sistem açılışında aktif olması için:

echo 'varnishd_enable="YES"' >> /etc/rc.conf

Varnish’i başlat:

/usr/local/etc/rc.d/varnishd start

Durumunu kontrol et:

/usr/local/etc/rc.d/varnishd status

Eğer “varnishd is not running” gibi bir çıktı alırsan konfigürasyonu kontrol etmen gerekir.

Varnish Konfigürasyonu

Varsayılan Varnish config dosyası:

ee /usr/local/etc/varnish/default.vcl

Dosyada backend kısmı genelde şu şekilde görünür:

# backend default {
# .host = "127.0.0.1";
# .port = "8080";
# }

Yorum satırlarını kaldırarak şu hale getir:

backend default {
.host = "127.0.0.1";
.port = "8080";
}

Buradaki 127.0.0.1, Apache’nin çalıştığı makineyi ifade eder. Eğer farklı bir IP kullanıyorsan ona göre değiştirebilirsin.

Apache’yi 8080 Portuna Alma

Varnish genelde dışarıya 80 portundan cevap verir, Apache ise arkada 8080 portunda çalışır. Bunun için Apache ayar dosyasında:

Listen 80

satırını bulup şu şekilde değiştir:

Listen 8080

Apache’yi yeniden başlat:

service apache24 restart

Sonra Varnish’i tekrar başlat:

/usr/local/etc/rc.d/varnishd start

Durum kontrolü:

/usr/local/etc/rc.d/varnishd status

Varnish loglarını aktif etmek istersen:

echo 'varnishlog_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/varnishlog start

Güvenlik Bölümü

Web server kurduktan sonra iş bitmiyor. Özellikle Metin2 paneli, kayıt sayfası veya yönetim paneli gibi alanlar varsa güvenlik tarafına mutlaka dikkat etmek gerekiyor.

Bu bölümde temel olarak şu modüller öne çıkıyor:

  • mod_antiloris
  • mod_security
  • mod_evasive
  • firewall / IP Filter / pf

mod_antiloris Kurulumu

Slowloris saldırıları, düşük bant genişliğiyle web server üzerinde çok sayıda yarım bağlantı açarak Apache’yi meşgul etmeye çalışır. Bu saldırı tipi, serverın bağlantı havuzunu doldurup normal kullanıcıların siteye erişmesini zorlaştırabilir.

mod_antiloris kurulumu:

pkg install mod_antiloris

Apache config dosyasında şu satırın aktif olduğundan emin ol:

LoadModule antiloris_module libexec/apache24/mod_antiloris.so

Eğer satır yoksa manuel olarak ekleyebilirsin.

Apache’yi yeniden başlat:

service apache24 restart

ModSecurity Kurulumu

ModSecurity, Apache için kullanılan güçlü bir web application firewall modülüdür. SQL injection, path traversal, kötü niyetli requestler gibi birçok saldırı tipini tespit etmek veya engellemek için kullanılabilir.

Kurulum:

pkg install www/mod_security

OWASP Core Rule Set kullanmak için önce Git kur:

pkg install git

ModSecurity dizinini oluştur:

mkdir -p /usr/local/etc/modsecurity
cd /usr/local/etc/modsecurity

OWASP CRS reposunu indir:

git clone https://github.com/SpiderLabs/owasp-modsecurity-crs crs

Varsayılan ModSecurity config dosyasını kopyala:

cp /usr/local/etc/modsecurity.conf-example modsecurity.conf

Gerekli mapping dosyasını indir:

fetch https://raw.github.com/SpiderLabs/ModSecurity/master/unicode.mapping

CRS setup dosyasını kopyala:

cp crs/modsecurity_crs_10_setup.conf.example modsecurity_crs_10_setup.conf

Apache için ModSecurity config dosyası oluştur:

ee /usr/local/etc/apache24/modules.d/000_modsecurity.conf

İçine şu yapıyı ekleyebilirsin:

LoadModule security2_module libexec/apache24/mod_security2.so<IfModule security2_module>
Include etc/modsecurity/modsecurity.conf
Include etc/modsecurity/modsecurity_crs_10_setup.conf
Include etc/modsecurity/crs/base_rules/*.conf
</IfModule>

Apache’yi yeniden başlat:

service apache24 restart

Log dosyasını kontrol et:

/var/log/httpd-error.log

ModSecurity doğru yüklendiyse loglarda ModSecurity’nin aktif olduğuna dair satırlar görmen gerekir.

ModSecurity DetectionOnly ve Blocking Mode

ModSecurity varsayılan olarak bazı kurulumlarda sadece tespit modunda çalışabilir. Yani saldırı gibi görünen requestleri loglar ama engellemez. Bu aslında ilk kurulum için mantıklı bir davranıştır, çünkü yanlış ayar yapılırsa normal kullanıcıların siteye erişimi de kesilebilir.

Config dosyasında şu satır varsa:

SecRuleEngine DetectionOnly

Bu sadece tespit modudur.

Engelleme moduna almak için:

SecRuleEngine On

yapabilirsin.

Ama canlı bir sitede direkt On yapmak bazen sorun çıkarabilir. Önce birkaç gün DetectionOnly modunda logları izlemek, false positive var mı görmek daha sağlıklı olur.

Şüpheli requestleri görmek için audit log kontrol edilebilir:

/var/log/modsec_audit.log

Örneğin /etc/passwd benzeri şüpheli path denemeleri CRS tarafından yakalanabilir.

mod_evasive

mod_evasive basit DoS saldırılarına karşı kullanılan Apache modüllerinden biridir. Aynı IP’den çok kısa sürede fazla istek geldiğinde engelleme yapabilir.

Genelde şu ayar başlıklarıyla yapılandırılır:

AyarAçıklama
DOSHashTableSizeTakip tablosunun boyutunu belirler
DOSPageCountAynı sayfaya izin verilen istek sayısı
DOSSiteCountSite geneline izin verilen istek sayısı
DOSPageIntervalSayfa istek aralığı
DOSSiteIntervalSite istek aralığı
DOSBlockingPeriodIP’nin ne kadar süre engelleneceği
DOSEmailNotifyBildirim e-postası
DOSSystemCommandEngelleme anında çalışacak komut
DOSLogDirLog dizini
Whitelisting IP AddressesGüvenilir IP adresleri

Bu modül tek başına büyük DDoS saldırılarını durdurmaz ama basit HTTP flood ve agresif isteklerde işe yarayabilir.

Genel Web Server Güvenlik Kontrol Listesi

KontrolDurum
FreeBSD paketleri güncel mi?Kontrol edilmeli
Apache sadece gerekli portlarda mı çalışıyor?Kontrol edilmeli
MySQL dışarıya açık mı?Açık olmamalı
PHP sürümü eski mi?Eskiyse risk bilinmeli
ModSecurity aktif mi?Önerilir
OWASP CRS yüklü mü?Önerilir
mod_antiloris aktif mi?Önerilir
mod_evasive yapılandırıldı mı?Önerilir
Varnish doğru porta yönleniyor mu?Kontrol edilmeli
SSH güvenliği yapıldı mı?Mutlaka yapılmalı
Panel dizinleri korunuyor mu?Kontrol edilmeli
Loglar düzenli takip ediliyor mu?Önerilir

Apache22 ve Apache24 Karışıklığına Dikkat

Eski FreeBSD rehberlerinde bazen Apache22 yolları geçer. Örneğin:

/usr/local/etc/apache22/httpd.conf

Ama Apache24 kurduysan doğru yol genellikle şudur:

/usr/local/etc/apache24/httpd.conf

Aynı şekilde modül yollarında da apache22 yerine apache24 kontrol edilmelidir. Rehberlerdeki komutları körlemesine uygulamak yerine kendi kurulu paket sürümüne göre dosya yollarını doğrulamak önemli.

PHP 5.6 Hakkında Uyarı

PHP 5.6 eski bir sürümdür ve modern güvenlik standartları için önerilmez. Ancak bazı eski Metin2 panelleri, kayıt sistemleri veya scriptler hâlâ PHP 5.6 ile çalışacak şekilde yazılmış olabilir.

Canlı projede kullanacaksan:

  • Paneli public erişime tamamen açık bırakma.
  • Admin dizinlerini koru.
  • ModSecurity gibi ek katmanlar kullan.
  • MySQL bağlantılarını sınırlı tut.
  • Gereksiz PHP fonksiyonlarını kapatmayı düşün.
  • Mümkünse scriptleri yeni PHP sürümlerine uyumlu hale getir.

FreeBSD üzerinde Apache, MySQL ve PHP kurulumu çok zor değil ama işin kritik tarafı güvenlik ve doğru yapılandırma. Özellikle Metin2 gibi eski panel sistemleriyle çalışıyorsan, sadece kurulumun tamamlanması yeterli değil. Hangi port açık, MySQL’e kim bağlanabiliyor, PHP hangi sürümde çalışıyor, ModSecurity gerçekten engelliyor mu, Varnish doğru yönleniyor mu; bunların hepsi kontrol edilmeli.

MMOoyun Developer

Metin2 server ve web panel tarafında daha fazlası için

FreeBSD kurulumları, Metin2 server dosyaları, panel geliştirmeleri ve teknik rehberler için geliştirici platformumuzu ziyaret edebilirsiniz.

dev.mmooyun.com’a Git

Kısaca, önce sistemi kur, sonra test et, sonra güvenlik katmanlarını ekle. Web tarafını “nasıl olsa sadece panel” diye hafife almak, serverın en zayıf noktasını kendi elinle oluşturmak demek olur.

Paylaş :

Bu Kategoriden

En İyi AI Web Sitesi Kurucuları (2026): Kod Yazmadan Dakikalar İçinde Sitenizi Hazırlayın 19.05.2026 Razer Kiyo V2 4K yayıncı kamerası, geniş açılı merceği ve minimalist siyah gövdesi ile monitör üzerinde konumlanıyor. Razer Kiyo V2 İncelemesi: Ultrawide 4K Yayıncı Kamerası Oyunculara Neler Sunuyor? 19.05.2026 Zowie EC2-DW kablosuz espor oyuncu faresi, ergonomik eğimi ve özel kablosuz şarj istasyonu ile masada konumlanıyor. BenQ Zowie EC2-DW İncelemesi: CS2 ve Valorant İçin Rüya Gibi Oyuncu Faresi 19.05.2026 Microsoft SMS ile doğrulama kodları yerine biyometrik passkey teknolojisini zorunlu hale getirerek siber dolandırıcılık riskini azaltmayı hedefliyor. Microsoft SMS ile Doğrulama Dönemini Kapatıyor: Şifresiz Geleceğe Geçiş 19.05.2026
Okuma Önerisi

Benzer rehberlere ve güncel oyun içeriklerine göz atabilirsin.

Okumaya Devam Et

Subnautica 2'de derin deniz keşiflerini mümkün kılan Modification Station ve araç modüllerinin üretim paneli. Subnautica 2 Modification Station Rehberi: Araç Yükseltmeleri ve Celestine Tarımı 19.05.2026 Subnautica 2 Biomod yetenek listesindeki en güçlü siber-biyolojik gen mutasyonları ve hücre paneli gösterimi. Subnautica 2 En İyi Yetenekler Tier List: En Güçlü Biomod Seçimleri 19.05.2026 Subnautica 2 Feedback Resonator yükseltmesini açmak için Root Canyon biyomunda taranması gereken antik laboratuvar kalıntıları. Subnautica 2 Feedback Resonator Nasıl Alınır? Root Canyon ve Tarama Rehberi 19.05.2026 Subnautica 2 Power Center ana salonunda yer alan ve dördüncü Angel Comb ile kilitleri açılan devasa uzaylı türbini. Subnautica 2 Power Center Türbini Nasıl Çalıştırılır? Alien Ruins Bulmaca Rehberi 19.05.2026

Hızlı Geçiş

Rehber Haber Önizleme Mobil Oyun