Cara menginstal PHP-FPM dengan Apache di Ubuntu 22.04. Ada dua opsi berbeda untuk menjalankan PHP menggunakan server web. Salah satunya menggunakan CGI PHP dan yang lainnya adalah FPM. FPM adalah manajer proses untuk mengelola FastCGI di PHP. Apache dikirimkan dengan mod_php
secara default dan bekerja dengan semua server web utama. Dengan mod_php
ada sedikit masalah kinerja karena mengunci proses.
Dalam panduan ini Anda akan mempelajari cara mengatur PHP 8.1-FPM dan mengonfigurasinya dengan Apache dan juga mengonfigurasi variabel PHP.
Pengaturan ini juga dapat dilakukan pada VPS lain atau VM khusus atau cloud. Penyiapan ini diuji di Google Compute Engine tetapi berfungsi di semua distribusi Ubuntu atau Linux Debian.
Memulai
Pastikan server Ubuntu Anda memiliki paket terbaru dengan menjalankan perintah berikut.
sudo apt update
sudo apt upgrade
Ini akan memperbarui indeks paket dan memperbarui paket yang diinstal ke versi terbaru.
Langkah 1:Instal PHP 8.1 FPM
Secara default Ubuntu 22.04 memiliki repositori PHP 8.1 terbaru yang ditambahkan. Jadi Anda dapat menginstal PHP menggunakan perintah berikut.
sudo apt install php8.1-fpm php8.1 libapache2-mod-php8.1 php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl php8.1-bcmath unzip -y
Tunggu hingga penginstalan selesai.
Setelah instalasi selesai, verifikasi instalasi menggunakan perintah berikut.
sudo service php8.1-fpm status
Anda akan menerima output seperti di bawah ini.
Output ● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-05-08 05:42:31 UTC; 2min ago Docs: man:php-fpm8.1(8) Process: 564 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.s> ...
Langkah 2:Instal Apache
Setelah PHP-FPM Anda aktif dan berjalan, Anda dapat menginstal server web Apache.
sudo apt install apache2
Periksa versi Apache menggunakan perintah di bawah ini
sudo apachectl -v
Output Server version: Apache/2.4.52 (Ubuntu) Server built: 2022-03-25T00:35:40
Setiap proses di Apache dikelola dengan systemctl
memerintah. Periksa status Apache dengan perintah berikut.
sudo systemctl status apache2
Output ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-05-08 05:45:29 UTC; 1min 47s ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 12782 (apache2) Tasks: 55 (limit: 1151) Memory: 5.1M CPU: 52ms CGroup: /system.slice/apache2.service ├─12782 /usr/sbin/apache2 -k start ├─12784 /usr/sbin/apache2 -k start └─12785 /usr/sbin/apache2 -k start
Langkah 3:Konfigurasi Apache dengan PHP-FPM
Secara default Apache akan menggunakan mod_php
jadi sekarang Anda dapat mengonfigurasi Apache untuk menggunakan PHP-FPM.
Nonaktifkan konfigurasi default Apache vhost.
sudo a2dissite 000-default
Aktifkan Modul Acara Apache
Nonaktifkan modul preform default untuk semua versi PHP yang ada.
sudo a2dismod php7.4
Nonaktifkan modul Apache Prefork.
sudo a2dismod mpm_prefork
Aktifkan modul Acara Apache.
sudo a2enmod mpm_event proxy_fcgi setenvif
Aktifkan Konfigurasi FPM PHP
Sekarang Anda dapat mengaktifkan konfigurasi PHP-FPM.
sudo a2enconf php8.1-fpm
Aktifkan HTTP2
Jika Anda memerlukan dukungan HTTP 2, Anda juga dapat mengaktifkannya.
sudo a2enmod http2
Sekarang Apache dikonfigurasi dengan PHP FPM.
Langkah 4:Konfigurasi PHP-FPM
Sekarang kita mengkonfigurasi PHP untuk Aplikasi Web dengan mengubah beberapa nilai di php.ini
berkas.
Untuk PHP 8.1 dengan Nginx php.ini
lokasi akan berada di direktori berikut.
sudo nano /etc/php/8.1/fpm/php.ini
Tekan F6
untuk mencari di dalam editor dan memperbarui nilai berikut untuk kinerja yang lebih baik.
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
Setelah Anda mengubah pengaturan PHP, Anda perlu memulai ulang PHP-FPM agar perubahan diterapkan.
sudo service php8.1-fpm restart
Langkah 5:Konfigurasikan Apache Virtual Host
Buat konfigurasi vhost Apache baru.
sudo nano /etc/apache2/sites-available/domain.conf
Rekatkan konfigurasi di bawah ini ke dalam file.
<VirtualHost *:80> ServerName domain.com ServerAlias www.domain.com Protocols h2 http/1.1 DocumentRoot /var/www/html/domain/public <Directory /var/www/html/domain/public> Options -Indexes +FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Tekan CTRL + X
diikuti oleh Y
dan Enter
untuk menyimpan dan keluar dari file.
Sekarang Anda dapat mengaktifkan konfigurasi Apache yang baru.
sudo a2ensite domain.conf
Mulai ulang Apache.
sudo service apache2 restart
Langkah 6:Verifikasi PHP-FPM dengan Apache
Di sini kami telah mengonfigurasi /var/www/html/domain/public
sebagai root web dalam konfigurasi Apache. Jadi sekarang Anda dapat menavigasi ke direktori itu dan membuat phpinfo
file untuk memeriksa penyiapan.
cd /var/www/html/domain/public
sudo nano info.php
Tempelkan yang berikut ini.
<?php phpinfo();
Tekan CTRL + X
diikuti oleh Y
dan Enter
untuk menyimpan dan keluar dari file.
Sekarang buka browser Anda dan arahkan ke alamat IP server atau nama domain Anda diikuti dengan info.php
. Jadi alamat Anda akan terlihat seperti ini http://domain.com/info.php
Anda akan melihat halaman info PHP dan mengonfirmasi bahwa PHP-FPM digunakan dengan Apache.
Persiapkan diri Anda untuk peran yang bekerja sebagai Profesional Teknologi Informasi dengan sistem operasi Linux
Kesimpulan
Sekarang Anda telah mempelajari cara menginstal PHP 8.1-FPM dengan Apache dan mengkonfigurasi PHP di Ubuntu 22.04. Anda juga telah belajar menyiapkan kumpulan PHP-FPM untuk banyak pengguna.