Instal Apache, MySQL 8 atau MariaDB 10 dan PHP 7 di CentOS 7


Panduan cara ini menjelaskan cara menginstal versi terbaru Apache, MySQL 8 atau MariaDB 10 dan PHP 7 bersama dengan modul PHP yang diperlukan pada RHEL/CentOS 7/6 dan Fedora 24-29.

Kombinasi sistem operasi (Linux) dengan server web (Apache), server database (MariaDB/MySQL) dan skrip sisi server bahasa (PHP) dikenal sebagai tumpukan LAMP.

Jangan Lewatkan: Cara Install Nginx 1.15, MariaDB 10 dan PHP 7 di CentOS 7

Sejak September 2015, PHP 5.4 tidak lagi didukung oleh tim PHP dan sudah mencapai akhir masa pakainya, namun, PHP 5.4 dikirimkan dengan RHEL/CentOS 7 /6 dengan sedikit perubahan versi dan Red Hat mendukungnya, jadi tidak diperlukan peningkatan ke versi yang lebih tinggi. Namun, sangat disarankan untuk meningkatkan PHP 5.4 Anda ke PHP 5.5+ untuk keamanan dan kinerja yang lebih baik.

Inilah yang disertakan dengan distribusi Linux Anda saat ini:

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

Untuk melakukan hal ini, kami akan mengaktifkan repositori EPEL dan Remi dan menggunakan yum dan dnf (alat manajemen paket baru yang tersedia di Fedora).

Langkah 1: Menginstal Repositori EPEL dan Remi

EPEL (Paket Ekstra untuk Linux Perusahaan) adalah repositori berbasis komunitas yang menawarkan paket perangkat lunak tambahan untuk distribusi Linux berbasis RHEL.

Remi adalah repositori tempat Anda dapat menemukan versi terbaru tumpukan PHP (berfitur lengkap) untuk instalasi di distribusi Fedora dan Enterprise Linux.

Di RHEL/CentOS 7

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

Di RHEL/CentOS 6

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

Di Fedora 24-29

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]

Langkah 2: Menginstal Server Web Apache

Apache adalah server web HTTP Gratis dan Sumber Terbuka yang berjalan pada sebagian besar sistem operasi berbasis UNIX dan juga Windows. Dengan demikian, ini dapat digunakan untuk menyajikan halaman web statis dan menangani konten dinamis. Laporan terbaru menunjukkan bahwa Apache adalah server nomor satu yang digunakan di situs web dan komputer yang terhubung ke Internet.

Untuk menginstal server web Apache, pertama-tama perbarui paket perangkat lunak sistem dan instal menggunakan perintah berikut.

yum -y update
yum install httpd

Setelah server web Apache diinstal, Anda dapat mulai mengaktifkannya untuk memulai secara otomatis saat boot sistem.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

Jika Anda menjalankan firewalld, pastikan untuk mengizinkan lalu lintas Apache di firewall.

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

Langkah 3: Menginstal PHP Menggunakan Remi Repository

PHP (Hypertext Preprocessor) adalah bahasa skrip sisi server Sumber Terbuka dan Gratis yang paling cocok untuk pengembangan web. Ini dapat digunakan untuk menghasilkan halaman web dinamis untuk situs web dan paling sering ditemukan di server *nix. Salah satu kelebihan PHP adalah mudah dikembangkan melalui penggunaan berbagai macam modul.

Untuk menginstal PHP, pertama-tama Anda perlu mengaktifkan repositori Remi dengan menginstal yum-utils, kumpulan program berguna untuk mengelola repositori dan paket yum.

yum install yum-utils

Setelah terinstal, Anda dapat menggunakan yum-config-manager yang disediakan oleh yum-utils untuk mengaktifkan repositori Remi sebagai repositori default untuk menginstal versi PHP yang berbeda seperti yang ditunjukkan.

Misalnya, untuk menginstal versi PHP 7.x, gunakan perintah berikut.

------------- 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]

Selanjutnya, kita akan menginstal semua modul PHP berikut di artikel ini. Anda dapat mencari lebih banyak modul terkait PHP (mungkin untuk mengintegrasikan fungsionalitas spesifik yang dibutuhkan aplikasi web Anda) dengan perintah berikut:

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

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

Terlepas dari distribusinya, perintah di atas mengembalikan daftar paket di repositori yang saat ini diaktifkan yang menyertakan kata php dalam nama paket dan/atau deskripsinya.

