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
# 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 updateLangkah 2: Instalasi PHP 8.3 dan Ekstensi Wajib
Instal PHP 8.3-FPM, CLI, dan semua ekstensi yang krusial untuk Laravel dan koneksi PostgreSQL:
sudo apt install php8.3-{fpm,cli,common,curl,mbstring,xml,zip,gd,pgsql,mysql,intl} -y| Ekstensi | Fungsi Utama di Laravel |
|---|---|
php8.3-fpm | Prosesor utama yang digunakan Nginx. |
php8.3-pgsql | Driver Wajib untuk koneksi ke PostgreSQL. |
php8.3-mbstring | Menangani encoding karakter, krusial untuk string. |
php8.3-xml | Dibutuhkan oleh Composer dan parsing XML. |
php8.3-zip | Digunakan oleh Composer untuk mengekstrak paket. |
php8.3-gd | Untuk 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:
sudo apt install git unzip ca-certificates -y| Utilitas | Fungsi di Server Laravel |
|---|---|
git | Mengambil (cloning) dan memperbarui kode dari repository. |
unzip | Diperlukan oleh Composer untuk menginstal paket terkompresi. |
Langkah 2: Instalasi Composer
Composer adalah dependency manager PHP yang harus diinstal secara global.
# 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 -V3. 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):
sudo nano /etc/php/8.3/fpm/php.iniUbah atau tambahkan nilai-nilai berikut:
; 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 = 64MB. Konfigurasi Pool Socket
Verifikasi bahwa PHP-FPM mendengarkan melalui socket yang benar, yang akan dihubungkan oleh Nginx:
sudo nano /etc/php/8.3/fpm/pool.d/www.confPastikan baris listen sudah disetel ke socket dan owner adalah www-data:
user = www-data
group = www-data
listen = /var/run/php/php8.3-fpm.sockC. Restart Layanan
Terapkan semua perubahan dengan me-restart PHP-FPM:
sudo systemctl restart php8.3-fpm
# Cek status
sudo systemctl status php8.3-fpm