Skip to content

Instalasi PHP 8.3-FPM

Untuk menjalankan aplikasi Laravel 12 secara efisien dengan Nginx dan PostgreSQL 17, Anda memerlukan PHP 8.3-FPM dan beberapa library penting.

1. Instalasi PHP 8.3-FPM dan Ekstensi Wajib

Kita akan menggunakan repository PPA resmi Ondřej Surý untuk mendapatkan PHP 8.3, dan menginstal semua ekstensi yang dibutuhkan Laravel dan PostgreSQL.

Langkah 1: Tambahkan Repository PHP PPA

bash
# Update dan install software-properties-common
sudo apt update
sudo apt install software-properties-common -y

# Tambahkan PPA Ondrej Sury
sudo add-apt-repository ppa:ondrej/php -y

# Update daftar paket lagi
sudo apt update

Langkah 2: Instalasi PHP 8.3 dan Ekstensi Wajib

Instal PHP 8.3-FPM, CLI, dan semua ekstensi yang krusial untuk Laravel dan koneksi PostgreSQL:

bash
sudo apt install php8.3-{fpm,cli,common,curl,mbstring,xml,zip,gd,pgsql,mysql,intl} -y
EkstensiFungsi Utama di Laravel
php8.3-fpmProsesor utama yang digunakan Nginx.
php8.3-pgsqlDriver Wajib untuk koneksi ke PostgreSQL.
php8.3-mbstringMenangani encoding karakter, krusial untuk string.
php8.3-xmlDibutuhkan oleh Composer dan parsing XML.
php8.3-zipDigunakan oleh Composer untuk mengekstrak paket.
php8.3-gdUntuk manipulasi gambar dan captcha.

2. Instalasi Utilitas Sistem Wajib

Beberapa tool di tingkat sistem operasi diperlukan untuk deployment dan pemeliharaan aplikasi Laravel.

Langkah 1: Instalasi Utilitas Dasar

Instal tool yang dibutuhkan untuk deployment dan manajemen:

bash
sudo apt install git unzip ca-certificates -y
UtilitasFungsi di Server Laravel
gitMengambil (cloning) dan memperbarui kode dari repository.
unzipDiperlukan oleh Composer untuk menginstal paket terkompresi.

Langkah 2: Instalasi Composer

Composer adalah dependency manager PHP yang harus diinstal secara global.

bash
# 1. Download installer
curl -sS https://getcomposer.org/installer -o composer-setup.php

# 2. Jalankan installer dan pindahkan ke /usr/local/bin
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

# 3. Hapus installer
rm composer-setup.php

# 4. Verifikasi
composer -V

3. Konfigurasi dan Finalisasi PHP-FPM

Pastikan PHP-FPM dikonfigurasi dengan aman dan benar.

A. Konfigurasi php.ini

Sesuaikan pengaturan inti untuk performa dan batasan upload (misalnya, untuk Laravel):

bash
sudo nano /etc/php/8.3/fpm/php.ini

Ubah atau tambahkan nilai-nilai berikut:

ini
; Zona waktu yang benar (penting!)
date.timezone = Asia/Jakarta

; Batas memori untuk script
memory_limit = 256M

; Batas waktu eksekusi script (untuk proses panjang)
max_execution_time = 300

; Batas ukuran file upload
upload_max_filesize = 64M
post_max_size = 64M

B. Konfigurasi Pool Socket

Verifikasi bahwa PHP-FPM mendengarkan melalui socket yang benar, yang akan dihubungkan oleh Nginx:

bash
sudo nano /etc/php/8.3/fpm/pool.d/www.conf

Pastikan baris listen sudah disetel ke socket dan owner adalah www-data:

bash
user = www-data
group = www-data
listen = /var/run/php/php8.3-fpm.sock

C. Restart Layanan

Terapkan semua perubahan dengan me-restart PHP-FPM:

bash
sudo systemctl restart php8.3-fpm

# Cek status
sudo systemctl status php8.3-fpm