DAFTAR ISI
Tutorial ini menunjukkan kepada Anda cara menginstal beberapa versi PHP di Manjaro dan membuat host virtual Apache. Ini berguna ketika Anda memiliki beberapa aplikasi web di server Anda tetapi satu atau dua di antaranya tidak kompatibel dengan versi PHP. Tutorial ini telah penulis coba pada localhost. Jika ada kekurangan bisa memberi masukan di kolom komentar.
INSTALL BEBERAPA VERSI PHP SECARA BERSAMAAN DI MANJARO
Install PHP-FPM
PHP 7.x.x
# sudo pacman Syyu # sudo pacman php-fpm
PHP 5.6.x
# yay -S php56 php56-apache php56-fpm
Mengaktifkan mod_proxy
Tambahkan modul proxy: di “/etc/httpd/conf/httpd.conf” cari baris-baris yang dikomentari di bawah ini dan batalkan komentar.
# sudo nano /etc/httpd/conf/httpd.conf
Cari dengan menekan keyboard Ctrl + W, kemuadian copy “LoadModule proxy_module modules/mod_proxy.so” dan paste kan, dan kemudian Enter.
[…] # LoadModule proxy_module modules/mod_proxy.so # LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so […]
menjadi
[…] LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so […]
Kemudian simpan dengan tekan Ctrl + O, kemudian tekan Enter.
Konfigurasikan PHP-FPM
PHP 7.x.x
Buka “/etc/php/php-fpm.conf” dan tambahkan “include=/etc/php/php-fpm.d/*.conf” di bagian akhir php-fpm.conf jika sebelumnya belum ada.
# sudo nano /etc/php/php-fpm.conf
Buka “/etc/php/php-fpm.d/www.conf” dan cek “listen = /run/php-fpm/php-fpm.sock” apakah sudah di batalkan komentar nya atau belum, jika belum maka silahkan batalkan komentar nya.
# sudo nano /etc/php/php-fpm.d/www.conf
PHP 5.6.x
Buka “/etc/php56/php-fpm.conf” dan cek “listen = /run/php56-fpm/php56-fpm.sock” apakah sudah di batalkan komentar nya atau belum, jika belum maka silahkan batalkan komentar nya jika belum ada silahkan ditambahkan.
Beri komentar pada “include=/etc/php56/fpm.d/*.conf” dan “pid = /run/php56-fpm/php-fpm.pid”
# sudo nano /etc/php56/php-fpm.conf
Kemudian simpan dengan tekan Ctrl + O, kemudian tekan Enter.
Buat dan Aktifkan Virtual Host serta VirtualDocumentRoot
Aktifkan Virtual Host di “/etc/httpd/conf/httpd.conf” cari baris-baris yang dikomentari di bawah ini dan batalkan komentar.
“Include conf/extra/httpd-vhosts.conf”
# sudo nano /etc/httpd/conf/httpd.conf […] # Include conf/extra/httpd-vhosts.conf […]
menjadi
[…] Include conf/extra/httpd-vhosts.conf […]
Buat VirtualDocumentRoot di “/etc/httpd/conf/extra/httpd-vhosts.conf”.
PHP 7.x.x
# sudo nano /etc/httpd/conf/extra/httpd-vhosts.conf
Paste kan code berikut
<VirtualHost *:80> ServerAdmin webmaster@myblog.id ServerName myblog.id ServerAlias www.myblog.id DocumentRoot "/srv/http/myblog.id/public_html" <FilesMatch "\.php$"> SetHandler "proxy:unix:/run/php-fpm/php-fpm.sock|fcgi://localhost:8074" </FilesMatch> ErrorLog "/srv/http/myblog.id/logs/error.log" CustomLog "/srv/http/myblog.id/logs/access.log" combined <Directory /> Options FollowSymLinks DirectoryIndex index.html index.php AllowOverride All Require all granted Order deny,allow Allow from all </Directory> </VirtualHost>
PHP 5.6.x
Paste kan code berikut
<VirtualHost *:80> ServerAdmin webmaster@blog.id ServerName blog.id ServerAlias www.blog.id DocumentRoot "/srv/http/blog.id/public_html" <FilesMatch "\.php$"> SetHandler "proxy:unix:/run/php56-fpm/php56-fpm.sock|fcgi://localhost:8056" </FilesMatch> ErrorLog "/srv/http/blog.id/logs/error.log" CustomLog "/srv/http/blog.id/logs/access.log" combined <Directory /> Options FollowSymLinks DirectoryIndex index.html index.php AllowOverride All Require all granted Order deny,allow Allow from all </Directory> </VirtualHost>
Kemudian simpan dengan tekan Ctrl + O, kemudian tekan Enter.
Buat DocumentRoot untuk masing-masing versi PHP, “/srv/http/myblog.id/public_html” untuk PHP 7.x.x dan “/srv/http/blog.id/public_html” untuk PHP 5.6.x.
Jangan lupa untuk membuat DocumentLog untuk masing-masing versi PHP, “/srv/http/myblog.id/logs” untuk PHP 7.x.x dan “/srv/http/blog.id/logs” untuk PHP 5.6.x.
# sudo mkdir /srv/http/myblog.id # sudo mkdir /srv/http/myblog.id/public_html # sudo mkdir /srv/http/myblog.id/logs # sudo mkdir /srv/http/blog.id # sudo mkdir /srv/http/blog.id/public_html # sudo mkdir /srv/http/blog.id/logs
Aktifkan ServerName dan ServerAlias dari Virtual Host ke host file
# sudo nano /etc/hosts
Tambahkan “127.0.1.1 myblog.id www.myblog.id” dan “127.0.1.1 blog.id www.blog.id”
Test PHP-FPM
Buat file “info.php” ditiap DocumentRoot Virtual Host dan pastekan code berikut:
<?php phpinfo(); ?> # sudo nano /srv/http/myblog.id/public_html/info.php
Kemudian simpan dengan tekan Ctrl + O, kemudian tekan Enter.
# sudo nano /srv/http/blog.id/public_html/info.php
Kemudian simpan dengan tekan Ctrl + O, kemudian tekan Enter.
Aktifkan service Apache PHP-FPM dan MariaDB
# sudo systemctl start httpd mysqld php-fpm php56-fpm
Buka browser dan inputkan alamtnya masing-masing,
http://myblog.id/info.php untuk PHP 7.x.x
http://blog.id/info.php untuk PHP 5.6.x
PHP 7.x.x
PHP 5.6.x
Demikianlah langkah-langkah install beberapa versi php secara bersamaan di manjaro.