CentOS 7'ye Nginx 1.15, MariaDB 10 ve PHP 7 Nasıl Kurulur


Bu makalede bir LEMP yığınının (Linux, Nginx, MariaDB, ) nasıl kurulacağını açıklayacağız. yum ve dnf paketini kullanan RHEL/CentOS 7/6 ve Fedora 26-29 sunucularında PHP-FPM ile birlikte PHP) müdür.

İşlem sırasında Epel, Remi, Nginx ve MariaDB depolarını yükleyip etkinleştireceğiz. bu paketlerin en son sürümlerini yükleyin.

Ayrıca Okuyun: CentOS 7'ye Apache, MySQL 8 veya MariaDB 10 ve PHP 7'yi yükleyin

Adım 1: EPEL ve Remi Deposunun Kurulumu

EPEL (Kurumsal Linux için Ekstra Paketler), RHEL tabanlı Linux dağıtımları için eklenti yazılım paketleri sunan topluluk tabanlı bir depodur.

Remi, Fedora ve Enterprise Linux dağıtımlarına kurulum için PHP yığınının (tam özellikli) en son sürümlerini bulabileceğiniz bir depodur.

RHEL/CentOS 7'de

yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------ For RHEL 7 Only ------
subscription-manager repos --enable=rhel-7-server-optional-rpms

RHEL/CentOS 6'da

yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

------ For RHEL 6 Only ------
subscription-manager repos --enable=rhel-6-server-optional-rpms

Fedora 24-29'da

rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm  [On Fedora 29]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm  [On Fedora 28]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm  [On Fedora 27]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm  [On Fedora 26]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm  [On Fedora 25]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm  [On Fedora 24]

Adım 2: Nginx ve MariaDB Depolarının Kurulumu

Nginx deposu yalnızca RHEL ve CentOS dağıtımlarında gereklidir. /etc/yum.repos.d/nginx.repo adında bir dosya oluşturun ve bu dosyaya aşağıdaki satırları ekleyin.

RHEL 7/6 için:

[nginx] 
name=nginx repo 
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ 
gpgcheck=0 
enabled=1 

CentOS 7/6 için:

[nginx] 
name=nginx repo 
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ 
gpgcheck=0 
enabled=1 

MariaDB deposunu etkinleştirmek için aşağıdaki içeriğe sahip /etc/yum.repos.d/mariadb.repo adında bir dosya oluşturun:

[mariadb] 
name = MariaDB 
baseurl = http://yum.mariadb.org/10.1/centos7-amd64 
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB 
gpgcheck=1 

Adım 4: Ngnix ve MariaDB'yi yükleme

Nginx (Engine X) açık kaynaklı, sağlam, hafif ve yüksek performanslı Web sunucusu, ters proxy sunucusu ve ayrıca HTTP, SMTP, POP3 ve IMAP protokolleri için posta proxy sunucusudur. Daha fazla ayrıntı için http://wiki.nginx.org/Overview adresini ziyaret edin.

MariaDB, dünyanın en popüler İlişkisel Veritabanı Yönetim Sisteminden (RDBMS) biri olan, iyi bilinen MySQL'in bir çatalıdır. Tamamen topluluk tarafından geliştirilmiştir ve bu nedenle FOSS olarak kalması ve GPL ile uyumlu olması amaçlanmıştır.

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


----------- Installing on RHEL/CentOS 7/6 ----------- 
yum --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm 

----------- Installing on Fedora ----------- 
dnf --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm 

Adım 3: Remi Deposunu Kullanarak PHP Kurulumu

PHP (Köprü Metni Ön İşlemcisi), web geliştirme için en uygun olan Ücretsiz ve Açık Kaynak sunucu tarafı kodlama dilidir. Bir web sitesi için dinamik web sayfaları oluşturmak için kullanılabilir ve en sık *nix sunucularında bulunur. PHP'nin avantajlarından biri, çok çeşitli modüllerin kullanımıyla kolayca genişletilebilmesidir.

PHP'yi yüklemek için öncelikle yum depolarını ve paketlerini yönetmeye yönelik kullanışlı programlardan oluşan bir koleksiyon olan yum-utils'i yükleyerek Remi deposunu etkinleştirmeniz gerekir.

yum install yum-utils

Kurulduktan sonra, gösterildiği gibi farklı PHP sürümlerini yüklemek için Remi deposunu varsayılan depo olarak etkinleştirmek üzere yum-utils tarafından sağlanan yum-config-manager'ı kullanabilirsiniz.

Örneğin, PHP 7.x sürümünü yüklemek için aşağıdaki komutu kullanın.

------------- On CentOS & RHEL ------------- 
yum-config-manager --enable remi-php70 && yum install php       [Install PHP 7.0]
yum-config-manager --enable remi-php71 && yum install php       [Install PHP 7.1]
yum-config-manager --enable remi-php72 && yum install php       [Install PHP 7.2]
yum-config-manager --enable remi-php73 && yum install php       [Install PHP 7.3]

------------- On Fedora ------------- 
dnf --enablerepo=remi install php70      [Install PHP 7.0]
dnf --enablerepo=remi install php71      [Install PHP 7.1]
dnf --enablerepo=remi install php72      [Install PHP 7.2]
dnf --enablerepo=remi install php73      [Install PHP 7.3]

Daha sonra aşağıdaki PHP modüllerinin tümünü kuracağız.

