LEMP'nin Debian 10 Sunucusuna Kurulumu


"LEMP" yığını, dinamik uygulamaları dağıtmak için genellikle bir Linux sunucusuna yüklenen açık kaynaklı yazılımların bir karışımıdır. Bu terim, Linux işletim sistemini, Nginx web sunucusunu, MariaDB veritabanını ve PHP programlamayı temsil eden bir kısaltmadır.

Ayrıca Okuyun: LAMP'ı Debian 10 Sunucusuna Yükleme

Bu "LEMP" yığını normalde veritabanı yönetim sistemi olarak MySQL'i içermesine rağmen, Debian gibi bazı Linux dağıtımları MariaDB'yi kullanır. Strong>, MySQL'in hemen yerine geçebilecek bir alternatif olarak.

Gereksinimler

  1. Debian 10 (Buster) Minimal Sunucusu Nasıl Kurulur

Bu makalede, MariaDB'yi veritabanı yönetimi olarak kullanarak bir Debian 10 sunucusuna LEMP ortamını nasıl kurup kuracağınızı açıklayacağız. platformu.

Nginx Web Sunucusunu Debian 10'a Kurmak

Nginx açık kaynaklı ve platformlar arası, hafif ancak güçlü ve yapılandırması kolay bir HTTP ve ters proxy sunucusu, bir posta proxy sunucusu ve genel bir TCP/UDP proxy'sidir. Modüler mimariye sahip sunucu.

Temel özelliklerinden bazıları arasında statik ve indeks dosyalarının sunulması; FastCGI, uwsgi, SCGI ve Memcached sunucularının önbelleğe alınması, yük dengeleme ve hata toleransı, SSL ile hızlandırılmış destek ve TLS SNI desteği, ağırlıklı ve bağımlılığa dayalı önceliklendirmeyle HTTP/2 desteği.

Nginx paketini kurmak için gösterildiği gibi Debian'ın apt paket yöneticisini kullanın.

apt update 
apt install nginx 

Nginx kurulumu tamamlandıktan sonra yükleyici, Nginx hizmetini şimdilik başlatmak için systemd'yi etkinleştirecek ve sistem önyüklemesinde otomatik olarak başlamasını sağlayacaktır. Aşağıdaki systemctl komutunu kullanarak Nginx'in durumunu kontrol edebilirsiniz.

systemctl status nginx

Systemd altında Nginx hizmetinin yapılandırmasını başlatmak, yeniden başlatmak, durdurmak ve yeniden yüklemek için aşağıdaki önemli komutları da kullanabilirsiniz.

systemctl start nginx
systemctl restart nginx 
systemctl stop nginx
systemctl reload nginx 
systemctl status nginx 

Daha sonra, UFW güvenlik duvarınız çalışıyorsa (genellikle varsayılan olarak devre dışıdır), gelen trafiğe izin vermek için 80 (HTTP) ve 443 (HTTPS) bağlantı noktalarını açmanız gerekir. Nginx'te.

ufw allow 80
ufw allow 443
ufw status

Bu noktada Nginx'in düzgün kurulup kurulmadığını, çalışıp çalışmadığını ve web sayfaları sunup sunamayacağını test etmeniz gerekiyor. Bunu yapmak için bir web tarayıcısı açın ve Nginx Debian Varsayılanı web sayfasına erişmek için onu aşağıdaki URL'ye yönlendirin.

http://SERVER_IP/
OR
http://localhost/

Debian 10'a MariaDB Kurulumu

Daha sonra, web siteniz veya web uygulamanız için verileri saklayabilmek ve yönetebilmek için bir veritabanı sistemi kurmanız gerekir. Debian 10, MySQL'in yerine geçebilecek bir alternatif olarak varsayılan olarak MariaDB'yi destekler.

MariaDB'yi yüklemek için aşağıdaki komutu çalıştırın.

apt install mariadb-server

Daha sonra, systemd tarafından otomatik olarak başlatıldığından ve sistem önyüklemesinde başlatılması etkinleştirildiğinden MariaDB hizmetinin durumunu kontrol edin; çalışır durumda olduğundan emin olmak için aşağıdaki komutu kullanın.

systemctl status mariadb

MariaDB hizmetini systemd altında yönetmek (başlatmak, yeniden başlatmak, durdurmak ve yeniden yüklemek) için aşağıdaki komutu kullanabilirsiniz.

systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
systemctl reload mariadb

Daha sonra MariaDB dağıtımı varsayılan olarak güvenli olmayacaktır. Veritabanı güvenliğini artırabilmeniz için paketle birlikte gelen bir kabuk betiğini çalıştırmanız gerekir.

mysql_secure_installation

