CentOS 7'ye Apache, MySQL 8 veya MariaDB 10 ve PHP 7'yi yükleyin


Bu nasıl yapılır kılavuzunda Apache, MySQL 8 veya MariaDB 10 ve PHP 7'nin en son sürümünün nasıl kurulacağı açıklanmaktadır. Strong> ve RHEL/CentOS 7/6 ve Fedora 24-29'da gerekli PHP modülleri.

İşletim sisteminin (Linux) web sunucusu (Apache), veritabanı sunucusu (MariaDB/MySQL) ve sunucu tarafı komut dosyası oluşturma ile birleşimi dil (PHP), LAMP yığını olarak bilinir.

Kaçırmayın: CentOS 7'ye Nginx 1.15, MariaDB 10 ve PHP 7 Nasıl Kurulur?

Eylül 2015'ten bu yana, PHP 5.4 artık PHP ekibi tarafından desteklenmiyor ve kullanım ömrünün sonuna ulaşıldı, ancak PHP 5.4 hâlâ RHEL/CentOS 7 ile birlikte geliyor /6 küçük sürüm değişikliğiyle sağlanır ve Red Hat bunu destekler, dolayısıyla daha yüksek bir sürüme yükseltmeye gerek yoktur. Ancak daha fazla güvenlik ve performans için PHP 5.4 sürümünüzü PHP 5.5+ sürümüne yükseltmeniz önemle tavsiye edilir.

Mevcut Linux dağıtımınız aşağıdakilerle birlikte gelir:

PHP Current Version RHEL/CentOS 7 RHEL/CentOS 6
7.3 5.4 5.3

Bunu yapmak için EPEL ve Remi deposunu etkinleştireceğiz ve yum ve dnf'yi (Fedora'da bulunan yeni paket yönetim aracı) kullanacağız.

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: Apache Web Sunucusunun Kurulumu

Apache, Windows'un yanı sıra çoğu UNIX tabanlı işletim sisteminde çalışan Ücretsiz ve Açık Kaynaklı bir HTTP web sunucusudur. Bu nedenle statik web sayfalarını sunmak ve dinamik içeriği işlemek için kullanılabilir. Son raporlar Apache'nin web sitelerinde ve İnternet'e bakan bilgisayarlarda kullanılan bir numaralı sunucu olduğunu gösteriyor.

Apache web sunucusunu kurmak için öncelikle sistem yazılım paketlerini güncelleyin ve aşağıdaki komutları kullanarak kurun.

yum -y update
yum install httpd

Apache web sunucusu kurulduktan sonra, sistem önyüklemesinde otomatik olarak başlatılmasını etkinleştirmeye başlayabilirsiniz.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

Firewalld çalıştırıyorsanız, güvenlik duvarında Apache trafiğine izin verdiğinizden emin olun.

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

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, bu makalede aşağıdaki PHP modüllerinin tümünü kuracağız. Aşağıdaki komutla PHP ile ilgili daha fazla modül arayabilirsiniz (belki de web uygulamalarınızın ihtiyaç duyduğu belirli bir işlevi entegre etmek için):

------ RHEL/CentOS 7/6------
yum search all php     

------ Fedora ------
dnf search all php   

Dağıtımdan bağımsız olarak, yukarıdaki komutlar, paket adı ve/veya açıklamasında php kelimesini içeren, halihazırda etkin olan depolardaki paketlerin listesini döndürür.

İşte kuracağımız paketler. Her iki sistem de aynı istemci protokolünü ve istemci kitaplıklarını kullandığından MySQL bağlayıcılarının (PHP, Perl, Python, Java, vb.) MariaDB ile değişmeden çalışacağını lütfen unutmayın. ikili uyumludur.

  1. MariaDB/MySQL (php-mysql) – PHP'ye MariaDB desteği ekleyecek dinamik bir paylaşılan nesne.
  2. PostgreSQL (php-pgsql) – PHP için PostgreSQL veritabanı desteği.
  3. MongoDB (php-pecl-mongo) – PHP'deki MongoDB veritabanıyla iletişim kurmaya yönelik bir arayüz.
  4. Genel (php-pdo) – PHP'ye veritabanı erişimi soyutlama katmanı ekleyecek dinamik bir paylaşılan nesne.
  5. Memcache (php-pecl-memcache) – Memcached, nesneleri bellekte depolayarak veritabanı yükünü azaltmak amacıyla özellikle dinamik web uygulamaları için tasarlanmış bir önbellekleme arka plan programıdır.
  6. Memcached (php-pecl-memcached) – Memcached sunucularla iletişim kurmak için API sağlamak üzere libmemcached kitaplığını kullanan bir uzantı.
  7. GD (php-gd) – PHP'ye gd grafik kitaplığının kullanılmasına yönelik destek ekleyen dinamik bir paylaşım nesnesi.
  8. XML (php-xml) – XML belgelerini işlemek için PHP'ye destek ekleyen dinamik bir paylaşılan nesne.
  9. MBString (php-mbstring) – PHP uygulamalarında çok baytlı dizeyi işlemeye yönelik bir uzantı.
  10. MCrypt (php-mcrypt) – PHP komut dosyaları için bir Mcrypt kitaplığı.
  11. APC (php-pecl-apcu) – PHP kodunu optimize etmek ve önbelleğe almak için kullanılan APC modülü.
  12. CLI (php-cli) – PHP için komut satırı arayüzü.
  13. PEAR (php-pear) – PHP için Uygulama Havuzu çerçevesi.

