11.11.2017 23:32 Tarihinde oluşturuldu. / 50 Kez okundu.
CentOS HTTP ve PHP Kurulumu

Bu kuruluma geçmeden önce kısa bir bilgi verme konusunu es geçiyorum. Bu sayfaya kadar ulaşmış olduğunuza göre bu yazılımların ne işe yaradığını biliyorsunuzdur diye düşnüyorum.

Daha önceki yazımda CentOS işletim sisteminin kurulumundan ve güncelleme işleminden kısaca bahsetmiştim.

Bu yazımda CentOS üzerine LAMP kurulumunun ilk adımı olan HTTP ve PHP kurulumunu anlatmaya çalışacağım. Öncelikle LAMP kurulumunda kullanacağımız basit yardımcı yazılımlardan başlayarak sistemimizi kurmaya başlayalım.

 1-Nano text editör

nano linux işletim sistemleri için hazırlanmış basit bir text editördür. Bazı ayarlamalar için gerekli olabileceğini düşündüğüm için yükleyelim.

Bu yazılımı yüklemek için;

yum install nano -y

Komutunu CentOS komut satırına giriyoruz ve otomatik olarak kurulum gerçekleşiyor. Komutun sonundaki -y argümanını girmezseniz "yes or no" bazında soru soracaktır. Ben her seferinde bu onaylamayı girmeyi sevmediğimden kurulumda kullandığım komutun sonuna -y argümanını da ekliyorum.

Bundan sonraki basit olan kurulumlarda resim dosyası eklemeden anlatmaya çalışacağım.

 

2-Net Tools kurulumu

yum install net-tools -y

komutunu girerek net tools u kuruyoruz. Bu yazılım paketi bize ip network kartı ayarları gibi ayarlarımızı yapmamızı ve ulaşmamızı sağlayacaktır.

 

3-Nmap kurulumu

yum install nmap -y

komutunu girerek nmap i kuruyoruz. Bu yazılım bize herhangi bir ip adresindeki açık portları taramamızı sağlar. Yazılımı kendi serverimizi taratarak açık portlarımızı listelemek için kullanacağız.

 

4-Http Server kurulumu

yum install httpd -y

Kurulum işlemi tamamlandıktan sonra http serverımızı çalıştırmaya başlayalım. bunun için komut satırına yazmamız gereken kod;

service httpd start

"service" komutu ile server'i durdurmak için "service httpd stop" veya serveri yeniden başlatmak için "service httpd restart" komutlarını da girebiliriz.

HTTP server an itibari ile CentOS'da aktif duruma gelmiş bulunuyor. ifconfig komutu ile ip adresimizi öğrenip aynı ağ üzerindeki herhangi bir bilgisayarın browseri aracılığı ile apache serverimizi görüntülemeye çalışalım.

ifconfig komutunu girdiğimizde görüldüğü üzere benim CentOS için ip adresi 192.168.1.8 aynı ağ üzerindeki diğer bilgisayarımın browserindan görüntülemeye çalıştığımda sayfa görüntülemiyor uyarısı alıyorum. Bunun nedeni; server sistemimiz kurulu, fakat httpd portu CentOS firewall ayarlarında kapalı olduğundan sistem tarafından engellenmesidir. CentOS üzerinden firewall ayarlarımızı yapmak için firewall-cmd komutunu kullanıyoruz; 

firewall-cmd --permanent --add-service=http
systemctl restart firewalld

ilk komut ile güvenlik duvarımıza kalıcı bir şekilde (serveri restart ettiğimizde degeri silinmeyecek şekilde) http serveri eklemiş bulunmaktayız. eğer komut bulunamadı uyarısı alıyorsanız işletim sisteminize firewalld yazılımını yüklemeniz gerekmektedir bunun için, diğer yazılımları kurduğumuz gibi; yum install firewalld -y komutunu ile kurabilirsiniz.

Browser aracılığıyla tekrar ip adresine girdiğimizde karşımıza apache server'in karşılama ekranı gelecektir.

 

