Case ini mungkin yang paling sering terjadi ketika melakukan konfigurasi server di linux khususnya turunan redhat, dalam test kali ini menggunakan Rocky Linux. Biasanya setelah installasi PHP dan Apache, newbe pada bingung, kok yang muncul script code bukan tampilan website, atau mod rewrite tidak berjalan, atau domain ngaco. berikut ini adalah penjelasan tentang pembuatan Virtual Host (vhost) di Apache dan implementasi PHP-FPM. tutorial ini di buat dengan asumsi kalian sudah menginstall apache dan php, jika belum bisa membaca artikel sebelumnya.
- Pertama kita ubah konfigurasi pada php-fpm di :
sudo vim /etc/php-fpm.d/www.conf - Ubah pada bagian listen menjadi
127.0.0.1:9000ini berfungsi bahwa php kalian hanya digunakan di server tersebut saja dan di port 9000, tidak di gunakan oleh server lain - restart php-fpm dengan perintah :
sudo systemctl restart php-fpm - install modfcgi apache dengan perintah :
sudo dnf install mod_fcgid - tahap selanjutnya melakukan konfigurasi virtual host project kalian. kalian bisa membuat file di s
udo vim /etc/httpd/conf.d/dengan konfigurasi seperti dibawah ini :
<virtualhost *:80>
ServerName project.com
ServerAdmin info@project.com
<Directory "/var/www/html/project">
AllowOverride all
</Directory>
DocumentRoot /var/www/html/project/public
ErrorLog logs/project-error_log
CustomLog logs/project-access_log common
RewriteEngine on
ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://127.0.0.1:9000/var/www/html/project/public"
</virtualhost>
Penjelasan di config di atas :
Virtualhost: web ini hanya bisa di akses melalui port 80ServerName: nama server nya adalah project.com ini untuk memudahkan pada saat kita pointing domain, apache ga bingung di mau arahkan ke project manaServerAdmin, sesuai namanya ini hanya berupa informasi, klo mau di skip bisa – bisa ajaDirectoryproject dimana dan pastikan direktori tersebut di izinkan untuk eksekusi semua directiveDocumentRoot, ini adalah root folder yang pertama kali script akan di eksekusi, biasanya ini berisi index.phpErrorLogsesuai namanya ini buat path error log di simpan dimanaCustomLogsesuai untuk log di luar error seperti access log-
RewriteEngineon, ini digunakan untuk memastikan bahwa project ini menggunakan modules rewrite apache ProxyPassMatchini kita gunakan untuk php-fpm mengeksekusi script
jika konfigurasi sudah selesai jangan lupa di restart apache nya dengan perintah : sudo systemctl restart httpd
kurang lebih itu yang bisa gw jelaskan pada artikel ini, semoga bermanfaat buat kalian, jika ada pertanyaan silahkan isi di komentar

