2 Ocak 2016

CentOS 7 Sunucuya LEMP(Nginx) ve phpMyAdmin Kurulumu

CentOS 7 Sunucuya LEMP(Nginx) Kurulumu

CentOS 7 sunucumuza LEMP (Linux, Nginx, MySQL, PHP) kurulumunu ve detaylı ayarlamalarını bu makalede yazacağım. Digital Ocean üzerindeki sunucumuz için Hostname oluşturmak, Sunucuya Domain atamak ve sunucu kurulumlarını aşağıdaki makalelerde anlattım. Bu makalede direk SSH üzerinden EPEL ve Nginx kurulumların dan başlayarak anlatacağım.

Digital Ocean CentOS 7 Sunucu(Droplet) Kurulumu
Digital Ocean'da Sanal Sunucu(Droplet) Oluşturmak

Centos'ta Selinux Kapatma İşlemi;

SELINUX dosyasını açalım
# nano /etc/selinux/config

SELINUXTYPE=disabled olarak değiştirelim.

Ctrl+X (Kaydedelim)
Y (Yes)
Enter diyip çıkalım.

Sunucuyu tekrardan başlatalım
# reboot

Sunucuyu güncelleyelim ve gerekli paketleri yükleyelim
# yum -y update
# yum -y install nano wget perl
# reboot

CentOS 7 Repo kurulumu;
# yum -y install epel-release

1) Nginx Kurulumu

Nginx kurulumu;
# yum -y install nginx

Nginx servisini başlatalım;
# systemctl start nginx

Kontrol: http://SERVER-IP-ADRES veya http://domainadresiniz.com

Aşağıdaki resim çıktıysa Nginx başarılı bir şekilde kurulmuştur.

CentOS 7 Sunucuya LEMP(Nginx) Kurulumu

Sunucuyu her yeni başlattığımızda Nginx servisi otomatik çalışssın
# systemctl enable nginx

Nginx servisinin çalışıp çalışmadığını kontrol etmek için
# systemctl status nginx.service

Nginx sürümünü öğrenmek için
nginx -v

2) MySQL (MariaDB) Kurulumu
MySQL (MariaDB) veritabanı kurulumu kısmını Digital Ocean CentOS 7 Sunucu(Droplet) Kurulumu makalesinde 4. kısımda anlatımını bulabilirsiniz.

3) PHP Kurulumu
PHP kurulumuna başlayalım
# yum -y install php php-mysql php-fpm php-pdo

Detaylı PHP kurulumu(Ekstra bilgidir, ilk kurulumu yapmanızda yeterli olacaktır)
# yum -y install php php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-mbstring php-xml php-xmlrpc php-mbstring php-snmp php-soap php-devel

4) PHP Ayarları;

Php.ini dosyasını düzenleyelim;
# nano /etc/php.ini

Aşağıdaki satırı bulup;
;cgi.fix_pathinfo=1
Aşağıdakiler ile değiştirelim;
cgi.fix_pathinfo=0

www.conf dosyasını düzenleyelim;
/etc/php-fpm.d/www.conf

Aşağıdaki satırı bulup;
listen = 127.0.0.1:9000
Aşağıdakiler ile değiştirelim;
listen = /var/run/php-fpm/php-fpm.sock

Aşağıdaki satırı bulup;
;listen.owner = nobody

;listen.group = nobody
Aşağıdakiler ile değiştirelim;
user = nginx
group = nginx

Ayarlardan sonra servisi başlatalım
# systemctl start php-fpm

Sunucuyu her yeni başlattığımızda servis otomatik çalışssın
systemctl enable php-fpm

5) Nginx Ayarları;

default.conf dosyasını düzenleyelim;
# nano /etc/nginx/conf.d/default.conf

SERVER-IP yazan yere sunucu IP adresinizi yazın ve içindeki tüm içeriği silip aşağıdaki içeriği içine ekleyin.
server {
    listen       80;
    server_name  SERVER-IP;

    # note that these lines are originally from the "location /" block
    root   /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
Ctrl+X (Kaydedelim)
Y (Yes)
Enter diyip çıkalım.

Nginx servisini yeniden başlatalım
# systemctl restart nginx

6) PHP Bilgi Sayfası

PHP bilgi sayfası oluşturalım;
# nano /usr/share/nginx/html/info.php

<?php phpinfo(); ?>

Ctrl+X (Kaydedelim)
Y (Yes)
Enter diyip çıkalım.

Kontrol: http://SERVER-IP/info.php

Dosyayı silmek için
# rm -rf /usr/share/nginx/html/info.php

CentOS 7 üzerinde LEMP(Nginx) kurulumu tamamlanmıştır.

CentOS 7 Sunucuya LEMP(Nginx) Kurulumu

7) phpMyAdmin Kurulumu (Nginx CentOS 7)

CentOS 7 64 bit için EPEL ve REMİ kütüphanesini kurulumları;
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
# wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# rpm -Uvh remi-release-7.rpm epel-release-7-5.noarch.rpm

phpMyAdmin kuralım
# yum -y install phpmyadmin

phpMyAdmin Nginx için ayarlama
# ln -s /usr/share/phpMyAdmin /usr/share/nginx/html

Servisi yeniden başlatalım
# systemctl restart php-fpm

Kontrol: http://SERVER-IP/phpMyAdmin

phpMyAdmin giriş dizin yolunu değiştirmek için;
# mv phpMyAdmin databaseburak

Kontrol: http://SERVER-IP/databaseburak

Kaynaklar
How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7
How To Install and Secure phpMyAdmin with Nginx on a CentOS 7 Server
Apache vs Nginx: Practical Considerations
Comparison of Web Server Software
www.nginx.org
www.nginx.com
nginx.org/packages/centos (Nginx CentOS Paketleri)
tr.wikipedia.org/wiki/Nginx
en.wikipedia.org/wiki/Nginx

Yardımcı Kaynaklar
Set Up Nginx Server Blocks on CentOS 7 (Nginx Site Ekleme)
centminmod.com (Centmin Mod LEMP Web Stack BASH Hazır Kurulum)

Hiç yorum yok:

Yorum Gönder