Şimdi serverimizi nmap aracılığı ile portlarını tarattığımızdaki sonucuna bakalım.

Göründüğü üzere kendi serverimin ip adresini nmap programı ile tarattığımda 22 ve 80 portlarının açık olduğu görünüyor. 22. port yani SSH portu sunucumuza uzaktan bağlantı kurabilmemizi sağlayan bi porttur. Bir nevi Windows Remote Desktop un linuxdaki hali de denilebilir.

 

6-Açılışta HTTP servisinin otomatik olarak başlatılması

Bilinmesi gereken bir başka husus ise serveri yeniden başlattığımızda yaşayacağımız durumlar. Şimdiye kadar yaptığımız işlemleri ele alırsak sırası ile;

  1. Gerekli yazılımların kurulması
  2. HTTP server kurulması
  3. Güvenlik duvarına HTTP serveri eklememiz

şeklinde sıralayabiliriz.

Sistemimizi yeniden başlattığımızda güvenlik duvarına --permanent komutununu eklememiz sayesinde kalıcı duruma geldiği için tekrar bu ayarı yapmamıza gerek yok. Ancak HTTP sunucumuzu yeniden service httpd start komutu ile aktif hale getirmemiz gerekcektir.

HTTP sunucumuzu her açılışta otomatik olarak başlaması için komut satırına;

chkconfig --level 235 httpd on

komutunu giriyoruz.

chkconfig nedir?

Sistemde kurulu servislerin ve süreçlerin çalışma seviyelerini belirlemek için kullanılan bir araçtır. Yukarıda yazmış olduğumuz kod düzeni "Bölüm 2, 3 ve 5 için httpd servisini açık duruma getir" anlamındadır. Peki nedir bu Bölüm dediğimiz olay? 

Bölüm yani Level; Linux dağıtımları için açılış modları denilebilir. Windows üzerinde Güvenli Mod dediğimiz olay linux için RunLevel 1 seviyesidir.

Not: level belirtmeden komut girerseniz bütün modlar için httpd aktif olacaktır.

chkconfig httpd on

7-HTTP ana dosya satırı ve PHP kurulumu

Şu anda HTTP sunucumuzun ana dosyası /var/www/html/ klasörü. Bu klasörün içine girmek için;

cd /var/www/html

komutunu giriyoruz. Daha sonra bu klasör içine index.php adında bir dosya oluşturmak için nano text editörümüzü kullanacağız.

 nano index.php  komutu ile nano editörümüz açılacaktır. editörümüzün içine php hakkındaki bilgileri gösteren komutumuz olan phpinfo(); yazıyoruz;

<?php phpinfo(); ?>

Ctrl + X ile kaydedip çıktıktan sonra, ip adresimizin sonuna index.php ekleyerek tekrar deniyoruz. Benim sunucum için 192.168.1.8/index.php sonuç olarak sunucumuzda PHP kurulu olmadığından girdiğimiz php komutunu algılamayacak ve bize yazdıklarımızı düz yazı olarak gösterecektir.

kurulacak PHP modülü konusunda bir çok seçenek var yum search php olarak arattığınızda bir çok modül listelenecektir. Buradan istediğinizi kurabilirsiniz. Ancak biz MariaDB ve PhpMyAdmin kuracağımız için bunu destekleyebilecek modülleri kurmamız gerekiyor. Benim kurulumlarım aşağıdaki gibi olacak.

yum install php php-mysql php-pdo php-gd php-mbstring -y

PHP kurulum işleminden sonra HTTP servisinin yeniden başlatıp ( service httpd restart  ) 192.168.1.8/index.php sayfamıza tekrar girdiğimizde php bilgilerinin sayfalandığını göreceğiz.

 Eğer php Date and Timezone hatası alıyorsanız. php.ini dosyasının içindeki timezone kısmını düzenlemeniz gerekecektir.

nano /etc/php.ini

date.timezone = Continent/City bölümüne http://php.net/manual/en/timezones.php listesinden desteklenen Timezone yazmanız gerekiyor demektir.

İsim:
Yorum:
Doğrulama:
Yorum Ekle