Optimum Ayarlarla WordPress serisinin ikinci yazısında, Linux (Ubuntu) üzerine nginx, MySQL ve PHP kuracağız.
İçindekiler
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;
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.
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
Kurulum tamamlandıktan sonra MySQL’ı aktifleştirmek için
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.
sudo /usr/bin/mysql_secure_installation
Ardından bazı ayarlar yapmanızı isteyecek. Tüm sorulara Y tuşu ile evet diyelim:
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
sudo apt-get install nginx
Kurulumdan sonra nginx kendisi başlamayacaktır. Bu yüzden
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
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:
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 www.conf dosyasını açalım:
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:
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.
sudo service php5-fpm restart
Adım 6 – nginx Ayarları
Varsayılan sanal sunucu dosyasını açalım
sudo nano /etc/nginx/sites-available/default
Dosyadaki ayarları örnek kodda gösterildiği gibi değiştirelim.
[...] 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.
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
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:
<?php phpinfo(); ?>
Kaydedip çıkalım. PHP ayarlarını yeni yarattığımız dosyayı açarak görebilirsiniz: http://sunucuipadresi/info.php
Tebrikler, artık sunucunuz hazır!
Pingback: WordPress Kurulumu | Hack3rz.org | Hack Sitesi