Aşağıdaki gerekli PHP modüllerini aşağıdaki komutla kurun.

------ On RHEL/CentOS 7/6 ------
yum --enablerepo=remi install php-mysqlnd php-pgsql 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-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 4: MySQL veya MariaDB Veritabanının Kurulumu

Bu bölümde size hem MySQL hem de MariaDB veritabanlarının kurulumunu göstereceğiz, dolayısıyla gereksinimlerinize göre neyi seçeceğiniz size kalmış.

MySQL 8 Veritabanı Sunucusunun Kurulumu

MySQL, birden fazla veritabanına çok kullanıcılı erişim sağlayarak herhangi bir sunucuyu çalıştıran, dünyanın en popüler açık kaynaklı ilişkisel veritabanı yönetim sistemlerinden (RDBMS) biridir. MySQL Apache ile çalışır.

En son MySQL 8.0 sürümünü yüklemek için aşağıdaki komutları kullanarak resmi MySQL Yum yazılım havuzunu yükleyip etkinleştireceğiz.

rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm        [On RHEL/CentOS 7]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm     [On RHEL/CentOS 6]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc29-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc28-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc27-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc26-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc25-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc24-1.noarch.rpm    [On Fedora 29]

Linux platformunuz için MySQL Yum yazılım deposunu yükledikten sonra, şimdi aşağıdaki komutu kullanarak MySQL'in en son sürümünü (şu anda 8.0) yükleyin.

yum install mysql-community-server      [On RHEL/CentOS]
dnf install mysql-community-server      [On Fedora]

MySQL'in başarıyla kurulumundan sonra, MySQL sunucusunu aşağıdaki komutla başlatmanın zamanı geldi.

service mysqld start

MySQL 8 veritabanı kurulumunun nasıl güvenli hale getirileceğine ilişkin makalemize göz atın.

MariaDB 10 Veritabanı Sunucusunun Kurulumu

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.

Bir MySQL kullanıcısıysanız veya geçmişteyseniz, MariaDB'ye geçiş çok basit bir süreç olacaktır: veritabanlarına bağlanmak, yedeklemek, geri yüklemek ve veritabanlarını yönetmek için kullanılan popüler komutlar her iki RDBMS'de de aynıdır.

En son RHEL/CentOS 7 dağıtımında MariaDB, MySQL'in hemen yerine geçen bir üründür ve RHEL/CentOS 6'da MySQL aynı kalır ve MariaDB'yi RHEL/CentOS 6 varsayılan depodan, ancak MariaDB'yi resmi MariaDB deposunu kullanarak yükleyebilirsiniz.

RHEL/CentOS 7 dağıtımlarında 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

Not: Yukarıda söylediğim gibi, yukarıda belirtildiği gibi resmi MariaDB deposunu kullanarak MariaDB'yi RHEL/CentOS 6'ya da yükleyebilirsiniz.

MariaDB deposunu etkinleştirdikten sonra şunları yapın:

------ On RHEL/CentOS 7 ------
yum --enablerepo=remi install httpd MariaDB-client MariaDB-server

------ On Fedora ------
dnf --enablerepo=remi install httpd MariaDB-client MariaDB-server

Adım 5: Apache ve MySQL/MariaDB'yi Etkinleştirin/Başlatın

SystemD'de

------ Enable Apache and MariaDB on Boot ------
systemctl enable httpd
systemctl enable mariadb

------ Start Apache and MariaDB ------
systemctl start httpd
systemctl start mariadb

SysVinit'te

------ Enable Apache and MySQL on Boot ------
chkconfig --levels 235 httpd on
chkconfig --levels 235 mysqld on

------ Start Apache and MySQL ------
/etc/init.d/httpd start
/etc/init.d/mysqld start

Adım 6: PHP Kurulumunu Doğrulama

PHP'yi test etmenin klasik yoluna devam edelim. /var/www/html altında test.php adında 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://[server]/test.php adresine yönlendirin ve sayfayı aşağı kaydırarak yüklü modüllerin ve ek yazılımların varlığını kontrol edin ([server] ile değiştirin) kodunu> alan adınızla veya sunucunuzun IP adresiyle) kullanın. Çıktınız şuna benzer olmalıdır:

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

Not: Burada verilen talimatları izleyerek özel bir depo oluşturarak MariaDB'yi diğer dağıtımlara da yükleyebilirsiniz.