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,

clip_image002_thumb

 

Başlangıçta herhangi birşey yapmanıza gerek yok enter tuşuna basarak devam edelim.

clip_image004_thumb

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.

clip_image006_thumb

Standart bir kurulum başlangıcı gibi bir panel gelecek karşımıza  next diyerek devam edelim.

clip_image008_thumb

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.

clip_image020_thumb  clip_image012_thumb clip_image022_thumb clip_image014_thumb clip_image024_thumb clip_image016_thumb clip_image026_thumb clip_image018_thumb clip_image028_thumbclip_image030_thumb

 

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.

Evilc0der © Tüm Hakları Saklıdır.