FreeBSD 11.0 Üzerine Lighttpd, MySQL ve PHP Kurulumu Kapsamlı Rehberi
Günümüzde web uygulamaları ve dinamik içerikler, sunucu tarafında çalışan güçlü ve esnek bir yığın gerektirmektedir. FreeBSD, güvenilirliği, performansı ve güvenlik odaklı yapısıyla bu tür uygulamalar için mükemmel bir temel sunar. Bu makalede, FreeBSD 11.0 işletim sistemi üzerine hafif ve hızlı bir web sunucusu olan Lighttpd’yi, popüler veritabanı yönetim sistemi MySQL (MariaDB) ile ve sunucu tarafı betik dili PHP’yi (PHP-FPM aracılığıyla) nasıl kuracağınızı adım adım detaylı bir şekilde anlatacağız. Bu üçlü, genellikle “LMP Stack” olarak adlandırılır ve özellikle kaynakları kısıtlı sistemlerde veya yüksek performans gerektiren ortamlarda tercih edilen bir çözümdür.
FreeBSD, kararlılığı ve güçlü ağ yetenekleriyle bilinen, UNIX tabanlı gelişmiş bir işletim sistemidir. Lighttpd, düşük bellek tüketimi ve yüksek performansıyla dikkat çeken, özellikle statik içerik sunumunda ve FastCGI ile dinamik içerik işlemede başarılı olan bir web sunucusudur. MySQL (veya onun açık kaynaklı, topluluk odaklı bir çatalı olan MariaDB), dünyanın en popüler ilişkisel veritabanı yönetim sistemlerinden biridir ve geniş bir uygulama yelpazesi için sağlam bir veritabanı çözümü sunar. PHP ise, web geliştiricileri arasında yaygın olarak kullanılan, sunucu tarafında çalışan bir betik dilidir ve dinamik web siteleri ile uygulamalar oluşturmak için idealdir.
Bu rehber, FreeBSD 11.0’ı temel alsa da, genel adımlar ve mantık, FreeBSD’nin diğer sürümleri için de büyük ölçüde geçerlidir. Kurulum sürecinde pkg paket yöneticisini kullanacağız, bu da yazılımları kolayca kurmamızı ve yönetmemizi sağlayacaktır. Amacımız, baştan sona işlevsel bir LMP yığını kurarak web uygulamalarınızı barındırabileceğiniz güvenli ve performanslı bir ortam yaratmaktır. Bu rehberin sonunda, Lighttpd’nin PHP ile nasıl çalıştığını ve MySQL ile nasıl iletişim kurduğunu tam olarak anlayacak ve kendi web projeleriniz için sağlam bir altyapıya sahip olacaksınız.
FreeBSD’nin Avantajları
FreeBSD, sunucu ortamlarında birçok avantaj sunar:
- Güvenlik: Güçlü güvenlik özellikleri ve düzenli güncellemelerle bilinir.
- Kararlılık: Uzun süreli kesintisiz çalışma süreleri sunar.
- Performans: Özellikle ağ ve dosya sistemi performansında üstündür.
- Esneklik: Geniş bir yazılım portföyüne sahiptir ve kolayca yapılandırılabilir.
- Dokümantasyon: Kapsamlı ve güncel dokümantasyon desteği mevcuttur.
Bu avantajlar, Lighttpd, MySQL ve PHP gibi bileşenlerle birleştiğinde, hem küçük kişisel projeler hem de büyük ölçekli kurumsal uygulamalar için güçlü ve güvenilir bir platform oluşturur.
LMP Stack’inin Önemi
LMP yığını, özellikle kaynak verimliliği arayanlar için caziptir. Lighttpd’nin hafif yapısı, daha az bellek ve CPU kullanırken bile yüksek sayıda eşzamanlı bağlantıyı yönetebilmesini sağlar. PHP-FPM ile entegrasyonu, PHP uygulamalarının daha verimli ve güvenli bir şekilde çalışmasına olanak tanır. MariaDB ise, MySQL ile tam uyumluluğu ve gelişmiş özellikleri sayesinde güçlü bir veritabanı arka ucu sunar. Bu kombinasyon, özellikle VPS (Sanal Özel Sunucu) gibi kısıtlı kaynaklara sahip ortamlarda veya yüksek trafikli sitelerde maliyet etkin ve performanslı bir çözüm arayanlar için idealdir.
Ön Gereksinimler
Kuruluma başlamadan önce, sisteminizin belirli gereksinimleri karşıladığından emin olmalısınız:
- FreeBSD 11.0 Kurulumu: Sunucunuzda FreeBSD 11.0 işletim sistemi kurulu olmalıdır. Bu rehber, temel bir FreeBSD kurulumu üzerine inşa edilmiştir.
- Root Erişimi veya Sudo Yetkileri: Kurulum ve yapılandırma işlemleri için root kullanıcısı olarak oturum açmış olmanız veya
sudoyetkilerine sahip bir kullanıcı hesabınızın olması gerekmektedir. - İnternet Bağlantısı: Paketleri indirmek ve güncellemeleri almak için aktif bir internet bağlantısı şarttır.
- Temel Komut Satırı Bilgisi: FreeBSD komut satırında temel düzeyde işlem yapabilme yeteneği faydalı olacaktır.
Sistem Güncellemesi
Herhangi bir yazılım kurulumuna başlamadan önce, sisteminizin güncel olduğundan emin olmak en iyi uygulamadır. Bu, potansiyel güvenlik açıklarını kapatır ve paket uyumsuzluklarını önler.
sudo pkg update && sudo pkg upgrade -y
Bu komut, pkg paket yöneticisinin veritabanını günceller ve ardından kurulu tüm paketleri en son sürümlerine yükseltir. -y parametresi, tüm sorulara otomatik olarak evet yanıtı verilmesini sağlar.
Lighttpd Kurulumu
Lighttpd, hafif, hızlı ve verimli bir web sunucusudur. Düşük bellek kullanımıyla bilinir ve özellikle yüksek performans gerektiren veya kısıtlı kaynaklara sahip sunucularda tercih edilir. Statik içerik sunumunda çok başarılıdır ve FastCGI desteği sayesinde dinamik içerikleri de etkili bir şekilde işleyebilir.
Lighttpd’nin Avantajları
- Düşük Kaynak Tüketimi: Apache gibi diğer web sunucularına kıyasla çok daha az bellek ve CPU kullanır.
- Yüksek Performans: Özellikle statik dosyaların sunumunda oldukça hızlıdır.
- Esnek Yapılandırma: Modüler yapısı sayesinde kolayca özelleştirilebilir.
- FastCGI Desteği: PHP-FPM gibi FastCGI uygulamalarıyla verimli bir şekilde çalışır.
Kurulum Adımları
Lighttpd’yi kurmak için pkg komutunu kullanacağız:
sudo pkg install lighttpd -y
Bu komut, Lighttpd paketini indirir ve sisteminize kurar.
Temel Yapılandırma
Lighttpd’nin ana yapılandırma dosyası /usr/local/etc/lighttpd/lighttpd.conf adresinde bulunur. Bu dosyayı düzenleyerek web sunucunuzun davranışını kontrol edebilirsiniz. İlk kurulumdan sonra, varsayılan yapılandırma genellikle çoğu senaryo için yeterlidir, ancak bazı temel değişiklikler yapmak isteyebilirsiniz.
Öncelikle, Lighttpd’nin web kök dizini genellikle /usr/local/www/lighttpd olarak ayarlanmıştır. Bu dizini kendi web sitenizin dosyalarını barındırmak için kullanabilir veya değiştirebilirsiniz. Bu rehberde varsayılan dizini kullanacağız.
Yapılandırma dosyasında dikkat etmeniz gereken bazı temel ayarlar şunlardır:
server.port: Lighttpd’nin dinleyeceği port numarası (genellikle 80).server.document-root: Web sitenizin kök dizini.server.errorlog: Hata günlüklerinin yazılacağı dosya.index-file.names: Dizinlere erişildiğinde varsayılan olarak aranacak dosya adları (örn."index.php", "index.html").
Şimdilik, PHP entegrasyonu için yapılandırma dosyasında bazı değişiklikler yapmamız gerekecek, ancak bunu PHP kurulumu bölümünde ele alacağız. Şimdilik, Lighttpd’nin çalıştığından emin olalım.
Servisi Başlatma ve Etkinleştirme
Lighttpd servisini başlatmak ve sistem başlangıcında otomatik olarak başlamasını sağlamak için aşağıdaki komutları kullanın:
sudo sysrc lighttpd_enable="YES"
sudo service lighttpd start
İlk komut, /etc/rc.conf dosyasına lighttpd_enable="YES" satırını ekleyerek Lighttpd’nin sistem başlangıcında otomatik olarak başlamasını sağlar. İkinci komut ise servisi hemen başlatır.
Lighttpd’yi Test Etme
Lighttpd’nin düzgün çalışıp çalışmadığını test etmek için web tarayıcınızı açın ve sunucunuzun IP adresini veya alan adını girin (örn. http://your_server_ip). Başarılı bir kurulumun ardından, Lighttpd’nin varsayılan “It works!” veya benzeri bir hoş geldiniz sayfası ile karşılaşmalısınız. Bu sayfa genellikle /usr/local/www/lighttpd/index.html dosyasından servis edilir.
Eğer bir hata ile karşılaşırsanız, /var/log/lighttpd/error.log dosyasını kontrol ederek sorun giderme işlemine başlayabilirsiniz.
MySQL (MariaDB) Kurulumu
Veritabanı olarak MySQL yerine MariaDB’yi tercih edeceğiz. MariaDB, MySQL’in açık kaynaklı, topluluk odaklı bir çatalıdır ve MySQL ile yüksek uyumluluk sağlarken, aynı zamanda performans iyileştirmeleri ve ek özellikler sunar. Bu rehberde “MySQL” terimini kullandığımızda, genellikle MariaDB’ye atıfta bulunuyor olacağız.
MariaDB’nin Tercih Edilmesi
- Açık Kaynak ve Topluluk Odaklı: Tamamen açık kaynaklıdır ve aktif bir topluluk tarafından geliştirilir.
- MySQL Uyumluluğu: MySQL ile neredeyse tam uyumludur, bu da mevcut MySQL uygulamalarının MariaDB ile sorunsuz çalışabileceği anlamına gelir.
- Performans ve Özellikler: MySQL’e göre performans iyileştirmeleri ve bazı yeni özellikler sunar.
- Güvenlik: Güvenlik güncellemeleri ve yamaları düzenli olarak yayınlanır.
Kurulum Adımları
MariaDB sunucusunu ve istemci araçlarını kurmak için aşağıdaki komutu kullanın:
sudo pkg install mariadb104-server -y
Bu komut, MariaDB 10.4 sunucu paketini ve bağımlılıklarını sisteminize kurar. Sürüm numarası (104) FreeBSD depolarında mevcut olan en son kararlı sürümle değişebilir.
Başlangıç Güvenlik Yapılandırması
MariaDB kurulumundan sonra, veritabanı sunucunuzu güvence altına almak için mysql_secure_installation betiğini çalıştırmak çok önemlidir. Bu betik, varsayılan güvenlik açıklarını kapatmanıza yardımcı olur:
sudo mysql_secure_installation
Bu betik size bir dizi soru soracaktır:
- Enter current password for root (enter for none): İlk kurulumda root parolası yoktur, bu yüzden sadece Enter tuşuna basın.
- Set root password? [Y/n]: Y tuşuna basarak root kullanıcısı için güçlü bir parola belirleyin. Bu parola, veritabanı sunucusuna yönetimsel erişim için kullanılacaktır.
- Remove anonymous users? [Y/n]: Y tuşuna basarak anonim kullanıcıları kaldırın. Bu, herkesin oturum açmasını engeller.
- Disallow root login remotely? [Y/n]: Y tuşuna basarak root kullanıcısının uzaktan oturum açmasını engelleyin. Bu, güvenlik için önemli bir adımdır.
- Remove test database and access to it? [Y/n]: Y tuşuna basarak varsayılan test veritabanını kaldırın.
- Reload privilege tables now? [Y/n]: Y tuşuna basarak yetki tablolarını yeniden yükleyin. Bu, yaptığınız değişikliklerin hemen etkili olmasını sağlar.
Servisi Başlatma ve Etkinleştirme
MariaDB servisini başlatmak ve sistem başlangıcında otomatik olarak başlamasını sağlamak için aşağıdaki komutları kullanın:
sudo sysrc mysql_enable="YES"
sudo service mysql-server start
İlk komut, /etc/rc.conf dosyasına mysql_enable="YES" satırını ekler. İkinci komut ise MariaDB servisini hemen başlatır.
Veritabanı Oluşturma (İsteğe Bağlı Test)
MariaDB’nin düzgün çalıştığından emin olmak için bir test veritabanı ve kullanıcı oluşturabilirsiniz. Root parolasıyla MariaDB kabuğuna giriş yapın:
mysql -u root -p
Parolanızı girdikten sonra, aşağıdaki SQL komutlarını kullanarak bir veritabanı ve kullanıcı oluşturabilirsiniz:
CREATE DATABASE mytestdb;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON mytestdb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
mytestdb, myuser ve your_password yerine kendi tercih ettiğiniz değerleri girin. Bu adımlar, MariaDB kurulumunuzun başarılı olduğunu ve PHP uygulamalarınızın kullanabileceği bir veritabanı ortamının hazır olduğunu doğrular.
PHP Kurulumu ve Lighttpd ile Entegrasyonu
PHP, dinamik web siteleri ve uygulamalar oluşturmak için kullanılan popüler bir betik dilidir. Lighttpd ile PHP’yi entegre etmek için PHP-FPM (FastCGI Process Manager) kullanacağız. PHP-FPM, PHP’nin FastCGI uygulamalarıyla daha iyi performans ve kararlılık sağlamasına olanak tanıyan gelişmiş bir FastCGI yöneticisidir.
PHP-FPM Nedir ve Neden Kullanılır?
- Performans: PHP yorumlayıcısını her istek için yeniden başlatmak yerine, sürekli çalışan bir havuzda tutar, bu da performansı artırır.
- Kararlılık: Her PHP işlemi ayrı bir havuzda çalıştığı için, bir işlemin çökmesi diğerlerini etkilemez.
- Esneklik: Farklı web siteleri için farklı PHP havuzları ve yapılandırmaları oluşturmaya olanak tanır.
- Güvenlik: PHP işlemlerinin ayrı kullanıcılar altında çalıştırılmasına izin vererek güvenlik sağlar.
PHP ve Gerekli Modüllerin Kurulumu
PHP’nin kendisini, PHP-FPM’i ve Lighttpd ile MySQL ile iletişim kurmak için gerekli modülleri kuralım. FreeBSD 11.0 için genellikle PHP 7.x sürümleri mevcuttur. Bu rehberde PHP 7.4’ü kullanacağız, ancak mevcut en son kararlı sürümü tercih edebilirsiniz.
sudo pkg install php74 php74-mysqli php74-pdo_mysql php74-mbstring php74-curl php74-json php74-filter php74-zlib php74-zip php74-xml php74-fpm -y
Bu komut, PHP 7.4’ü, PHP-FPM’i ve yaygın olarak kullanılan bazı PHP modüllerini (MySQL bağlantısı, çok baytlı dizeler, cURL, JSON, filtreleme, sıkıştırma, ZIP, XML desteği) kurar. İhtiyaçlarınıza göre ek modüller kurmanız gerekebilir.
PHP Yapılandırması (php.ini)
PHP’nin ana yapılandırma dosyası /usr/local/etc/php.ini adresinde bulunur. Varsayılan olarak, bu dosya genellikle php.ini-production veya php.ini-development olarak adlandırılmış bir şablondan kopyalanır. Eğer yoksa, birini kopyalayın:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Şimdi php.ini dosyasını düzenleyerek bazı temel ayarları yapabiliriz. Özellikle, hata raporlaması ve zaman dilimi ayarları önemlidir:
sudo nano /usr/local/etc/php.ini
Aşağıdaki satırları bulun ve düzenleyin:
date.timezone = Europe/Istanbul(Kendi zaman diliminize göre ayarlayın)display_errors = Off(Üretim ortamında güvenlik nedeniyle kapalı tutulmalıdır)log_errors = Onerror_log = /var/log/php-errors.log(PHP hataları için bir günlük dosyası belirtin)
Değişiklikleri kaydedin ve dosyadan çıkın (Nano için Ctrl+X, Y, Enter).
PHP-FPM Yapılandırması (www.conf)
PHP-FPM’in yapılandırma dosyası /usr/local/etc/php-fpm.d/www.conf adresinde bulunur. Bu dosya, PHP-FPM’in nasıl çalışacağını ve web sunucusuyla nasıl iletişim kuracağını belirler.
sudo nano /usr/local/etc/php-fpm.d/www.conf
Aşağıdaki satırları kontrol edin veya düzenleyin:
listen = /var/run/php-fpm.sock: PHP-FPM’in Lighttpd ile iletişim kuracağı Unix soketinin yolu. Bu, TCP portu yerine daha hızlı ve güvenli bir iletişim yöntemidir.listen.owner = wwwlisten.group = wwwlisten.mode = 0660user = www: PHP işlemlerinin çalışacağı kullanıcı. Lighttpd varsayılan olarakwwwkullanıcısı altında çalışır, bu nedenle uyumlu olmaları önemlidir.group = www: PHP işlemlerinin çalışacağı grup.
Diğer ayarlar (örn. pm.max_children, pm.start_servers vb.) PHP-FPM performansını etkiler ve sunucunuzun kaynaklarına ve trafik yüküne göre optimize edilmelidir. Şimdilik varsayılan ayarlar çoğu küçük ve orta ölçekli site için yeterli olacaktır.
Değişiklikleri kaydedin ve dosyadan çıkın.
PHP-FPM Servisini Başlatma ve Etkinleştirme
PHP-FPM servisini başlatmak ve sistem başlangıcında otomatik olarak başlamasını sağlamak için aşağıdaki komutları kullanın:
sudo sysrc php_fpm_enable="YES"
sudo service php-fpm start
Lighttpd’yi PHP-FPM ile Entegre Etme
Şimdi Lighttpd’yi PHP-FPM ile çalışacak şekilde yapılandırmamız gerekiyor. Bunun için Lighttpd’nin ana yapılandırma dosyasını /usr/local/etc/lighttpd/lighttpd.conf düzenleyeceğiz.
sudo nano /usr/local/etc/lighttpd/lighttpd.conf
Yapılandırma dosyasında aşağıdaki değişiklikleri yapın:
- mod_fastcgi modülünü etkinleştirin:
server.modulesbölümünü bulun ve"mod_fastcgi"satırının yorum satırı olmadığından emin olun (başında#olmamalıdır).server.modules = ( # ... diğer modüller ... "mod_fastcgi", # ... ) - index-file.names’e index.php’yi ekleyin:
index-file.namessatırını bulun ve"index.php"değerini ekleyin, böylece Lighttpd dizinlere erişildiğindeindex.phpdosyasını varsayılan olarak arar.index-file.names = ( "index.php", "index.html", "index.htm", "default.htm", "index.lighttpd.html" ) - FastCGI yapılandırmasını ekleyin:
Dosyanın sonuna veya uygun bir yere aşağıdaki
fastcgi.serverbloğunu ekleyin. Bu blok, PHP dosyalarının nasıl işleneceğini Lighttpd’ye bildirir.## ## PHP-FPM configuration ## fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/var/run/php-fpm.sock", "broken-scriptfilename" => "enable" ) ) )"socket" => "/var/run/php-fpm.sock"satırı, PHP-FPM’inwww.confdosyasında yapılandırdığımız Unix soketine işaret eder."broken-scriptfilename" => "enable"seçeneği, bazı URL yeniden yazma senaryolarında Lighttpd’nin PHP-FPM’e doğru betik dosya adını göndermesini sağlar. Genellikle iyi bir uygulamadır.
Değişiklikleri kaydedin ve dosyadan çıkın. Ardından, Lighttpd yapılandırma değişikliklerinin etkili olması için servisi yeniden başlatın:
sudo service lighttpd restart
PHP Entegrasyonunu Test Etme
PHP’nin Lighttpd ile düzgün bir şekilde çalıştığını doğrulamak için, web kök dizininize (varsayılan olarak /usr/local/www/lighttpd/) basit bir info.php dosyası oluşturalım:
sudo nano /usr/local/www/lighttpd/info.php
Dosyanın içine aşağıdaki içeriği ekleyin:
Kaydedin ve çıkın. Şimdi web tarayıcınızı açın ve sunucunuzun IP adresine veya alan adına /info.php ekleyerek erişin (örn. http://your_server_ip/info.php).
Eğer her şey doğru yapılandırıldıysa, PHP yapılandırmanızla ilgili detaylı bilgileri gösteren bir PHP bilgi sayfası görmelisiniz. Bu sayfa, PHP’nin Lighttpd aracılığıyla başarıyla çalıştığını gösterir. İşiniz bittiğinde güvenlik nedeniyle bu info.php dosyasını sunucunuzdan kaldırmayı unutmayın.
sudo rm /usr/local/www/lighttpd/info.php
Ek Güvenlik ve Optimizasyon İpuçları
LMP yığınınızı kurduktan sonra, sunucunuzun güvenliğini artırmak ve performansını optimize etmek için bazı ek adımlar atmanız önemlidir.
Güvenlik Duvarı (Firewall) Kullanımı
FreeBSD, güçlü bir yerleşik güvenlik duvarı olan pf (Packet Filter) veya ipfw‘yi sunar. Sunucunuzu internete açmadan önce, yalnızca gerekli portları (örn. 80 HTTP, 443 HTTPS, 22 SSH) açarak bir güvenlik duvarı yapılandırmanız şiddetle tavsiye edilir.
Örnek bir pf.conf yapılandırması (/etc/pf.conf):
# /etc/pf.conf
Makro tanımlamaları
ext_if="vtnet0" # Dışa bakan arayüzünüzü ayarlayın (örn. em0, igb0, vtnet0)
tcp_services="{ ssh, http, https }"
Varsayılan olarak tüm trafiği engelle
block all
Loopback trafiğine izin ver
pass out quick on lo0 all
pass in quick on lo0 all
Dış arayüz üzerinden gerekli trafiğe izin ver
pass in on $ext_if proto tcp from any to any port $tcp_services flags S/SA keep state
pass out on $ext_if all keep state
Yapılandırmayı etkinleştirmek için /etc/rc.conf dosyasına aşağıdaki satırları ekleyin:
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
Ardından servisi başlatın:
sudo service pf start
pf kuralları hakkında daha fazla bilgi için man pf.conf komutuna bakabilirsiniz.
Sistemi ve Yazılımları Güncel Tutma
Güvenlik açıklarını kapatmak ve en son özelliklerden yararlanmak için FreeBSD sisteminizi ve tüm kurulu yazılımları düzenli olarak güncelleyin:
sudo freebsd-update fetch install
sudo pkg update && sudo pkg upgrade -y
Log Yönetimi
Web sunucunuz, veritabanınız ve PHP uygulamalarınız önemli günlük dosyaları üretir. Bu günlükleri düzenli olarak kontrol etmek, sorunları tespit etmek ve güvenlik olaylarını izlemek için kritik öneme sahiptir. Günlük dosyalarının diskte çok yer kaplamasını önlemek için newsyslog gibi araçlarla günlük döndürmeyi (log rotation) yapılandırın. FreeBSD’de newsyslog varsayılan olarak etkindir ve çoğu yazılım için uygun yapılandırmalara sahiptir. Lighttpd ve PHP-FPM günlük dosyalarının /etc/newsyslog.conf içinde yapılandırıldığından emin olun.
PHP-FPM Optimizasyonu
/usr/local/etc/php-fpm.d/www.conf dosyasındaki havuz ayarlarını (pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers) sunucunuzun RAM miktarına ve beklenen trafik yüküne göre ayarlayarak PHP-FPM performansını optimize edebilirsiniz. Bu ayarların yanlış yapılandırılması, performansı düşürebilir veya sunucunun belleğinin tükenmesine neden olabilir. Genellikle, başlangıç için varsayılan değerler yeterlidir, ancak yüksek trafikli sitelerde ince ayar yapmak gerekebilir.
MySQL Optimizasyonu
MariaDB performansını artırmak için /usr/local/etc/my.cnf (veya /usr/local/etc/mysql/my.cnf) yapılandırma dosyasını düzenleyebilirsiniz. Özellikle innodb_buffer_pool_size, key_buffer_size, query_cache_size gibi parametreler veritabanı performansını önemli ölçüde etkiler. Bu ayarlar, sunucunuzun RAM miktarına ve veritabanı kullanım şeklinize göre yapılmalıdır. MariaDB ile birlikte gelen örnek yapılandırma dosyalarını (örn. my-small.cnf, my-medium.cnf) inceleyerek başlangıç noktası bulabilirsiniz.
Web Sunucusu Kullanıcı Hakları
Güvenlik açısından, Lighttpd’nin ve PHP-FPM’in kök kullanıcı (root) olarak değil, düşük yetkilere sahip ayrı bir kullanıcı (örn. www) altında çalıştırıldığından emin olun. Bu, bir güvenlik açığı durumunda potansiyel zararı sınırlar. Bu rehberdeki kurulum adımları, varsayılan olarak bu güvenlik prensibine uymaktadır.
Web sitenizin dosyalarının bulunduğu dizinlerin (örn. /usr/local/www/lighttpd) sahiplik ve izinlerini doğru ayarlayın. Genellikle, web sunucusunun okuma ve yazma erişimi olması gereken dizinler için www:www sahipliği ve uygun izinler (örn. chmod 755 dizinler için, chmod 644 dosyalar için) kullanılır.
Sonuç
Bu kapsamlı rehberde, FreeBSD 11.0 işletim sistemi üzerine Lighttpd web sunucusunu, MariaDB veritabanını ve PHP-FPM betik yorumlayıcısını nasıl kuracağınızı ve yapılandıracağınızı adım adım öğrendiniz. Artık, dinamik web uygulamalarınızı barındırmak için hafif, hızlı, güvenli ve performanslı bir LMP yığınına sahipsiniz.
Kurulum süreci boyunca:
- Sisteminizin güncel olduğundan emin oldunuz.
- Lighttpd’yi kurdunuz, temel yapılandırmasını yaptınız ve servisi başlattınız.
- MariaDB’yi kurdunuz, güvenlik yapılandırmasını tamamladınız ve servisi başlattınız.
- PHP’yi ve gerekli modülleri PHP-FPM ile birlikte kurdunuz.
- PHP-FPM’i ve Lighttpd’yi PHP dosyalarını işleyecek şekilde entegre ettiniz.
- Kurulumunuzu bir PHP bilgi sayfası ile test ettiniz.
Unutmayın ki bir sunucuyu üretim ortamında çalıştırmak, sürekli izleme, düzenli güncellemeler ve güvenlik kontrolleri gerektirir. Bu rehberde bahsedilen ek güvenlik ve optimizasyon ipuçlarını uygulayarak sunucunuzun daha sağlam ve verimli çalışmasını sağlayabilirsiniz. FreeBSD’nin sağlam temeli ve Lighttpd, MariaDB, PHP-FPM üçlüsünün esnekliği sayesinde, web projeleriniz için güçlü bir platforma sahip oldunuz. Başarılar dileriz!