CentOS üzerine php5 ve Mysql destekli Lighttpd Kurulumu
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYDnqEet' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
Apache'nin güçlü bir alternatifi olan lighttpd, uzun zamandan beri epey tercih edilir bir web sunucusu durumunda ilk çıktığı zamanlar daha çok static content yayını için tercih edilen Lighty artık dinamik sitelerde de bol bol görünüyor. Aralarında Youtube ve Myspace gibi büyük sitelerin de bulunduğu lighty'i kullanan web sitelerinin bazılarına aşağıdaki linkten göz atabilirsiniz: http://redmine.lighttpd.net/projects/lighttpd/wiki/PoweredByLighttpd |
Daha önce lighttpd kurulumu ile ilgili bir yazı yayınlamıştım ama o yazı sadece lighttpd kurulumunu içermiyordu. Bu nedenle şimdi CentOS üzerine php5 ve mysql destekli olarak Lighttpd kurulumunun nasıl yapılabileceğine değinmek istiyorum.
Kurulum
CentOS'larda Lighttpd kurulumu yum üzerinden yapılabilmektedir. Bu nedenle kaynak koddan dermeleyle uğraşmaya gerek bulunmuyor. Lighty'nin rpm paketleri Rpmforge paket deposunda mevcut, bu nedenle önce (eğer ekli değilse) bu depoyu aşağıdaki şekilde sisteminize eklemeniz gerekir.
Sisteminiz i386 ise:
# rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
Sisteminiz x86_64 ise:
# rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
Böylece, Lighty rpm paketlerinin de bulunduğu rpmforge deposu yum'a eklenmiş oluyor. Şu durumda lighttpd'yi yum kullanarak aşağıdaki şekilde kurabilirsiniz.
# yum install lighttpd
Kurulumdan sonra son olarak sistem açılışında çalışması için lighttpd servisini startup'a ekleyelim.
# chkconfig --levels 235 lighttpd on
Şimdi yapılandırma ayarlarına geçebiliriz.
Yapılandırma
Lighttpd'nin ana yapılandırma dosyası /etc/lighttpd/lighttpd.conf ve Document Root dizini /srv/www/lighttpd/ ‘dir. Document root dizini boş olarak geldiği için Lighty'i ilk çalıştırdığınız zaman “404 Not Found” hatası alırsınız. Bu nedenle ilk iş olarak, sunucunun düzgün çalışıp çalışmadığını kontrol etmek için document root altında test amaçlı bir index.html dosyası açalım ve içine “Test Sayfasi” yazalim.
# echo "Test Sayfasi" > /srv/www/lighttpd/index.html
Şimdi de lighttpd'yi start edelim.
# service lighttpd start
Artık bir browser açıp http://sunucu-domain-yada-ip-addresi şeklinde index.html dosyasını çağırabilirsiniz. Herşey yolunda gittiyse Test Sayfasi yazan html'i görüntülemeniz gerekir ve bu adımdan sonra Lighty'e Php desteği verme adımına geçebilirsiniz.
Lighttpd php5 Desteği
Lighttpd, FastCGI interface'i üzerinden php desteği sunmaktadır. Bunun için sisteminize lighttpd-fastcgi php-cli paketlerini yüklemeniz gerekir.
Bu işi de gene yum ile aşağıdaki şekilde yapabilirsiniz.
# yum install lighttpd-fastcgi php-cli
Bu paketleri kurduktan sonra php.ini ve lighttpd.conf dosyaları üzerinde bir iki düzenleme yapmak gerekir.
Öncelikle php.ini dosyanızı editleyin:
# vi /etc/php.ini
ve dosyanın sonuna doğru aşağıdaki satırı ekleyin.
cgi.fix_pathinfo = 1
Şimdi de lighttpd.conf dosyanızı editleyin:
# vi /etc/lighttpd/lighttpd.conf
Bu dosya içerisinde ilk düzenlenmesi gereken yer, fastcgi modülünün devreye alınmasıdır. Bunun için dosya içerisinde aşağıda görülen satırı bulun ve başındadaki diyez'i (#) kaldırarak uncomment out edin.
# "mod_fastcgi",
Şimdi de diyezleri kaldırarak uncomment işlemini aşağıdaki satırlar için uygulayın.
#fastcgi.server = ( ".php" => # ( "localhost" => # ( # "socket" => "/var/run/lighttpd/php-fastcgi.socket", # "bin-path" => "/usr/bin/php-cgi" # ) # ) # )
Bu işlemden sonra düzenlenmesi gereken bir işlem daha bulunmaktadır. Conf dosyasında, yukarıda bold olarak işaretlenmiş socket satırında php-fastcgi socketlerinin tutulacağı dizin olarak görüldüğü gibi /var/run/lighttpd/ dizini gösterilmektedir ancak bu dizin kurulum sırasında oluşturulmamaktadır. Bu nedenle ilgili satırı aşağıda görüldüğü gibi /tmp/ dizini olarak gösterebilirsiniz.
"socket" => "/tmp/php-fastcgi.socket",
Fakat sisteminizde güvenlik nedenleri ile /tmp dizininde dosya çalıştırılmasını engelliyorsanız (ki zaten bu şekilde yapmanız gerekir) bu durumda socket'i tmp dizinine set etmek yerine aşağıdaki adımlarla /var/run/lighttpd/ dizinini yaratabilir ve izinleri ile owner'ını lighty'e set edebilirsiniz.
# mkdir /var/run/lighttpd # chown lighttpd:lighttpd /var/run/lighttpd # chmod 755 /var/run/lighttpd
php5 ile ilgili işlem adımları bu kadar. Şimdi lighty'i restart edip değişikliklerin devreye girmesini sağlıyoruz.
# service lighttpd restart
Herşey yolunda gittiyse, php5 desteği aktif durumdadır; sunucunuzu document root dizininde bir php dosyası oluşturup kontrol edebilirsiniz.
MySQL Desteği
Lighty üzerinde php+mysql ile çalışan uygulamalar çalıştıracaksanız, sisteminizde mysql sunucusu ve php-mysql paketi yüklü olmalıdır.
Öncelikle MySQL yüklü değilse yum kullanarak sisteme yükleyin:
# yum install mysql mysql-server
MySQL ilk kurulduğu zaman öntanımlı olarak boş root şifresi ile gelmektedir, bu nedenle öncelikli olarak root şifrenizi tanımlamalısınız:
# mysqladmin -u root password şifreniz # mysqladmin -h `hostname` -u root -p password şifreniz
Şimdi de MySQL'in sistem açılışlarında otomatik olarak başlaması için startup'a ekleyelim.
# chkconfig --level 235 mysqld on
Son olarak da php-mysql paketini gene yum kullanarak sisteme ekleyelim.
# yum install php-mysql
İhtiyacınız olan diğer php modüllerini de aynı şekilde sisteme yükleyebilirsiniz, ancak php-pear gibi modüller httpd (apache) ile bağımlılık gösterdikleri için sisteme httpd paketi de yüklenebilir. Böyle bir durumda port 80 lighty tarafından kullanımda olduğu için apache çalışamayacaktır. Özellikle httpd'nin sisteme yüklenmesini istemiyorsanız yum komutuna –exclude=httpd –skip-broken parametrelerini de ekleyebilirsiniz, bu şekilde apache ile bağımlılık gösteren paketler sisteme yüklenmezler.
Son olarak lighttpd'yi yeniden başlatın.
# service lighttpd restart
Hepsi bu kadar, bir sonraki yazımda Lighty'nin vhost (virtual host) yapılandırmasından bahsedeceğim.
Detaylı bilgi için şu adreslere göz atabilirsiniz.
http://redmine.lighttpd.net/projects/lighttpd/wiki
http://www.howtoforge.com/installing-lighttpd-with-php5-and-mysql-support-on-centos-5.4
Bu yazılar da ilginizi çekebilir:
- Lighttpd, Mysql, Php, Eaccelerator ile OpenAds Ad Server kurulumu.
- Lighttpd Virtual Hosting (vhost) Yapılandırması
Yorumlar
Trackbacks
- Tweets that mention CentOS 5.4 Üzerine php5 ve MySQL destekli Lighttpd Kurulumu | Syslogs -- Topsy.com
- Lighttpd Virtual Hosting Yapılandırması | Syslogs
Yorumda bulunun.