Komut dosyasını çalıştırdıktan sonra, aşağıdaki ekran görüntüsünde gösterildiği gibi MariaDB kurulumunun varsayılan ayarlarını değiştirmek için sizi bir dizi aşağıdaki soruya yönlendirecektir.

Debian 10'a PHP-FPM'nin (Hızlı Süreç Yöneticisi) Kurulumu

Apache ve diğer web sunucularından farklı olarak Nginx, PHP-FPM kullandığından PHP için yerel destek sağlamaz. PHP sayfalarına yönelik istekleri işlemek için. PHP-FPM, istekleri işlemek için çalışan süreçlerini kullanarak bir web sitesinin yüksek yükleri işlemesine olanak tanıyan, PHP için alternatif bir FastCGI arka plan programıdır.

PHP-FPM sürüm 7.3'ü ve MariaDB/MySQL veritabanı sistemiyle iletişim kuracak bir PHP modülünü yüklemek için aşağıdaki komutu çalıştırın.

apt install php-fpm php-mysqli

PHP-FPM yüklendikten sonra yükleyici, şimdilik PHP-FPM hizmetini başlatmak için systemd'yi etkinleştirecek ve sistem önyüklemesinde otomatik olarak başlatılmasını sağlayacaktır. Çalışıp çalışmadığını kontrol etmek için aşağıdaki komutu verin.

systemctl status php-fpm

Ayrıca PHP-FPM hizmetinin yapılandırmasını systemd altında aşağıdaki gibi başlatabilir, yeniden başlatabilir, durdurabilir ve yeniden yükleyebilirsiniz.

systemctl start php-fpm
systemctl restart php-fpm
systemctl stop php-fpm
systemctl reload php-fpm
systemctl status php-fpm

Daha sonra, /etc/php/7.3/fpm/php.ini yapılandırma dosyasında aşağıdaki gibi bazı değişiklikler yaparak PHP-FPM'yi güvence altına almanız gerekir.

vi /etc/php/7.3/fpm/php.ini

Başlangıçtaki ; karakterini kaldırarak ;cgi.fix_pathinfo=1 açıklamasını kaldırın, değerini 0 olarak ayarlayın. Bu, Nginx'in PHP olmayan dosyaların PHP olarak yürütülmesine izin vermesini engeller.

cgi.fix_pathinfo=0

Varsayılan olarak, PHP-FPM, /etc dosyasında tanımlandığı gibi /run/php/php7.3-fpm.sock UNIX soxket'ini dinleyecek şekilde yapılandırılmıştır. /php/7.3/fpm/pool.d/www.conf yapılandırma dosyası. PHP sayfalarını işleyecek ve sunacaklarsa, tüm sunucu bloğunuzu (veya sanal ana bilgisayarlarınızı) bu soketi kullanacak şekilde yapılandırmanız gerekir.

Test etmek için Nginx varsayılan sunucu bloğu yapılandırma dosyasını /etc/nginx/sites-available/default kullanabilirsiniz.

vi /etc/nginx/sites-available/default 

Aşağıdaki bölümü arayın ve PHP komut dosyalarını ekran görüntüsünde gösterildiği gibi FastCGI sunucusuna aktarmak için açıklamayı kaldırın.

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

Daha sonra aşağıdaki komutu kullanarak Nginx yapılandırma yapısının iyi olup olmadığını test edin.

nginx -t

Nginx yapılandırması tamam ise, yakın zamanda yapılan değişiklikleri uygulamak için php7.3-fpm ve nginx hizmetlerini aşağıdaki şekilde yeniden başlatın.

systemctl restart php7.2-fpm
systemctl restart nginx

Nginx'te PHP-FPM İşlemeyi Test Etme

PHP-FPM ve Nginx'i birlikte çalışacak şekilde yapılandırdıktan sonra, iki hizmetin PHP sayfalarını işleyip istemcilere sunup sunamayacağını test etmeniz gerekir. Bunu yapmak için web DocumentRoot'unuzda aşağıdaki gibi basit bir PHP komut dosyası oluşturun.

echo “<?php phpinfo(); ?>”  | tee /var/www/html/info.php

Son olarak, bir tarayıcı açın ve sistemdeki phpinfo() işlevi tarafından oluşturulan PHP yapılandırmalarını görmek için aşağıdaki adresi yazın.

http://SERVER_IP/info.php
OR
http://localhost/info.php

Çözüm

Bu makalede, LEMP yığınının Debian 10'da nasıl kurulacağını ve yapılandırılacağını gösterdik. Herhangi bir sorunuz veya geri bildiriminiz varsa lütfen bize ulaşın ve aşağıdaki yorum formunu kullanarak bize bildirin.