CentOS 5 Lighttpd Php Kurulumu

Merhaba arkadaşlar bu makalemizde sizlere lighttpd kurulumunu anlatmaya çalışacağım.Server kurulumları sırasında yoğun olarak insanlar apache ve php ikilisini tercih etmektedir. Ancak son zamanlarda Alexa , Youtube gibi büyük siteler lighttpd’ye geçiş yapmaya başladılar. Lighttpd’nin perfonmans olarak çok daha iyi sonuç vermesi daha az memory kullanması , jail chroot imkanına sahip olması (ki sadece bu bile güvenlik açısından tercih edilmesine sebep olan bir özellik) benimde lighttpd yi test etmek istememe yol açtı. Bu karar sonrasında yaptığım Ilk olarak testleri düzgün şekilde yapabilmek için ubuntu’dan vazgeçerek kendi bilgisayarıma CentOs 5 kurdum. CentOs 5 i tercih etmemdeki sebep en yeni sürümü olması ve server da kullanacağımız tüm Rpm’leri Floren ile birlikte kendimizin oluşturacak olmasıydı. Makaleyi kendi serverınıza uygulamak istiyorsanız her adımı sırasıyla takip etmenizi ve aşağıdakiler haricinde RPM kullanmamanızı şiddetle tavsiye ederim. Çünkü tüm RPM’ler özel olarak hazırlanmış ve maksimum perfonmans için optimize edilmişlerdir.

Ilk olarak home klasörümüzde redhat isimli bir klasör oluşturuyoruz.

mkdir -p /home/bursa/redhat

Daha sonra

cp -r /usr/src/redhat/ /home/bursa/redhat

altındaki tüm dosyaları yeni oluşturduğumuz klasörün altına kopyalıyoruz. -R kodu alt dizinleride kopyalamak içindir

mkdir -p /home/bursa/redhat

Daha sonra kurulumda gerekli olabilecek tüm gerekli yazılımları yüklüyoruz.

# yum -y install \
autoconf automake \
gcc gcc-c++ \
bzip2 bzip2-devel \
gd glib2 glib2-devel \
ImageMagick \
libaio libaio-devel \
libtool \
openldap openldap-devel \
openssl openssl-devel \
pcre pcre-devel
yum install gmp*

Daha sonra var olan tüm RPM leri kullanabilmeniz için gerekli olan Key’i import edeceksiniz. Bu key olmadan RPM’leri malesef kullanamazsınız.

rpm –import /home/bursa/redhat/RPM-GPG-KEY-TECK

Kurulum sıramızı şu şekilde uygulayacaz.

1. Php
2. memcached
3. Lighttpd
4. xCache
5. Mysql

Php Kurulumu :
Php kurulumu için sırasıyla aşağıdaki RPM’leri import ediniz.

rpm -Uvh /home/bursa/redhat/RPMS/i386/php-common-5.1.6-1.el5.i386.rpm
rpm -Uvh /home/bursa/redhat/RPMS/i386/php-cli-5.1.6-1.el5.i386.rpm
rpm -Uvh /home/bursa/redhat/RPMS/i386/php-5.1.6-1.el5.i386.rpm
rpm -Uvh /home/bursa/redhat/RPMS/i386/php-devel-5.1.6-1.el5.i386.rpm
rpm -Uvh /home/bursa/redhat/RPMS/i386/php-pdo-5.1.6-1.el5.i386.rpm
rpm -Uvh /home/bursa/redhat/RPMS/i386/php-mysql-5.1.6-1.el5.i386.rpm

Memcached Kurulumu :

Rpm’leri sırasıyla import ediniz.

rpm -Uvh /home/bursa/redhat/RPMS/i386/memcached-1.2.2-1.el5.i386.rpm
rpm -Uvh /home/bursa/redhat/RPMS/i386/pecl-memcache-2.1.2-1.el5.i386.rpm

Daha sonra memcached’i aşağıdaki kodları sırasıyla uygulayıp aktif hale getiriniz.

chkconfig memcached on
service memcached start

Lighttpd kurulumu için gerekli olan iki dependencies’in ilkini rpm lerden ikincisini yum kullanarak yüklüyoruz.

rpm -Uvh /home/bursa/redhat/RPMS/i386/lua-5.1.2-1.el5.i386.rpm
rpm -Uvh /home/bursa/redhat/RPMS/i386/lua-devel-5.1.2-1.el5.i386.rpm
yum install gamin-devel gdbm-devel

Lighttpd Kurulumu :

Rpm leri sırasıyla import ediyoruz.

rpm -Uvh /home/bursa/redhat/RPMS/i386/lighttpd-1.4.15-1.el5.i386.rpm
rpm -Uvh /home/bursa/redhat/RPMS/i386/lighttpd-fastcgi-1.4.15-1.el5.i386.rpm

lighttpd için özel olarak optimize ettiğimiz lighttpd ini dosyasını php.d klasörüne , lighttpd.conf dosyasını lighttpd klasörüne kopyalıyoruz.

cp /home/bursa/redhat/lighttpd.ini /etc/php.d
cp /home/bursa/redhat/lighttpd.conf /etc/lighttpd

Daha sonra dosya izinlerini değiştirip chown komutu ile log dosyasının sahibini değiştiriyoruz.

chmod 0644 /etc/php.d/lighttpd.ini
chmod 0644 /etc/lighttpd/lighttpd.conf
chown lighttpd:root /var/log/lighttpd

En son lighttpd’yi aktif hale getiriyoruz.

