LEMP Sunucusu CentOS 8'e Nasıl Kurulur


LEMP, yüksek trafiği ve dinamik web sitelerini desteklemek için kullanılan bir dizi ücretsiz ve açık kaynaklı araçtan oluşan bir yazılım yığınıdır. LEMP, Linux, Nginx (Engine X olarak telaffuz edilir), MariaDB/MySQL<'in kısaltmasıdır. ve PHP.

Nginx, ters proxy olarak da kullanılabilen açık kaynaklı, sağlam ve yüksek performanslı bir web sunucusudur. MariaDB, kullanıcı verilerini depolamak için kullanılan veritabanı sistemidir ve PHP, dinamik web sayfalarını geliştirmek ve desteklemek için kullanılan sunucu tarafı bir kodlama dilidir.

İlgili Makale: CentOS 8'e LAMP Sunucusu Nasıl Kurulur

Bu makalede, CentOS 8 Linux dağıtımına LEMP sunucusunun nasıl kurulacağını öğreneceksiniz.

1. Adım: CentOS 8'deki Yazılım Paketlerini Güncelleyin

Başlamak için aşağıdaki dnf komutunu çalıştırarak CentOS 8 Linux'ta hem depoyu hem de yazılım paketlerini güncelleyin.

sudo dnf update

Adım 2: Nginx Web Sunucusunu CentOS 8'e yükleyin

Paket güncellemesi tamamlandıktan sonra basit komutu kullanarak Nginx'i yükleyin.

sudo dnf install nginx

Parçacık, Nginx kurulumunun hiçbir sorun olmadan iyi gittiğini gösteriyor.

Kurulum tamamlandığında Nginx'i önyüklemede başlayacak şekilde yapılandırın ve komutları yürüterek Nginx'in çalıştığını doğrulayın.

sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx

Yüklü Nginx sürümünü kontrol etmek için komutu çalıştırın.

nginx -v

Merakınız galip gelirse ve Nginx hakkında daha fazla bilgi edinmek istiyorsanız aşağıdaki rpm komutunu çalıştırın.

rpm -qi nginx 

Nginx sunucunuzun bir tarayıcı kullanarak çalıştığını doğrulamak için, sisteminizin IP adresini URL çubuğuna yazıp ENTER tuşuna basmanız yeterlidir.

http://server-IP

Nginx web sunucunuzun çalışır durumda olduğunun göstergesi olan "Nginx'e Hoş Geldiniz" web sayfasını görebilmeniz gerekir.

Adım 3: MariaDB'yi CentOS 8'e yükleyin

MariaDB, MySQL'in ücretsiz ve açık kaynaklı bir çatalıdır ve onu MySQL'in daha iyi bir alternatifi haline getiren en yeni özellikleri sunar. MariaDB'yi yüklemek için komutu çalıştırın.

sudo dnf install mariadb-server mariadb

MariaDB'nin önyükleme sırasında otomatik olarak başlatılmasını sağlamak için çalıştırın.

sudo systemctl enable mariadb

MariaDB sunucusunu başlatmak için komutu çalıştırın.

sudo systemctl start mariadb

Yükledikten sonra durumunu kontrol etmek için aşağıdaki komutu kullanın.

sudo systemctl status mariadb

MariaDB veritabanı motoru güvenli değildir ve kimlik bilgileri olmadan herkes giriş yapabilir. MariaDB'yi güçlendirmek ve yetkisiz erişim olasılığını en aza indirecek şekilde güvenliğini sağlamak için komutu çalıştırın.

sudo mysql_secure_installation

Aşağıda bir dizi istem yer almaktadır. İlki bir root şifresi belirlemenizi gerektirir. Kök şifresini belirtmek için ENTER tuşuna basın ve Evet için Y yazın.

Şifreyi belirledikten sonra, anonim kullanıcıyı kaldırmak, test veritabanını kaldırmak ve uzaktan root oturum açma işlemini devre dışı bırakmak için kalan soruları yanıtlayın.

Tüm adımları tamamladıktan sonra MariaDB sunucusunda oturum açabilir ve MariaDB sunucusu sürüm bilgisini kontrol edebilirsiniz (sunucunun güvenliğini sağlarken belirttiğiniz şifreyi girin).

