CentOS

CentOS 7 LEMP Kurulumu Nasıl Yapılır ?

5 Dakika Okuma Süresi.

LEMP Stack Nedir ?

LEMP açılımı çalışması için kullanılan servislerin baş harflerinden almaktadır. Linux + Nginx + MySQL/MariaDB + PHP şeklinde açılımı bulunan LEMP basit web server kurmamıza yardımcı olmaktadır.

Günümüzde bir çok web sitesinin arkasında hosting kontrol panelleri olmanda kullanılmaktadır. Hosting kontrol panelleri bireysel kullanımda daha fazla tercih edilsede, profesyonel kullanımlarda hosting kontrol panellerine ait zaafiyetlere yakalanmamak için saf bir şekilde LEMP Stack kurmayı tercih ederler.


Adım 1:  CentOS 7 üzerine Nginx Web Sunucusunu kurun

Nginx, Apache’ye kıyasla hızlı bir web sunucusudur ve bu günlerde daha popüler hale gelmektedir. Nginx’i CentOS 7 üzerine kurmak için aşağıdaki komutu kullanarak EPEL deposunu eklememiz gerekiyor. EPEL, Enterprise Linux için Ekstra Paketler anlamına gelir.

sudo yum install epel-release -y

Depo eklendiğine göre, Nginx’i artık kurabiliriz.

sudo yum install nginx -y

Nginx kurulduktan sonra onu başlatmamız gerekiyor.

sudo systemctl start nginx

Sistem önyükleme sırasında başlamak için Nginx’i etkinleştirin.

sudo systemctl nginx enable

Çalışıp çalışmadığını kontrol edin:

service nginx status
CentOS 7 LEMP Kurulumu Nasıl Yapılır ?

Servisin herkese açık bir şekilde çalışıp çalışmadığını kontrol etmek için sunucunuzun dış ipsini tarayıcınıza http://SUNUCUIP şeklinde yazabilirsiniz.

CentOS 7 LEMP Kurulumu Nasıl Yapılır ?

NOT: Eğer tarayıcınıza ip adresinizi yazdıktan sonra ulaşamazsanız, bunun nedeni firewall sisteminizde ilgili servisin kullandığı portların güvenlik nedeniyle açık olmamasından kaynaklı olacaktır.

sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT
sudo service iptables save
CentOS 7 LAMP Kurulumu Nasıl Yapılır ?

Yukarıdaki işlem ile sunucunuzdan dışarı çıkan port kısıtlamasını kaldırabilirsiniz.


Adım 2: MariaDB Veritabanı Sunucusunu CentOS 7’ye yükleyin

MariaDB, MySQL için açılan bir alternatiftir. Bazı versiyonlara göre MariaDB’nin MySQL’e göre daha hızlı olduğu global web analistleri tarafından belirlenmiştir. Aşağıdaki komutu kullanarak kurun:

sudo yum install mariadb-server mariadb -y

Kurulduktan sonra başlatmamız gerekiyor.

sudo systemctl start mariadb

Sistem önyükleme sırasında başlamak için MariaDB’yi etkinleştirin.

sudo systemctl enable mariadb

Servisin durumunu kontrol edin.

systemctl status mariadb
CentOS 7 LEMP Kurulumu Nasıl Yapılır ?
mysql_secure_installation

Yukarıdaki komutu çalıştırarak MariaDB’nin güvenlik ayarlarını gerçekleştireceğiz.

Change the password for root ? : y

New password: (yeni root şifreniz)

Re-enter new password: (yeni root şifrenizi tekrar yazınız)

Remove anonymous users?: y

Disallow root login remotely?: y

Remove test database and access to it?: y

Reload privilege tables now?: y

CentOS 7 LAMP Kurulumu Nasıl Yapılır ?

Bu işlemler MariaDB‘nin güvenlik ayarlarını göstermektedir burada tüm seçeneklere y (yes) şeklinde yanıt vererek tamamlayınız.

SQL servisini doğru bir şekilde yapılandırdığımızdan emin olmak için aşağıdaki gibi komutları uygulayarak test edebilirsiniz.

mysql -u root -p
SHOW DATABASES;
exit
CentOS 7 LEMP Kurulumu Nasıl Yapılır ?

Yukarıdaki görüntüde mevcut sistem için gerekli databases gözükmektedir. Bu ekranı görüntülediğimizde sorunsuz bir şekilde kurulduğunu görebilmekteyiz.


