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.
Daha sonra
altındaki tüm dosyaları yeni oluşturduğumuz klasörün altına kopyalıyoruz. -R kodu alt dizinleride kopyalamak içindir
Daha sonra kurulumda gerekli olabilecek tüm gerekli yazılımları yüklüyoruz.
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
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.
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.
Memcached Kurulumu :
Rpm’leri sırasıyla import ediniz.
Daha sonra memcached’i aşağıdaki kodları sırasıyla uygulayıp aktif hale getiriniz.
Lighttpd kurulumu için gerekli olan iki dependencies’in ilkini rpm lerden ikincisini yum kullanarak yüklüyoruz.
Lighttpd Kurulumu :
Rpm leri sırasıyla import ediyoruz.
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.
Daha sonra dosya izinlerini değiştirip chown komutu ile log dosyasının sahibini değiştiriyoruz.
En son lighttpd’yi aktif hale getiriyoruz.
xCache Kurulumu :
Yine özel oluşturduğumuz xCache rpmlerinden birisini import ediyoruz.
Daha sonra içeriği aşağıdaki gibi olucak bir php dosyası oluşturuyoruz ve server’a yüklüyoruz
Bu dosyası browserınızdan açtıktan sonra çıkacak olan
gibi değeri
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.
Daha sonra
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.
Kurulum tamamlandıktan sonra mysql i aşağdaki kodla çalıştırıyoruz.
Mysql’e giriş yapmak için aşağıdaki komutu kullanıyoruz.
Ş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.
Daha sonra kurulum sırasında oluşmuş iki kullanıcıyı kaldırıyoruz
En son olarak root haricinde bir kullanıcı kalıp kalmadığını kontrol etmek için ilk satırdaki kodu giriyoruz.
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.
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/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.
Almamız gereken yanıt şu olucak
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.
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.
işlem bukadar kolay gelsin.
Leave a comment