mysql -u root -p

Adım 4: CentOS 8'e PHP 7'yi yükleyin

Son olarak, dinamik web sayfalarının geliştirilmesinde yaygın olarak kullanılan bir komut dosyası oluşturma web programlama dili olan PHP olan son bileşen LEMP yığınını kuracağız.

Bu kılavuzun yazıldığı sırada en son sürüm PHP 7.4'tü. Bunu Remi deposunu kullanarak yükleyeceğiz. Remi deposu, CentOS'ta varsayılan olarak bulunmayan en yeni yazılım sürümleriyle birlikte gelen ücretsiz bir depodur.

EPEL deposunu yüklemek için aşağıdaki komutu çalıştırın.

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Daha sonra devam edin ve yum-utils'i kurun ve aşağıdaki komutu kullanarak remi-repository'yi etkinleştirin.

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Daha sonra kurulabilecek mevcut PHP modüllerini arayın.

sudo dnf module list php

Gösterildiği gibi çıktıda mevcut PHP modülleri, akış ve kurulum profilleri görüntülenecektir. Aşağıdaki çıktıdan, şu anda yüklü olan sürümün köşeli parantez içindeki d harfiyle gösterilen PHP 7.2 olduğunu görebiliriz.

Çıktıdan, en son PHP modülünün kuracağımız PHP 7.4 olduğunu da görebiliriz. Ancak önce PHP modüllerini sıfırlamamız gerekiyor. Yani komutu çalıştırın.

sudo dnf module reset php

Daha sonra PHP 7.4 modülünü çalıştırarak etkinleştirin.

sudo dnf module enable php:remi-7.4

PHP 7.4 modülü etkinleştirildiğinde, son olarak PHP, PHP-FPM (FastCGI Process Manager) ve ilgili PHP modüllerini yükleyin. komutunu kullanarak.

sudo dnf install php php-opcache php-gd php-curl php-mysqlnd

Şimdi yüklü sürümü doğrulayın.

php -v 

Daha sonra php-fpm'yi etkinleştirin ve başlatın.

sudo systemctl enable php-fpm
sudo systemctl start php-fpm

Durumunu kontrol etmek için komutu yürütün.

sudo systemctl status php-fpm

Diğer bir husus da varsayılan olarak PHP-FPM'nin Apache kullanıcısı olarak çalışacak şekilde yapılandırılmış olmasıdır. Ancak Nginx web sunucusu çalıştırdığımız için bunu Nginx kullanıcısı olarak değiştirmemiz gerekiyor.

Bu yüzden /etc/php-fpm.d/www.conf dosyasını açın.

vi /etc/php-fpm.d/www.conf

bu iki satırı bulun.

user = apache
group = apache

Şimdi her iki değeri de Nginx olarak değiştirin.

user = nginx
group = nginx

Yapılandırma dosyasını kaydedin ve çıkın.

Daha sonra değişikliklerin geçerli olması için Nginx ve PHP-FPM'yi yeniden başlatın.

sudo systemctl restart nginx
sudo systemctl restart php-fpm

Adım 5: PHP Bilgilerinin Test Edilmesi

Varsayılan olarak, Nginx'in web dizini klasörü /usr/share/nginx/html/ yolundadır. PHP-FPM'yi test etmek için bir info.php PHP dosyası oluşturacağız ve aşağıdaki satırları yapıştıracağız.

<?php
 phpinfo();
?>

Dosyayı kaydedip çıkın.

Tarayıcınızı başlatın ve URL çubuğuna web sunucunuzun IP adresini gösterildiği gibi yazın.

http://server-ip-address/info.php

Her şey yolunda giderse, çalıştırdığınız PHP sürümüyle ilgili bilgileri ve diğer ölçümleri göreceksiniz.

İşte bu kadar millet! LEMP sunucu yığınını CentOS 8'e başarıyla yüklediniz. Bir güvenlik önlemi olarak, bilgisayar korsanlarının Nginx sunucunuzdaki bilgileri ele geçirmesini önlemek için info.php dosyasını kaldırmak isteyebilirsiniz.