Konuyu Oyla:
  • Toplam: 1 Oy - Ortalama: 5
  • 1
  • 2
  • 3
  • 4
  • 5
   
Konu: Ubuntu’ya Nginx, MySQL ve PHP Kurulumu (LEMP)
#H4CK4L
*
avatar
#R00T
Durum: Çevrimdışı
Seviye Puanı: 43
Yaşam Puanı: 1,057 / 1,057
Deneyim: 31 / 100
Rep Sayısı: 1082
Mesaj Sayısı: 3052
Üyelik Tarihi: 04.05.2013
      
Yorum: #1
Ubuntu’ya Nginx, MySQL ve PHP Kurulumu (LEMP)
06.07.2018 22:23
Arkadaşlar bir süre sunucu, sunucu güvenliği adına bildiklerimi arşivimdekileri sizinle paylaşıcam bu da ubuntu serisinin ikinci yazısında, Linux (Ubuntu) üzerine nginx, MySQL ve PHP kuracağız.

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.İNİ 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

CGİ.FİX_PATHİNFO=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:
Kod:
sudo nano /etc/php5/fpm/pool.d/www.conf

LİSTEN = 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:
PHP Kod:
<?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!

Çocukken her akşam yatmadan önce Tanrı'ya bana bir bisiklet vermesi için dua ederdim. Bir gün Tanrı'nın çalışma tarzının bu olmadığını anladım. Ertesi gün gittim kendime yeni bir bisiklet çaldım ve her akşam yatmadan önce Tanrı'ya günahlarımı affetmesi için dua ettim.
Alinti
MECZUP
*
avatar
Binbaşı
Durum: Çevrimdışı
Seviye Puanı: 29
Yaşam Puanı: 713 / 713
Deneyim: 55 / 100
Rep Sayısı: 40
Mesaj Sayısı: 1139
Üyelik Tarihi: 18.12.2017
      
Yorum: #2
RE: Ubuntu’ya Nginx, MySQL ve PHP Kurulumu (LEMP)
06.07.2018 22:28
Emeğine Sağlık Smile
Alinti
KingSkrupellos
*
avatar
Hacktivist
Durum: Çevrimdışı
Seviye Puanı: 56
Yaşam Puanı: 1,386 / 1,386
Deneyim: 44 / 100
Rep Sayısı: 2873
Mesaj Sayısı: 6503
Üyelik Tarihi: 21.08.2013
     
Yorum: #3
RE: Ubuntu’ya Nginx, MySQL ve PHP Kurulumu (LEMP)
06.07.2018 22:49
Teşekkürler, Emeğine Sağlık Smile

# Cyberizm Digital Security Technological Turkish Moslem Army #
# İnsanda bir organ vardır. Eğer o sağlıklı ise bütün vücut sağlıklı olur;
eğer o bozulursa bütün vücut bozulur. Dikkat edin! O, kalptir.
[ Hz.Muhammed S.A.V ] #


Alinti



1 Ziyaretçi