Centos 7 Üzerinde LAMP Server Kurulumu


#1

Merhaba,

Öncelikle nedir bu LAMP server nedir? Onu kısaca anlatmaya çalışayım. LAMP Linux (OS), Apache (Web Sunucu), MYSQL/MariaDB (Database) ve PHP (Programlama Dili) baş harflerinden oluşan bir kısaltma ifadesidir. Kısaca PHP desteği ile linux üzerinde web sunucu ve database kurulumu demektir.
Peki ne işinize yarayacak bu LAMP, tabi ki eğer bir web sunucu kurmak istiyorsanız veya open source yazılımlar kullanacaksanız bu dörtlü muhakkak karşınıza çıkacaktır. Nasıl kurulduklarını bilmekse sistemci için olmazsa olmaz.
Neyse şimdi kısaca kuruluma başlayalım. Ben kurulum için CentOS Linux release 7.1.1503 (Core) kullaniyorum. Minimal kurulum yapmanız tavsiyemdir. Sonuçta sunucu kurulumu yapıyoruz ve işimize yaramayan dosyaları sistemimizde istemeyiz :smile:

Önce repomuzu update ediyoruz. Sistemin güncelleme gereksinimlerini de bu şekilde görmüş olacağız.

 [root@lamp ~]# yum check-update

Şimdi sistemimizi tamamen güncelleştirebiliriz.

 [root@lamp ~]# yum update -y

Siztemizi güncelleştirdik. Şimdi Apache Web sunucumuzu kurabiliriz.

 [root@lamp ~]# yum install httpd -y

NOT : komutların sonunda bulunan “-y” ifadesi otomatik olarak Yes/Evet demek için kullanıyoruz.
Apache sunucusu kurulduktan sonra servisi çalıştırmamız gerekiyor. Bunun için; systemctl komutunu kullanıyoruz. Centos 7 öncesinde service komutu kullanılırken artık bu işlemler için systemctl komutu kullanılmaktadır. Eğer sevice komutu kullanırsanız da sistem sizi systemctl komutuna otomatik olarak yönlendirecektir.

 [root@lamp ~]# systemctl start httpd.service

Servisimizin sorunsuz olarak çalışmış olması lazım. Şimdi servisin sistemi yeniden başlatma sonucunda otomatik olarak çalışması için aşağıdaki komutu girelim. Aynı şekilde Centos 7 öncesinde bu işlemi chkconfig komutu ile yapıyorduk.

 [root@lamp ~]# systemctl enable httpd.service

Servisimizi çalıştırdık fakat henüz web arayüzüne ulaşamayacağız. Sistemimizde firewall var ve gerekli izinleri vermezsek firewall web sunucumuz ulaşmamızı engelleyecektir. Dolayısı ile firewall gerekli kuralı yazmamız lazım. Burada Centos 7 için yine bir değişiklik mevcut. Centos 7 öncesi bu kuralı iptables ile yazıyorduk fakat hayatımıza Centos 7 ile beraber firewalld girdi :smile: Şimdi komutumuzu yazrak firewall için http servisine izin verelim.

 [root@lamp ~]# firewall-cmd --permanent --add-service http

Kural girmek demek bu kuralın çalışacağı anlamına gelmez, kuralın çalışması için servisin yeniden baaşlatılması gereklidir. Şimdi servisimizi yeniden başlatalım.

 [root@lamp ~]# systemctl restart firewalld.service

Şimdi web browser ile kurulum yaptığınız makinenin ip adresini yazarak test sayfanıza ulaşabilirsiniz. ip adresinizi öğrenmek için

 ip a 

komutunu kullanabilirsiniz, Centos 7 ile artık “ifconfig” komutuda tarihe gömüldü. Yok ben ip komutunu anlamam eski komutun nesi vardı diyorsanız.

[root@lamp ~]# yum install net-tools

paketini yükleyin. Bu paketle birlikte ifconfig komutu gelecektir. Eğer sadece ip adresini öğrenmek istiyorum ekrandaki çıktı kafamı karıştırıyor diyorsanız;

[root@lamp ~]# ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1  -d'/'

Bu işlemler sonrası web browser üzerinde aşağıdaki çıktıyı görüyorsanız, işlemlerimizbaaşarılı demektir.

Şimdi Mysql/MariaDB kurulumuna geçebiliriz.
Centos 7 ile beraber Mysql de MariaDB olarak değişmiş durumda :smile:
Kurulum için;

 [root@lamp ~]# yum install mariadb-server mariadb -y

Tekrar servis ile ilgili işlemlerimizi yapıyoruz,

 [root@lamp ~]# systemctl start mariadb
 [root@lamp ~]# systemctl enable mariadb.service

DB kurulumu tamamladık ve şimdi sıra geldi DB ayarlarını yapmaya;

 [root@lamp ~]# mysql_secure_installation

