PHP adalah bahasa skrip tujuan umum yang populer dan sangat cocok untuk pengembangan web. Ini cepat, fleksibel, dan pragmatis, mendukung segalanya mulai dari blog hingga situs web terpopuler di dunia. PHP menawarkan dukungan ekstensif untuk berbagai database, menjadikannya alat penting untuk pembuatan skrip sisi server.
Panduan berikut akan menunjukkan langkah-langkah menginstal PHP di Rocky Linux 9 atau 8 menggunakan perintah baris perintah. Metode instalasi melibatkan penggunaan repositori Remi RPM untuk versi stabil terbaru PHP 8.1, 8.2, dan 8.3.
Impor Repo PHP RPM Remi
Perbarui Rocky Linux Sebelum Instalasi PHP
Mulailah dengan memperbarui sistem Rocky Linux Anda untuk mempersiapkan instalasi PHP. Buka terminal dan masukkan:
sudo dnf upgrade --refresh
Impor Repositori PHP Remi
Pengaturan Repositori EPEL
EPEL (Paket Ekstra untuk Enterprise Linux) sangat penting untuk paket perangkat lunak tambahan di Rocky Linux. Di bawah ini adalah dua opsi untuk menginstal EPEL di Rocky Linux untuk rilis EL9 terbaru atau EL8.
Impor EPEL untuk Rocky Linux 9
Aktifkan CRB
CRB menyediakan akses ke lebih banyak alat pengembangan. Menggunakan:
sudo dnf config-manager --set-enabled crb
Instal Repositori EPEL
Untuk mendapatkan rilis EPEL terbaru untuk Rocky Linux 9:
sudo dnf install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
Gabungkan repositori Remi yang dirancang untuk EL 9:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
Impor EPEL untuk Rocky Linux 8
Aktifkan Repositori PowerTools
PowerTools sangat penting untuk alat pengembangan PHP.
sudo dnf config-manager --set-enabled powertools
Aktifkan EPEL untuk Rocky Linux 8
Instal repositori EPEL untuk Rocky Linux 8:
sudo dnf install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-8.noarch.rpm
Impor Repositori Remi EL 8
Dengan EPEL terinstal, impor Remi RPM yang berisi PHP untuk EL 8:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
Aktifkan PHP (8.x) dari Remi Repository
Memverifikasi Versi PHP
Mulailah dengan mengonfirmasi versi PHP yang tersedia di repositori Remi. Ini memastikan Anda memiliki akses ke versi PHP yang diinginkan.
Jalankan di terminal:
dnf module list php
Jika diminta, impor kunci GPG untuk repositori Remi dengan mengetik (Y).
Memilih Versi PHP Anda
Aktifkan PHP 8.3
Untuk menginstal PHP 8.3, versi stabil dan terbaru, gunakan:
sudo dnf module enable php:remi-8.3 -y
Aktifkan PHP 8.2
Untuk PHP 8.2, cocok untuk aplikasi yang memerlukan versi khusus ini:
sudo dnf module enable php:remi-8.2 -y
Aktifkan PHP 8.1
Untuk mengaktifkan PHP 8.1, ideal untuk kompatibilitas dengan aplikasi tertentu:
sudo dnf module enable php:remi-8.1 -y
Selesaikan Instalasi PHP
Menginstal PHP untuk Dukungan Apache atau Nginx
Setelah mengaktifkan repositori Remi PHP, Anda dapat menginstal PHP yang disesuaikan dengan kebutuhan web server Anda, baik Apache atau Nginx.
Instalasi PHP Apache (httpd).
sudo dnf install php php-cli -y
Instalasi Nginx PHP
sudo dnf install php-fpm php-cli -y
Memverifikasi Instalasi PHP
Konfirmasikan instalasi PHP dengan menjalankan:
php -v
Instalasi Ekstensi PHP
Instal ekstensi PHP penting berdasarkan kebutuhan proyek Anda. Hindari memasang semua ekstensi untuk menjaga kinerja dan keamanan optimal.
Instalasi Standar
sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache
Instalasi Sederhana
Untuk perintah instalasi ringkas:
sudo dnf install php-{cli,fpm,curl,mysqlnd,gd,opcache,zip,intl,common,bcmath,imagick,xmlrpc,json,readline,memcached,redis,mbstring,apcu,xml,dom,memcache}
Sekarang, mari kita uraikan fungsi masing-masing ekstensi PHP ini:
- php-cli: Antarmuka Baris Perintah untuk PHP, membantu dalam menjalankan skrip PHP di shell.
- php-fpm: FastCGI Process Manager, berguna untuk menangani dan melayani permintaan PHP.
- php-ikal: Memungkinkan Anda terhubung dan berkomunikasi dengan berbagai jenis server dan protokol.
- php-mysqlnd: MySQL Native Driver, digunakan untuk koneksi database MySQL.
- php-gd: Graphics Draw, berguna untuk membuat dan memanipulasi file gambar.
- php-opcache: Opcode Cache, digunakan untuk mempercepat eksekusi PHP.
- php-zip: Memungkinkan Anda bekerja dengan arsip zip.
- php-intl: Ekstensi internasionalisasi untuk bekerja dengan rangkaian karakter dan lokal internasional.
- php-umum: File dan pengaturan umum yang digunakan oleh beberapa modul PHP.
- php-bcmath: Kalkulator Biner memungkinkan matematika presisi sewenang-wenang.
- php-imagick: Menyediakan metode untuk membuat dan memodifikasi gambar menggunakan perpustakaan ImageMagick.
- php-xmlrpc: Memungkinkan pembuatan server XML-RPC dan memudahkan pengiriman permintaan XML-RPC.
- php-json: Ekstensi JSON (JavaScript Object Notation) untuk menyandikan dan mendekode data JSON.
- php-readline: Memungkinkan untuk membaca sebaris data dari terminal.
- php-memcached: Menyediakan caching objek memori yang cepat dan terdistribusi.
- php-redis: Ekstensi PHP untuk berinteraksi dengan Redis.
- php-mbstring: String Multi-Byte untuk menangani string non-ASCII.
- php-apcu: APC User Cache, ekstensi caching userland berdasarkan APC.
- php-xml: XML Parser untuk mem-parsing dokumen XML.
- php-dom: Model Objek Dokumen, untuk memanipulasi dokumen XML dengan cara berorientasi objek.
- php-memcache: Menyediakan antarmuka prosedural dan berorientasi objek yang praktis untuk memcached.
- php-sabun: Digunakan untuk menulis SOAP Server dan Klien.
- php-ldap: Protokol Akses Direktori Ringan yang digunakan untuk mengakses dan mengelola informasi direktori.
- php-pdo: Objek Data PHP, lapisan akses basis data yang menyediakan metode akses seragam ke beberapa basis data.
Anda dapat menggunakan perintah berikut untuk melihat modul yang dimuat kapan saja.
php -m
Pemantauan rutin dan penghapusan modul yang tidak diperlukan disarankan untuk efisiensi kinerja.
Menginstal Alat Pengembangan PHP
Untuk tujuan pengembangan, instal cabang pengembangan PHP dan alat debugging:
Cabang Pengembangan PHP
sudo dnf install php-devel
Alat Debug PHP
sudo dnf install php-xdebug php-pcov
Penting untuk dicatat bahwa menginstal versi ini akan membawa banyak ketergantungan, dan tidak disarankan untuk melakukannya kecuali Anda memiliki kebutuhan khusus untuk itu dalam pengembangan PHP Anda atau persyaratan khusus apa pun.
Konfigurasikan Pengguna PHP-FPM Nginx di Rocky Linux
Menyesuaikan PHP-FPM untuk Nginx
Distribusi berbasis RHEL seperti Rocky Linux secara default menggunakan pengguna “Apache” untuk PHP-FPM, yang tidak cocok untuk pengaturan Nginx. Penting untuk memodifikasi ini agar berfungsi optimal dengan Nginx.
Mengedit Konfigurasi PHP-FPM
Buka File Konfigurasi
Akses www.conf
file untuk diedit:
sudo nano /etc/php-fpm.d/www.conf
Ubah Pengaturan Pengguna dan Grup
Ubah pengguna dan grup Apache menjadi Nginx di dalam file.
Modifikasi pasca:
Simpan perubahan Anda dengan menekan (CTRL+O), lalu keluar dengan (CTRL+X).
Mulai ulang Layanan PHP-FPM
Setelah mengubah konfigurasi, restart PHP-FPM untuk menerapkan perubahan:
sudo systemctl restart php-fpm
Contoh Kode Blok Server Nginx PHP-FPM
Mengonfigurasi Nginx untuk Pemrosesan PHP
Agar Nginx dapat menangani file PHP, blok server harus dikonfigurasi dengan benar. Contoh berikut menunjukkan pengaturan yang diperlukan dalam server{}
blok untuk memproses file PHP.
Konfigurasi Nginx PHP-FPM
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;
}
Memvalidasi Konfigurasi Nginx
Setelah memperbarui konfigurasi, validasi untuk memastikan tidak ada kesalahan sintaksis.
sudo nginx -t
Output yang diharapkan harus mengonfirmasi bahwa konfigurasi sudah benar:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Memulai Ulang Layanan Nginx
Untuk menerapkan perubahan, restart layanan Nginx:
sudo systemctl restart nginx
Restart ini penting untuk perubahan dan agar Nginx mulai memproses file PHP dengan konfigurasi baru.
Kesimpulan
Baiklah, itu mengakhiri perjalanan kita! Kami telah berhasil menyiapkan PHP di Rocky Linux, mengubahnya untuk Apache atau Nginx dan menyempurnakan PHP-FPM untuk kinerja optimal. Ingat, memeriksa modul dan konfigurasi PHP Anda secara teratur akan menjaga semuanya berjalan lancar. Dan jangan lupa untuk memulai kembali layanan Anda setelah ada perubahan.