LEMP Nedir?

Linux üzerinde web sitelerini çalıştırmak için açık kaynak kodlu program paketleri yüklememiz gereklidir. Bunlar kabaca; asıl sunucu görevi gören bir program (Apache, nginx, lightttpd, litespeed vs.), veritabanı programı (MySQL vs.) ve kodları yorumlamak için bir yorumlayıcıdır. (PHP, Ruby, Python vs.) LEMP ise kısaca Linux, nginx (Engine X şeklinde okunur), MySQL ve PHP’nin başharflerinden oluşan bir kısaltmadır.


Adım 1 – Paketleri Güncelleme

Kurmuş olduğumuz Ubuntu’yu güncellemekle işe başlayalım. SSH’ye girdikten sonra;

Kod:
sudo apt-get update

kodunu girelim ve Ubuntu’nun kendini güncellemesini bekleyelim.
Adım 2 – MySQL Yükleme

MySQL, bir çok popüler uygulamanın kullandığı bir veritabanı sistemidir. Kurmak için terminalde aşağıdaki kodu çalıştıralım. Kurulum sırasında sizden MySQL root kullanıcısı için şifre girmeniz istenecektir. Kurulumun devam etmesi için şifre girmeniz zorunlu değildir ancak şiddetle öneririm. Şifreyi bir yere not etmeyi unutmayın.

Kod:
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
Kurulum tamamlandıktan sonra MySQL’ı aktifleştirmek için

Kod:
sudo mysql_install_db
kodunu girelim. Ardından aşağıdaki kod ile kurulumu tamamlayalım. Şifre istediğinde MySQL root şifresini giriniz. Terminal size mevcut şifrenizi değiştirmek isteyip istemedğinizi soracak, hayır seçeneğini seçin.

Kod:
sudo /usr/bin/mysql_secure_installation
Ardından bazı ayarlar yapmanızı isteyecek. Tüm sorulara Y tuşu ile evet diyelim:

Kod:
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y                                            
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

MySQL kurulumu tamamlandı. Şimdi nginx kurulumuna geçebiliriz.
Adım 3 – nginx Kurulumu

Nginx kurulumuna başlamak için aşağıdaki kodu çalıştıralım

Kod:
sudo apt-get install nginx
Kurulumdan sonra nginx kendisi başlamayacaktır. Bu yüzden

Kod:
sudo service nginx start

komutu ile nginx’i başlatalım. nginx’in başarılı bir şekilde kurulup kurulmadığını anlamak için sunucunuzun IP adresini tarayıcınıza girebilirsiniz.
Adım 4 – PHP Kurulumu

PHP kurulumu için
Kod:
sudo apt-get install php5-fpm

kodunu çalıştıralım. Ayarları bir sonraki adımda yapacağız.
Adım 5 – PHP Ayarları

PHP ayarları ile çok fazla uğraşmamız gerekmeyecek ancak yapmamız gereken bir kaç ufak değişiklik var. PHP ayar dosyası sunucu üzerinde /etc/php5/fpm/php.ini konumundadır ve ayarları değiştirmek için bu dosyayı metin editörü ile açmamız gerekir. Aşağıdaki kod ile dosyayı açalım:

Kod:
sudo nano /etc/php5/fpm/php.ini
cgi.fix_pathinfo=1 komutunu bulalım ve değeri 0 olarak değiştirelim. Dosyayı kapatmak için Ctrl+X kombinasyonunu kullanabilirsiniz. Değişiklikleri saklamak için Y, sonra da adını değiştirmeden kaydetmek için Enter tuşuna basalım.
Şimdi de [Değerli Ziyaretci, linki görmeniz icin bu mesaja cevap yazmanız gerekiyorÜye olmak icin burayı tıklayınız] dosyasını açalım:

Kod:
sudo nano /etc/php5/fpm/pool.d/www.conf
listen = 127.0.0.1:9000 satırını bulup değerini /var/run/php5-fpm.sock olarak değiştirelim:

Kod:
listen = /var/run/php5-fpm.sock

Dosyayı kaydedip çıkalım ve ardından php5-fpm işlemini değişikliklerin geçerli olması için tekrar başlatalım.

Kod:
sudo service php5-fpm restart

Adım 6 – nginx Ayarları

Varsayılan sanal sunucu dosyasını açalım

Kod:
sudo nano /etc/nginx/sites-available/default
Dosyadaki ayarları örnek kodda gösterildiği gibi değiştirelim.

Kod:
[...]
server {
        listen   80;

        root /usr/share/nginx/www;
        index index.php index.html index.htm;

        server_name example.com;

        location / {
                try_files $uri $uri/ /index.html;
        }

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /usr/share/nginx/www;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
                #fastcgi_pass 127.0.0.1:9000;
                # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;

        }

}
[...]

Şu değişiklikleri yaptık:

  • index satırına index.php ekledik
  • server_name satırını VPS IP adresiniz ya da domain isminiz ile değiştirin
  • “location ~ \.php$ {“ altındakileri yukarıdaki ayarlara göre değiştirin.

Kaydedip dosyayı kapatın ve nginx servisini tekrar başlatın.

Kod:
sudo service nginx restart

Adım 7 – Ayarları test edelim

Yeni sunucumuzun çalışıp çalışmadığını anlamak için bir info.php sayfası yaratalım. Bunun için terminalden

Kod:
sudo nano /usr/share/nginx/www/info.php
kodu ile web sunucunun kök dizinine (www) info.php adında bir dosya açalım ve içine aşağıdakileri yapıştıralım:

Kod:
<?php phpinfo(); ?>
Kaydedip çıkalım. PHP ayarlarını yeni yarattığımız dosyayı açarak görebilirsiniz: [Değerli Ziyaretci, linki görmeniz icin bu mesaja cevap yazmanız gerekiyorÜye olmak icin burayı tıklayınız]
Tebrikler, artık sunucunuz hazır!

Konu [Değerli Ziyaretci, linki görmeniz icin bu mesaja cevap yazmanız gerekiyorÜye olmak icin burayı tıklayınız] üstad aitdir
emeklerine sağlık