Linux LEMP Kurulumu (Nginx, Mysql, PHP)

In Linux
5 Kasım 2016
4 min read

LEMP linux üzerinde Nginx, Mysql/Mariadb ve PHP kombinasyonu ile site yayınlamaktır.

LEMP için öncelikle Nginx kurulumunu yapıyoruz;

Red-hat/Centos üzerine Nginx Kurulumu

Red-hat altyapılı sunucularda öncelikli olarak epel reposunu sunucuya tanımlamış olmanız gerekmektedir. Bununla ilgili yazımıza buradan ulaşabilirsiniz.

Ardından;

yum install nginx -y

komutu ile kuruyoruz.

Ubuntu üzerine Nginx kurulumu

sudo apt-get install nginx

Komutu ile direk olarak nginxi kurabiliyoruz.

Ardından Centos/Red-hat/Ubuntu farketmeksizin nginx servisini aktif ediyoruz.

service nginx start

Firewall ile ilgili bir sorunumuz yok ise http://ipadresi şeklinde tarayıcımıza yazarak nginx indexinin gelip gelmediğini kontrol ediyoruz. İndex ekranı geliyor ise herhangi bir sorun bulunmamaktadır. Artık mysql kurulumunu yapabiliriz.

Red-hat / Centos

yum install mysql-server

Ubuntu

Ubuntuda mariadb mysqlde varsayılan olarak kullanılabilmektedir.

sudo apt-get install mariadb-server mariadb-client

Artık mysql / mariadb servisini aktif edebiliriz.

service mysqld start

Mysql şifrelemesini “mysql_secure_installation” kısmından ayarlamak için ;

mysql_secure_installation

komutunu giriyoruz.

Not: Ubuntu ve Centosta Mysql/mariadb farketmeksizin mysql ayarını “/etc/mycnf” dosyası üzerinden düzenleyebilirsiniz.

PHP Kurulumu

Centos / Red-hat

yum install php-fpm php-mysql

Ubuntu

sudo apt-get install php5-fpm php5-mysql

Kurulumlarını yaptıktan sonra php servisini başlatabiliriz.

service php-fpm start

LEMP ayarlarını yapılandırma

Kurulumlardan sonra php.ini dosyası üzeirnde düzenleme yapıyoruz.

vim /etc/php.ini

Aşağıdaki kodu arayıp karşısındaki değeri 0 yapıyoruz.

cgi.fix_pathinfo=0

Değer sıfır ise değişiklik yapmadan çıkabilirsiniz.

CPU sayısına göre nginx.conf dosyasını yeniden düzenlemek için;

lscpu

komutu ile kaç cpu olduğunu öğreniyoruz ardından nginx.conf düzenliyoruz.

vim /etc/nginx/nginx.conf

öğrendiğimiz cpu değerini “worker_processes” değerinin karşısına yazıyoruz.

Nginx default dosyasındaki ip adresini kendi ip adresimiz ile güncellemel için aşağıdaki kodları kullanıyoruz.

Red-hat / Centos

vim /etc/nginx/conf.d/default.conf

Ubuntu

sudo  nano /etc/nginx/sites-available/default

ilgili ip düzenlemelerini yaptıktan sonra php-fpm üzerinde düzenleme yapıyoruz.

vim /etc/php-fpm.d/www.conf

dosya içerisinde “user = apache” ve “group = apache” yazılarını bulup apache yerine nginx yazıp kaydediyoruz. Ardından servislerimizi yeniden başlatıyoruz.

service php-fpm restart
service nginx restart

“/usr/share/nginx/html” klasöründe info.php dosyası oluşturup php kurulumunu doğruluyoruz.

vim /usr/share/nginx/html/info.php

dosya içeriğine;

<?php
phpinfo();
?>

kodlarını ekleyip kaydediyoruz. Ardından tarayıcımız üzerinden http://ipadresi/info.php adresine girerek Php kurulumunu doğruluyoruz.

Artık LEMP ayarları tamamlanmış oldu. phpMyAdmin kurulumunu ek olarak yapabiliriz.

Centos / Red-hat

yum install phpmyadmin

Ubuntu

sudo apt-get install phpmyadmin

ile kurulumu yapıyoruz. Ardından phpmyadmin.conf dosyasını nginx cof klasörü içerisinde oluşturuyoruz.

vim /etc/nginx/conf.d/phpmyadmin.conf

Aşağıdaki kodları içeriğine yazıyoruz.

Server {
	listen 80;
	server_name linuxhelp1.com;
	root /var/www/html/phpMyAdmin;

	location /{
		index index.php;
	}
Location ~ \.php${
	include /etc/nginx/fastcgi_params;
	fastcgi_pass 127.0.01:9000;
	fastcgi_index index.php;
	fastcgi_param SCRIPT_FILENAME /var/www/html/phpMyAdmin$fastcgi_script_name;
	}
}

ardından yayına almak için phpmyadmin dosyasını yayında olan kısma ekliyoruz.

mkdir -p /var/www/html/phpMyAdmin

dosyaların çalıştırma yetkisini apacheden nginxe almak için aşağıdaki kodu yazıyoruz;

chown –R .nginx /var/lib/php/session

Nginx ve php-fpm servislerini yeniden başlatıyoruz.

service nginx restart
service php-fpm restart

Tarayıcımızı açarak http://ipadresi/phpMyAdmin linkinden phpmyadmine giriş yapabiliriz.

Kullanıcı adı: root

Şifreniz ise mysql_secure_installation ile belirlediğiniz şifredir.

 

Tüm işlemlerimiz tamamlanmıştır.

Comments

Recep Çalışkan

Tesekkur ederim bilgi icin

Mehmet

Çok teşekkürler, güzel bir anlatım olmuş.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.