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.