chkconfig lighttpd on
service lighttpd start
chcon -R -t public_content_t /var/www
chcon -R -t samba_share_t /var/www

xCache Kurulumu :

Yine özel oluşturduğumuz xCache rpmlerinden birisini import ediyoruz.

rpm -Uvh /home/bursa/redhat/RPMS/i386/xcache-1.2.0-1.el5.i386.rpm from

Daha sonra içeriği aşağıdaki gibi olucak bir php dosyası oluşturuyoruz ve server’a yüklüyoruz

echo md5(‘şifreniz’);

Bu dosyası browserınızdan açtıktan sonra çıkacak olan

c635c3dad4d8f8c123319ff45d8a0996

gibi değeri

/etc/php.d/xcache.ini

dosyasındaki şifre kısmına yazıyoruz. Kullanıcı isminide değiştirmeyi unutmayın. Bunlar xCache panelinize login olmanızı sağlayacaktır.
Dosyayı save ettikten sonra aşağıdaki komut ile lighttpd’yi restart ediyoruz.

service lighttpd restart

Daha sonra

domain.com/xcache/

adresinden xcache kontrol panelinize giriş yapabilirsiniz.

MySql Kurulumu :

Mysql kurulumu sırasında dikkat etmeniz gereken ilk olgu yine aşağıdaki sıralarla kurmak olacaktır. Dikkat edin arada yum ile kurmanız gereken ayrı bir gereklilik daha var.

rpm -Uvh /home/bursa/redhat/RPMS/i386/mysql-5.0.22-1.el5.i386.rpm
yum install perl-DBD-MySQL
rpm -Uvh /home/bursa/redhat/RPMS/i386/mysql-server-5.0.22-1.el5.i386.rpm

Kurulum tamamlandıktan sonra mysql i aşağdaki kodla çalıştırıyoruz.

service mysqld start

Mysql’e giriş yapmak için aşağıdaki komutu kullanıyoruz.

mysql -u root

Şimdi mysql serverımızı biraz güvenli hale getiricez. Normal olarak mysql ilk kurulum ile birlikte birden fazla kullanıcı ekler. Ilk olarak root kullanıcısı için yeni bir şifre oluşturmak için aşağıdaki kodu giriyorsunuz.

SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘yenişifre’);

Daha sonra kurulum sırasında oluşmuş iki kullanıcıyı kaldırıyoruz

DELETE FROM mysql.user WHERE User = ”;
FLUSH PRIVILEGES;
DELETE FROM mysql.user WHERE Host = ”;
FLUSH PRIVILEGES;

En son olarak root haricinde bir kullanıcı kalıp kalmadığını kontrol etmek için ilk satırdaki kodu giriyoruz.

SELECT User, Host FROM mysql.user;

Eğer aşağıdaki gibi bir cevap alırsak

+——+——————–+
| User | Host |
+——+——————–+
| root | bursa-desktop.lan |
| root | localhost |
+——+——————–+
2 rows in set (0.00 sec)

Bu kodu uygulayarak son kullanıcıyıda kaldırıcaz.

DELETE FROM mysql.user WHERE Host = ‘bursa-desktop.lan’;
FLUSH PRIVILEGES;

Bir sonraki adımımız lighttpd nin kendine has özelliği olan güvenliği hazırlamak. Ilk önce aşağıdaki komutları girerek (root ile) gerekli klasörleri oluşturuyoruz.

mkdir -p /webroot/tmp
mkdir -p /webroot/etc
mkdir -p /webroot/var/log/lighttpd
chown lighttpd:lighttpd /webroot/var/log/lighttpd
chmod 0640 /webroot/var/log/lighttpd
mkdir -p /webroot/home/lighttpd
chown lighttpd:lighttpd /webroot/home/lighttpd
chmod 0750 /webroot/home/lighttpd

Daha sonra aşağıdaki kodu giriyoruz.

ls -dl /webroot/home/lighttpd

Almamız gereken yanıt şu olucak

drwxr-x— 2 lighttpd lighttpd 4096 Tarih /webroot/home/lighttpd

En son olarak jail chroot için gerekli olan bir script oluşturucaz
Aşağıdaki kodu l2chroot.txt isimli bir dosya oluşturarak içine yapıştırın ve kolay erişebileceğiniz bir dosyaya kaydedin.

#!/bin/bash

BASE=$2

[ ! $BASE ] && mkdir -p $BASE || :

echo “Copying files to $BASE …”
FILES=“$(ldd $1 | awk ‘{ print $3 }’ |egrep -v ^’\(‘)”
for i in $FILES
do
DIRECTORY=“$(dirname $i)”
[ ! -d $BASE$DIRECTORY ] && mkdir -p $BASE$DIRECTORY || :
/bin/cp $i $BASE$DIRECTORY
done

LDDIR=“$(ldd $1 | grep ‘ld-linux’ | awk ‘{ print $1}’)”
LDSUBDIR=“$(dirname $LDDIR)”

if [ ! -f $BASE$LDDIR ]; then
echo “Copying $LDDIR $BASE$LDSUBDIR …”
/bin/cp $LDDIR $BASE$LDSUBDIR
else
:
fi

Dosyayı kaydettikten sonra sırasıyla aşağıdaki kodları giriyoruz.

mv /home/bursa/tmp/l2chroot.txt /bin/l2chroot
chmod +x /bin/l2chroot

işlem bukadar kolay gelsin.

Loading Facebook Comments ...

Leave a comment

 Characters available