
Linux Apache MySql Php – LAMP Server Kurulumu
CentOS ile sıfırdan sonuna kadar tam performanslı ve çalışır bir web sunucusu inşa edeceğiz. Bu işlem için yine her zaman ki gibi yine benim favorim RedHat dağıtımlarından biri olan CentOS ile olacak. www.centos.org sitesinden en son sürüm olan CentOS 6.4’ü indirelim. Ben yine her zamanki gibi minimal imajı indiriyorum, sonrasında işime yarayacak olan paketlerle devam edeceğim. Lazım olmayacak paketleri kurmuyorum ve yine lazım olmayacak servisleri tamamen kapatıyorum. İsterseniz hemen kuruluma başlayalım ve indirdiğimiz imajı sunucuya mount edelim. Sonra karşınıza aşağıdaki karşılama ekranı gelecektir. İlk seçenek ile devam edeceğiz,
Başlangıçta herhangi birşey yapmanıza gerek yok enter tuşuna basarak devam edelim.
Bu tamamı ile kurulum yapmak istediğini kalıbın güvenliğini ölçmek için yapılan bir sistem. Ben daha önceden bir çok kez kurduğum için bu duruma skip diyerek geçiyorum. Siz sistemi ilk defa kuracak iseniz ok diyerek denetlemeyi mutlaka yapın.
Standart bir kurulum başlangıcı gibi bir panel gelecek karşımıza next diyerek devam edelim.
Hangi dilde kullanmak istiyorsanız onu seçerek devam edebilirsiniz. Ben İngilizce’yi tercih ediyorum. Siz Türkçe yapmayı seçerseniz herşey Türkçe olacaktır.
Resimlerdeki işlemleri sırasıyla yaptığınız zaman hiç bir sorun ile karşılaşmadan kurulumu yapmış olacaksınız. E haliyle artık CD’yi çıkartabilirsiniz. Şimdi sıra geldi minimal kuruluma. Sistem kurulumundan sonra nedense ethernet kartı kurulmamış şekilde geliyor anlamış değilim herneyse ufak bir kod yardımı sayesinde bu sorunu hemen çözüyoruz.
# ifup eth0 kodunu kullanarak gerekli işlemi sağlamış olacağız.
Ethernet kartımız DHCP sunucudan ip alacaktır. Fakat, bu işlem ile eth0 kartı şimdilik enable oldu. Sistemi restart ettiğinizde yine eth0’ın disable olarak geldiğiniz göreceksiniz. Bu işi kalıcı hale getirelim o halde. Hemen marifetli editörümüz nano’yu internetten sunucumuza yükleyelim. Şu komut ile # yum -y install nano.
Nano yüklendikten sonra network kartının konfigürasyon dosyasını düzenleyelim ve hem ipsini sabitleyelim hem de her açılışta otomatik çalışır hale getirelim.
# nano /etc/sysconfig/network-scripts/ifcfg-eth0
Komutu sonrası karşımıza gelen default konfigürasyon şu şekilde olacaktır,
Dosya içeriğini şu şekilde değiştiriyoruz, kırmızı olan bölümler değiştirilecek yada ilave edilecek,
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.55
NETMASK=255.255.255.0
GATEWAY=192.168.1.250
TYPE=Ethernet
ONBOOT=yes
HWADDR=00:0C:29:EB:DB:D2
UUID=73276ef4-b5e8-4600-bba2-e40cd7d273ff
NM_CONTROLLED=yes
Servisi start edelim, yada reboot komutu ile sistemi komple restart’ta edebilirsiniz.# service network restart
Bu işlem sonrası sistemi upgrade ederek en son sistem güncellemelerini yükleyelim. Gerekli komut şöyle olacak,
# yum -y update
Bu komut sonrası sistemimiz güncellenmiş ve sistem artık gerekli paketlerin kurulumu için hazır hale gelmiş olacak. Şimdi öncelikle sunucumuz üzerinde kullanılmayacak servisleri kapatalım.
# chkconfig netfs off ; chkconfig mdmonitor off
Gerekli tüm paketlerin yüklenmesi için gereken komutu verelim, bu komut ayrıca gerekli paketlerinde yüklenmesini sağlayacaktır.
# yum -y install httpd php php-mysql mysql mysql-server mod_ssl
Paketler yüklendikten sonra servis konfigürasyonları ile devam edelim. Servisleri sistem açılışında otomatik hale getirelim ve start edelim,
önce httpd.conf dosyasına küçük bir değişiklik uygulayacağız. Bunun için şu komutu kullanacağız,
# echo “ServerName localhost:80” >> /etc/httpd/conf/httpd.conf
# echo “ServerName localhost:443” >> /etc/httpd/conf/httpd.conf
Sonrasında ise servisleri otomatik hale getirelim,
# chkconfig httpd on ; service httpd start
# chkconfig mysqld on ; service mysqld start
Şimdi MySql’i güvenli hale getirelim, kırmızı kısımlar benim verdiğim cevaplar. İstekleriniz doğrultusunda değişik cevaplar verebilirsiniz.
# mysql_secure_installation
MySql konfigürasyonu tamamlandı ve güvenli hale getirildi. Önceden MySql sizden username ve password istemiyorken artık MySql’e login olmanız için, kullanıcı adı ve şifre girmeniz gerekecek. Sırada firewall konfigürasyonumuz var. Linux ile birlikte herkesin bildiği üzere oldukça stabil iptables isimli bir firewall geliyor. Bu firewall için gerekli iki rule
# iptables -I INPUT 1 -p tcp –dport 80 -j ACCEPT
# iptables -I INPUT 2 -p tcp –dport 443 -j ACCEPT
# service iptables save
# service iptables restart
Yetkilendirme işimizde tamam. Sunucumuz hem http hemde https olarak isteklerinize cevap verecek nitelikte çalışır hale geldi. Bir browser vasıtası ile sunucunun ipsini yazarak ulaşabilirsiniz. Birde PHP versiyonunu kontrol edelim. Bunun için küçük bir kod yazmanız gerekiyor. Hemen yazalım ve bakalım,
# nano /var/www/html/phpinfo.php
<?php
phpinfo();
?>
Yukarıdaki metni dosya içine yazarak ctl+x tuş kombinasyonu ile kayıt ederek çıkabilirsiniz. Sonra bir browser’ın adres kısmına http://192.168.1.55/phpinfo.php yazarak PHP versiyon kontrolü yapabilirsiniz. Çıkan sonuç aşağıdaki gibi olacak ve sistemde kurulu olan PHP bilgilerini görebileceksiniz,
Son olarak sunucumuza örnek bir site konumlandıralım. Ben bir site taslağı indirip gerekli lokasyona kopyalıyorum. Google’a free site template diyerek aratırsanız çok fazla seçenek bulabileceksiniz. İnternetten aradıktan sonra bir site taslağı bulup indirdim ve /var/www/html/test lokasyonu altına kopyaladım. Sonrarında ise Apache sunucumuzun konfigürasyon dosyasına bir ilave yapıyoruz. Bunun için,
# nano /etc/httpd/conf/httpd.conf
Komutunu kullanarak dosyayı açıyoruz. Biraz uzunca bir dosya, ve biz en alt satıra gidiyoruz, ve şunları ilave ediyoruz, tabiiki siz yine istekleriniz doğrultusunda değişiklikler yapabilirsiniz.
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName localhost.localdomain
DocumentRoot /var/www/html/test
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/html/test.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Şimdi bir browser vasıtası ile http://192.168.1.55 adresini açmayı deneyelim. Eğer bir problem yoksa karşınıza benim kullandığım gibi sizin konumlandırdığınız site template’i gelecektir

Evilc0der.org üzerinden kullandığınız tüm shell ve exploitlerin sorumluluğu kullanan kişiye aittir.