Berikut paket-paket yang akan kita install. Harap diingat bahwa konektor MySQL (PHP, Perl, Python, Java, dll.) tidak akan berubah dengan MariaDB karena kedua sistem menggunakan protokol klien dan pustaka klien yang sama kompatibel dengan biner.

  1. MariaDB/MySQL (php-mysql) – objek bersama dinamis yang akan menambahkan dukungan MariaDB ke PHP.
  2. PostgreSQL (php-pgsql) – Dukungan basis data PostgreSQL untuk PHP.
  3. MongoDB (php-pecl-mongo) – Antarmuka untuk berkomunikasi dengan database MongoDB di PHP.
  4. Generik (php-pdo) – Objek bersama dinamis yang akan menambahkan lapisan abstraksi akses database ke PHP.
  5. Memcache (php-pecl-memcache) – Memcached adalah daemon caching yang dirancang khusus untuk aplikasi web dinamis guna mengurangi beban database dengan menyimpan objek di memori.
  6. Memcached (php-pecl-memcached) – Ekstensi yang menggunakan pustaka libmemcached untuk menyediakan API untuk berkomunikasi dengan server memcached.
  7. GD (php-gd) – Objek berbagi dinamis yang menambahkan dukungan untuk penggunaan pustaka grafis gd ke PHP.
  8. XML (php-xml) – Objek bersama dinamis yang menambahkan dukungan ke PHP untuk memanipulasi dokumen XML.
  9. MBString (php-mbstring) – Ekstensi untuk menangani string multi-byte dalam aplikasi PHP.
  10. MCrypt (php-mcrypt) – Pustaka Mcrypt untuk skrip PHP.
  11. APC (php-pecl-apcu) – Modul APC yang digunakan untuk mengoptimalkan dan menyimpan kode PHP dalam cache.
  12. CLI (php-cli) – Antarmuka baris perintah untuk PHP.
  13. PEAR (php-pear) – Kerangka Repositori Aplikasi untuk PHP.

Instal modul PHP berikut yang diperlukan dengan perintah di bawah ini.

------ 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

Langkah 4: Menginstal Database MySQL atau MariaDB

Di bagian ini, kami akan menunjukkan kepada Anda instalasi database MySQL dan MariaDB, jadi terserah Anda apa yang harus dipilih berdasarkan kebutuhan Anda.

Menginstal Server Basis Data MySQL 8

MySQL adalah salah satu sistem manajemen basis data relasional (RDBMS) sumber terbuka paling populer di dunia yang menjalankan server apa pun dengan menyediakan akses multi-pengguna ke banyak basis data. MySQL berjalan dengan Apache.

Untuk menginstal versi MySQL 8.0 terbaru, kami akan menginstal dan mengaktifkan repositori perangkat lunak MySQL Yum resmi menggunakan perintah berikut.

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]

Setelah menginstal repositori perangkat lunak MySQL Yum untuk platform Linux Anda, sekarang instal versi terbaru MySQL (saat ini 8.0) menggunakan perintah berikut.

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

Setelah instalasi MySQL berhasil, saatnya memulai server MySQL dengan perintah berikut.

service mysqld start

Lihat artikel kami tentang cara mengamankan instalasi database MySQL 8.

Menginstal Server Basis Data MariaDB 10

MariaDB adalah cabang dari MySQL yang terkenal, salah satu Sistem Manajemen Basis Data Relasional (RDBMS) terpopuler di dunia. Ini sepenuhnya dikembangkan oleh komunitas dan oleh karena itu dimaksudkan untuk tetap FOSS dan kompatibel dengan GPL.

Jika Anda adalah atau pernah menjadi pengguna MySQL, migrasi ke MariaDB akan menjadi proses yang sangat mudah: perintah populer untuk menyambung, membuat cadangan dan memulihkan, serta mengelola basis data sama di kedua RDBMS.

Dalam distribusi RHEL/CentOS 7 terbaru, MariaDB adalah pengganti MySQL dan di RHEL/CentOS 6 MySQL tetap sama dan Anda tidak diperbolehkan menginstal MariaDB di RHEL/CentOS 6 dari repositori default, tetapi Anda dapat menginstal MariaDB menggunakan repositori resmi MariaDB.

Untuk mengaktifkan repositori MariaDB pada distribusi RHEL/CentOS 7, buatlah file bernama /etc/yum.repos.d/mariadb.repo dengan konten berikut:

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

Catatan: Seperti yang saya katakan di atas, Anda juga dapat menginstal MariaDB di RHEL/CentOS 6 menggunakan repositori resmi MariaDB seperti yang dinyatakan di atas.

Setelah mengaktifkan repositori MariaDB, lakukan:

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

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

Langkah 5: Aktifkan/Mulai Apache dan MySQL/MariaDB

Pada SistemD

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

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

Di SysVinit

------ 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

Langkah 6: Memverifikasi Instalasi PHP

Mari kita tetap menggunakan cara klasik dalam menguji PHP. Buat file bernama test.php di bawah /var/www/html dan tambahkan baris kode berikut ke dalamnya.

Fungsi phpinfo() menampilkan banyak informasi tentang instalasi PHP saat ini:

<?php
	phpinfo();
?>

Sekarang arahkan browser web Anda ke http://[server]/test.php dan periksa keberadaan modul yang diinstal dan perangkat lunak tambahan dengan menggulir halaman ke bawah (ganti [server] dengan domain Anda atau alamat IP server Anda). Output Anda harus serupa dengan:

Selamat! Anda sekarang memiliki instalasi tumpukan LAMP terbaru yang berfungsi. Jika ada sesuatu yang tidak berjalan sesuai harapan, jangan ragu untuk menghubungi kami menggunakan formulir di bawah ini. Pertanyaan dan saran juga diterima.

Catatan: Anda juga dapat menginstal MariaDB di distribusi lain dengan membuat repositori khusus dengan mengikuti petunjuk yang diberikan di sini.