Takip et

FreeBSD 11.0 Üzerine Lighttpd, MySQL ve PHP Kurulumu Kapsamlı Rehberi

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

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 sudo yetkilerine 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 = On
  • error_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 = www
  • listen.group = www
  • listen.mode = 0660
  • user = www: PHP işlemlerinin çalışacağı kullanıcı. Lighttpd varsayılan olarak www kullanı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:

  1. mod_fastcgi modülünü etkinleştirin:

    server.modules bö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",
                # ...
            )
  2. index-file.names’e index.php’yi ekleyin:

    index-file.names satırını bulun ve "index.php" değerini ekleyin, böylece Lighttpd dizinlere erişildiğinde index.php dosyasını varsayılan olarak arar.

    index-file.names = ( "index.php", "index.html", "index.htm", "default.htm", "index.lighttpd.html" )
  3. FastCGI yapılandırmasını ekleyin:

    Dosyanın sonuna veya uygun bir yere aşağıdaki fastcgi.server bloğ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’in www.conf dosyası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!

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.