------ On RHEL/CentOS 7/6 ------
yum --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

------ On Fedora ------
dnf --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

Adım 6: Apache Hizmetini Durdurma ve Devre Dışı Bırakma

Varsayılan olarak Apache ve Nginx aynı bağlantı noktasını (TCP 80) dinler. Bu nedenle, sunucunuzda Apache kuruluysa, Nginx'i kullanabilmek için onu durdurmanız ve devre dışı bırakmanız/maskelemeniz (hizmeti /dev/null'a bağlayan daha güçlü bir devre dışı bırakma sürümü) gerekir. , veya artık kullanmayı planlamıyorsanız kaldırabilirsiniz.

systemctl stop httpd 
systemctl disable httpd 
or 
systemctl mask httpd 

Adım 7: Nginx, MariaDB ve PHP-FPM'yi Başlatma/Durdurma

----------- Enable Nginx, MariaDB and PHP-FPM on Boot ----------- 
systemctl enable nginx 
systemctl enable mariadb 
systemctl enable php-fpm 
 
----------- Start Nginx, MariaDB and PHP-FPM ----------- 
systemctl start nginx 
systemctl start mariadb 
systemctl start php-fpm 

Adım 8: Nginx ve PHP-FPM'yi Yapılandırma

Şimdi web siteniz için /srv/www/ altında bir dizin yapısı (bir sanal ana bilgisayar veya Nginx'teki adıyla sunucu bloğu) oluşturalım. Bu örnekte linux-console.net'u kullanacağız, ancak isterseniz başka bir alan adı ve ana dizin seçmekten çekinmeyin.

mkdir -p /srv/www/tecmint/public_html 
mkdir /srv/www/tecmint/logs 
chown -R nginx:nginx /srv/www/tecmint  

Adım 9: Nginx Sanal Ana Bilgisayar Dizinlerini Yapılandırma

Bildiğiniz gibi aynı makineden birden fazla siteyi çalıştırabilme yeteneği, büyük web sunucularının ayırt edici özelliklerinden biridir. Şimdi /etc/nginx altında sunucu bloklarımızı (Apache'de sanal konaklar olarak bilinir) depolamak için dizinleri oluşturmaya devam edelim.

mkdir /etc/nginx/sites-available 
mkdir /etc/nginx/sites-enabled 

/etc/nginx/nginx.conf dosyasındaki http bloğunu kapatmadan önce eklenmesi gereken aşağıdaki kod satırı, yapılandırma dosyalarının /etc/nginx/sites-enabled içindeki olmasını sağlayacaktır. Nginx çalışırken dizini dikkate alınacaktır:

## Load virtual host conf files. ## 
include /etc/nginx/sites-enabled/*; 

linux-console.net için sunucu bloğu oluşturmak üzere aşağıdaki kod satırlarını /etc/nginx/sites-available/tecmint'e ekleyin (bu dosya siz girdiğinizde oluşturulacaktır) tercih ettiğiniz metin düzenleyiciyi başlatmanın tam yolu). Bu temel bir sanal ana bilgisayar yapılandırma dosyasıdır.

server { 
	listen 80 default; 
	server_name tecmint; 
	access_log /srv/www/tecmint/logs/access.log; 
	error_log /srv/www/tecmint/logs/error.log; 
	root /srv/www/tecmint/public_html; 
	location ~* \.php$ { 
	fastcgi_index   index.php; 
	fastcgi_pass    127.0.0.1:9000; 
	include         fastcgi_params; 
	fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name; 
	fastcgi_param   SCRIPT_NAME        $fastcgi_script_name; 
	} 
} 

Bir sanal ana bilgisayarı "etkinleştirme" süreci, tecmint sanal ana makinesinin tanımından /etc/nginx/sites-enabled 'a sembolik bir bağlantı oluşturmaktan oluşur. .

ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint 

Yaptığımız değişiklikleri gerçekten uygulayabilmek için şimdi Nginx'i yeniden başlatmamız gerekiyor. Bazen bunu yapmadan önce yapılandırma dosyalarını sözdizimi hatalarına karşı kontrol etmek yararlı olabilir:

nginx -t 
systemctl restart nginx 
systemctl status nginx 

Yeni oluşturduğunuz sanal ana makinenize erişmek için alan adı çözümlemesinin temel yöntemi olarak /etc/hosts dosyasına aşağıdaki satırı eklemeniz gerekir.

192.168.0.18	linux-console.net linux-console.net 

Adım 10: Nginx, MySQL, PHP ve PHP-FPM'yi test etme

PHP'yi test etmenin klasik yoluna devam edelim. /srv/www/tecmint/public_html/ altında test.php adlı bir dosya oluşturun ve aşağıdaki kod satırlarını bu dosyaya ekleyin.

phpinfo() işlevi mevcut PHP kurulumu hakkında birçok bilgi gösterir:

<?php 
	phpinfo(); 
?> 

Şimdi web tarayıcınızı http://tecmint/test.php adresine yönlendirin ve kurulu modüllerin ve ek yazılımların varlığını kontrol edin:

Tebrikler! Artık bir LEMP yığınının çalışan bir kurulumuna sahipsiniz. Bir şeyler beklediğiniz gibi gitmediyse aşağıdaki formu kullanarak bizimle iletişime geçmekten çekinmeyin. Soru ve önerilerinizi de bekliyoruz.