Şimdi sistem bize DB ayarları için gerekli soruları soracak. Öncelikle gelen “Enter current password for root (enter for none):” buraya direk olarak enter basıp geçin. Ardından size root şifresini oluşturmak isteyip istemediğiniz sorulacak enter basıp şifrenizi ayarlayabilirsiniz. Burada “[Y/n]” gelen ifadede enter direk basıp geçerseniz büyük harfle gelen harf girilmiş kabul edilip onagöre aksiyon alınacaktır. “Y” harfine basıp enter basmanız ile direk olarak enter basıp geçmeniz arasında bir fark yoktur.

 Set root password? [Y/n] Y
 New password: 
 Re-enter new password: 
 Password updated successfully!
 Reloading privilege tables..
  ... Success!

Şifremizi ayarladıktan sonra diğer soruları enter basıp geçebilirsiniz. Ben test amaçlı şifremi “123456” belirledim. Eğer canlı bir sistem kuruyorsanız bu tarz şifrelerinizi mutlaka büyük küçük harflerle ve rakamlarla oluşturunuz.

DB kurulumumuz da burada sona erdi. Şimdi kurulumunuzu test etmek için db giriş yapabilirsiniz. Ekranda göreceğiniz çıktı aşağıdaki gibi olacaktır. “mysql -u root -p”

  [root@lamp ~]# mysql -u root -p
  Enter password: 
  Welcome to the MariaDB monitor.  Commands end with ; or \g.
  Your MariaDB connection id is 10
  Server version: 5.5.44-MariaDB MariaDB Server
  
  Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
  
  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  MariaDB [(none)]> 

Şimdi PHP kurulumunu yapabiliriz :smile:

 [root@lamp ~]# yum install php php-mysql -y
 [root@lamp ~]# yum install php-gd php-pear php-mbstring php-pgsql -y

Burada ilk kurulum komutu php kurulumu ikinci kurulum komutu ise php ile gerek duyacağımız paketlerin kurulumudur.
Kurulumumuzu tamamladıktan sonra yapılan değişiklikler için servisimizi kapatıp tekrar açıyoruz.

 [root@lamp ~]# systemctl restart httpd.service

Test için /var/www/html klasörü altında test sayfası oluşturabilirsiniz. Bunun için aşağıdaki komutu girmeniz yeterli olacaktır.

 [root@lamp ~]# echo "<?php phpinfo(); ?>" >> /var/www/html/phpinfo.php

Şimdi bu sayfayı web browserınızda açtığınızda size php ile ilgili bilgi sayfası gelecektir.

Şimdi tüm konfigürasyonumuzu aynı anda test edelim. Bunun için “/var/www/html” dizini altına testdb.php adında bir dosya oluşturarak, aşağıdakileri bu sayfa içini yazıp kaydedelim. Bunun için isterseniz, nano veya vi gibi editörleri kullanabilirsiniz.

 <?php
 $con = mysql_connect("localhost","root","123456");
 if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }
 else
 {
 echo "Tebrikler!!! DB bağlantısı başarılı";
 }
 mysql_close($con);
 ?>

Şimdi bu sayfayı browser üzerinde açtığınızda eğer yapılan tüm işlemler doğru ise şu çıktı gelecektir.

Artık LAMP sunucunuz kuruldu.
Saygılarımla,
Ahmed Hüsrev ÇAKIR


E-Commerce Alış-Veriş Siteleri (Magento)
#2

Anlatim icin tesekkurler peki mysql yerine postgresql kullanmak istersek ne yapmaliyiz.


#3

LAMP içerisinde geçen M nin Mysql demek olduğunu anlayacaktın ama neyse.
Postgresql kullanımıda olabilir tabi tercih meselesi, Mysql yerinde postgress kurulumu yapacaksın “mariadb-server mariadb” yerine karşılık gelen paketleri kurup aynı şekilde yapılandırmak yeterli. Burada önemli olan web sunucuyla (Apache) birlikte PHP kullanmak. Apache yerine de Nginx kullanılabilir. Yazı içeriği kısaca bir sistemcinin temelde web sunucu ve open source yazılımlar için nelere ihtiyaç duyduklarına cevap verebilmek için.

Saygılarımla…


#4

Aynen bunu elemanlar ozellestirmisler LAMP yerine LEMP kurulumu yaparak : )

LEMP kurulumu yaparsan icerisinde gelecektir.

Nginx ve Apache arasindaki avantaj ve dezavantajlari su blogta iyi anlatmis.

Nginx ozellikle performans ve dusuk bellek tüketim teknikleri dikkate alinarak tasarlanmis…


Centos 7 Üzerinde Nagios 4.1.1 İzleme (monitoring) Sunucu Kurulumu ve Ayarlanması
E-Commerce Alış-Veriş Siteleri (Opencart)
#5

Ellerine sağlık. .htacces dosyasınıda bir baska konuda anlatmanızı rica ederim


Centos 7 Lamp Server üzerine WordPress Kurulumu
#6

Teşekkürler.