PHP adalah salah satu bahasa pemrograman server-side yang paling banyak digunakan. Banyak CMS dan frameworks populer seperti WordPress, Magento, dan Laravel dibangun dalam PHP.

Dalam panduan ini, kita akan membahas cara menginstal PHP 7.2, 7.3, atau 7.4 di CentOS 8. Sebelum memilih versi PHP mana yang akan diinstal, pastikan aplikasi Anda mendukungnya.

Kami juga akan membahas bagaimana mengintegrasikan PHP dengan Nginx dan Apache.

Menginstal PHP di CentOS 8

CentOS 8 didistribusikan dengan PHP 7.2. Versi ini mendukung sebagian besar aplikasi PHP modern, tetapi tidak akan lagi dipertahankan secara aktif pada November 2019. Versi PHP yang lebih baru tersedia dari repositori Remi.

Aktifkan repositori Remi

Jika Anda ingin menginstal PHP versi 7.2, lewati langkah ini. Namun jika Anda ingin menginstal PHP 7.3 atau 7.4, aktifkan repositori Remi dengan menjalankan perintah berikut sebagai root atau user dengan hak sudo:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Perintah di atas juga akan memungkinkan untuk aktifkan repositori EPEL.

Setelah instalasi selesai, jalankan perintah di bawah ini untuk mendapatkan daftar semua versi PHP yang tersedia:

sudo dnf module list php

Output akan menampilkan daftar semua modul yang tersedia, termasuk stream terkait, versi, dan profil installasi.

Last metadata expiration check: 0:02:11 ago on Fri 18 Oct 2019 08:31:43 PM UTC.
CentOS-8 - AppStream
Name    Stream       Profiles                     Summary                 
php     7.2 [d][e]   common [d], devel, minimal   PHP scripting language  

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name    Stream       Profiles                     Summary                 
php     remi-7.2     common [d], devel, minimal   PHP scripting language  
php     remi-7.3     common [d], devel, minimal   PHP scripting language  
php     remi-7.4     common [d], devel, minimal   PHP scripting language  

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Modul PHP default diatur ke PHP 7.2. Untuk menginstal rilis PHP yang lebih baru, aktifkan versi yang sesuai:

Install PHP 7.3 di CentOS 8

sudo dnf module reset php
sudo dnf module enable php:remi-7.3

Install PHP 7.4 di CentOS 8

sudo dnf module reset php
sudo dnf module enable php:remi-7.4

Anda sekarang siap untuk menginstal PHP di server CentOS Anda.

Install PHP dan Modul yang Umum digunakan

Perintah berikut akan menginstal PHP dan beberapa modul PHP yang paling umum:

sudo dnf install php php-opcache php-gd php-curl php-mysqlnd

PHP menggunakan FPM sebagai dependensi dan digunakan sebagai FastCGI server. Mulai layanan FPM dan aktifkan untuk memulai secara otomatis saat boot:

sudo systemctl enable --now php-fpm

Konfigurasi PHP agar berfungsi dengan Apache

Jika Anda menggunakan Apache sebagai web server Anda, restart layanan httpd menggunakan perintah berikut :

sudo systemctl restart httpd

Konfigurasi PHP agar berfungsi dengan Nginx

Secara default, PHP FPM berjalan sebagai user. Untuk menghindari masalah izin, kita akan mengubah pengguna menjadi nginx.

sudo nano /etc/php-fpm.d/www.conf

cari dan terapkan perubahan seperti pengaturan berikut

...
user = nginx
...
group = nginx

Pastikan direktori /var/lib/php memiliki kepemilikan yang benar:

chown -R root:nginx /var/lib/php

Setelah selesai, restart PHP FPM service:

sudo systemctl restart php-fpm

Selanjutnya, edit direktif virtual host Nginx, dan tambahkan blok lokasi berikut sehingga Nginx dapat memproses file PHP:

server {

    # . . . other code

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Agar konfigurasi baru berlaku, restart layanan Nginx dengan perintah:

sudo systemctl restart nginx

Kesimpulan

PHP 7.2 tersedia untuk instalasi dari repositori CentOS 8 default. Jika Anda ingin menginstal versi terbaru, Anda harus mengaktifkan repositori Remi.