Adım 3: CentOS 7’ye PHP-FPM’yi kurun

PHP kurulumu için 7.4 versiyon sürümünü kullanacağımız için epel ve remi depolarını kurmamız gerekmektedir.

yum -y install epel-release yum-utils
CentOS 7 LAMP Kurulumu Nasıl Yapılır ?
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
CentOS 7 LAMP Kurulumu Nasıl Yapılır ?

İlgili repoyu sistemimize tanımladığımız için artık versiyon paketini tanımlayıp kuruluma geçeceğiz. Bu işlem için yukarıda belirttiğimiz gibi PHP 7.4 versiyonunu kullanacağız.

yum-config-manager --enable remi-php74
CentOS 7 LAMP Kurulumu Nasıl Yapılır ?

Yukarıdaki işlemle php repomuzdan ilgili versiyonumuzu seçtik eğer farklı bir versiyon seçmek istersek aşağıdaki gibi seçebiliriz.

yum-config-manager --enable remi-php56
yum-config-manager --enable remi-php70
yum-config-manager --enable remi-php71
yum-config-manager --enable remi-php72
yum-config-manager --enable remi-php73

NOT: Yukarıdaki komutlar php sürümlerini ayırmak amacıyla örnek olarak gösterilmiştir, tavsiye edilen php sürümü 7.4 en son sürümdür.

Sıra geldi php ve eklentilerini yüklemeye, bu aşamada en sık kullanılan php uzantılarını(eklentilerini) kurulumu gerçekleştireceğiz.

yum -y install php php-cli php-common php-devel php-enchant php-gd php-imap php-intl php-json php-mbstring php-odbc php-pdo php-pgsql php-soap php-ldap php-tidy php-xml php-xmlrpc php-opcache php-pecl-mcrypt
CentOS 7 LAMP Kurulumu Nasıl Yapılır ?

PHP eklentilerinin yüklenmesi tamamlandıktan sonra Apache ile entegre bir şekilde çalışabilmesi amacıyla Apache servisini yeniden başlatacağız.

sudo systemctl restart nginx

Şimdi php-fpm yapılandırma dosyasını düzenleyin:

sudo nano /etc/php-fpm.d/www.conf

Aşağıdaki satırı bulun:

listen = 127.0.0.1:9000

şuna değiştirin:

listen = /var/run/php-fpm/php-fpm.sock

sonra aşağıdaki iki satırı bulun:

;listen.owner = nobody
;listen.group = nobody

önceki noktalı virgülleri kaldırın. Son olarak, kullanıcı ve grup değerini “apache” den “nginx” e değiştirin:

user = nginx
group = nginx

Dosyayı kaydedip kapattıktan sonra, PHP İşlemcisini başlatın:

sudo systemctl restart php-fpm

Ardından, php-fpm’yi sistem önyüklemesinde başlatmak için etkinleştirin.

sudo systemctl enable php-fpm

PHP-FPM taraflı ayarlamalar yapıldıktan sonra bu işlemi Nginx web server’a php uzantılı dosyaları nasıl yorumlaması gerektiğinin ayarlamasını yapacağız.

nano /etc/nginx/nginx.conf
server {
# ... burada bir takım ayarlar mevcut 
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;
    }
}
sudo systemctl restart nginx
sudo systemctl restart php-fpm

Şeklinde düzenleme sağladığınızda artık sorunsuz olarak php uzantılı dosyaların yorumlamasını PHP-FPM’e paslıyor oluyorsunuz.


Adım 4: PHP’yi test edin

Web kök dizininde bir phpinfo dosyası oluşturun.

echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php

Yeni oluşturduğunuz dosyayı kontrol etmek için sunucunuzun dış ipsini tarayıcınıza http://SUNUCUIP/info.php şeklinde yazabilirsiniz.

CentOS 7 LAMP Kurulumu Nasıl Yapılır ?

Yukarıdaki ekranı gördüğünüz zaman artık sorunsuz bir şekilde web sunucunuzu ve php servisini kurduğunuzu görebilirsiniz.

Bu işlemler dünya çapında en çok kullanılan konfigürasyon lardan yararlanarak hazırlanmıştır. Makalemizde buraya kadar sorunsuz bir şekilde LEMP kurulumunu tamamlanmış bulunmaktasınız.

Bir yanıt yazın