Tutorial sebelumnya saya telah menulis mengenai cara menjalankan php5.6 dan php7.2 secara bersamaan, khusus untuk pengguna GNU/Linux distro Ubuntu. Sekarang giliran macOS.
Kebutuhan
Sudah memasang
brew
atauhomebrew
(https://brew.sh/).Sistem Operasi macOS 10.11 (EL Capitan) atau lebih. Dalam praktek di sini, saya menggunakan macOS HighSierra.
Persiapan
Koneksi internet.
vim
dan paham dasar penggunaannya.Secara default HighSierra sudah terdapat
php71
danapache
mereka perlu dinonaktifkan, kita cukup gunakanphp
danapache
bawaan daribrew
.Adapun caranya sebagai berikut:
$ sudo apachectl stop $ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
Buat direktori
Web
danlogs
diHome
kalian. Caranya:$ mkdir -p ~/Web/logs
Mengetahui
User
danGroup
yang kalian gunakan. Caranya sebagai berikut:$ ls -l ~/
Hasilnya seperti berikut:
Terlihat hasil di atas bahwa
user
yang digunakan adalahali
sedangkangroup
-nya adalahstaff
.
Pemasangan
Pasang vim
, php
terbaru, php56
dan apache
$ brew install vim
$ brew install php
$ brew install php56
$ brew install httpd
Buat symlink php56
dan pecl
-nya
$ ln -s /usr/local/opt/[email protected]/bin/php /usr/local/bin/php56
$ ln -s /usr/local/opt/[email protected]/bin/pecl /usr/local/bin/pecl56
Konfigurasi
Buat Host
$ vim /etc/hosts
Isi host
-nya seperti berikut:
127.0.0.1 localhost.php5
127.0.0.1 localhost.php7
{:filename="/etc/hosts"}
PHP-FPM
Karena dua php ingin dijalankan secara bersamaan maka port keduanya harus berbeda. Di sini, saya menggunakan php56
berjalan dengan port 9000
sedangkan php72
dengan port 9010
.
Konfigurasi php56
$ vim /usr/local/etc/php/5.6/php-fpm.conf
Sunting skrip seperti berikut:
...
[www]
user = ali
group = staff
listen = 127.0.0.1:9000
...
{:filename="/usr/local/etc/php/5.6/php-fpm.conf"}
Konfigurasi php72
$ vim /usr/local/etc/php/7.2/php-fpm.d/www.conf
Sunting skrip seperti berikut:
...
[www]
user = ali
group = staff
listen = 127.0.0.1:9010
...
{:filename="/usr/local/etc/php/7.2/php-fpm.d/www.conf"}
Apache
Buka berkas httpd.conf
di /usr/local/etc/httpd/httpd.conf
$ vim /usr/local/etc/httpd/httpd.conf
Ganti port 8080
menjadi 80
dan tambahkan ServerName
-nya kira-kira seperti berikut:
...
Listen 80
ServerName 127.0.0.1
....
{:filename="/usr/local/etc/httpd/httpd.conf"}
Aktifkan modul-modul berikut dengan meng-uncomment:
...
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
LoadModule proxy_fcgi_module lib/httpd/modules/mod_proxy_fcgi.so
LoadModule proxy_module lib/httpd/modules/mod_proxy.so
...
{:filename="/usr/local/etc/httpd/httpd.conf"}
Virtual Host
Kemudian aktifkan virtual host
:
Include /usr/local/etc/httpd/extra/httpd-vhosts.conf
{:filename="/usr/local/etc/httpd/httpd.conf"}
Sunting virtual host
nya:
$ vim /usr/local/etc/httpd/extra/httpd-vhosts.conf
Isi dengan skrip di bawah ini:
<VirtualHost *:80>
ServerName localhost.php5
DocumentRoot "/Users/ali/Web/"
ServerAdmin [email protected]
<Directory /Users/ali/Web/>
#DirectoryIndex index.php index.html
Options Indexes MultiViews FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/Users/ali/Web/$1
ErrorLog /Users/ali/Web/logs/php56-error.log
CustomLog /Users/ali/Web/logs/php56-access.log combined
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
</VirtualHost>
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost.php7
DocumentRoot "/Users/ali/Web/"
ServerAdmin [email protected]
<Directory /Users/ali/Web/>
#DirectoryIndex index.php index.html
Options Indexes MultiViews FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9010/Users/ali/Web/$1
ErrorLog /Users/ali/Web/logs/php72-error.log
CustomLog /Users/ali/Web/logs/php72-access.log combined
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
</VirtualHost>
{:filename="/usr/local/etc/httpd/extra/httpd-vhosts.conf"}
Catatan
Jika ingin langsung mengekskusi
index.php
uncommentDirectoryIndex
pada skrip di atas.
Tahap Menjalankan
Jika semua sudah selesai dikonfigurasi langkah selanjutnya tinggal kita jalankan. Sebelum dijalankan pastikan cek dulu keberhasilan konfigurasinya. Dengan cara berikut:
$ apachectl configtest
Jika hasilnya seperti berikut:
Artinya konfigurasi apache
sudah sukses. Kita tinggal jalankan.
$ sudo brew services install httpd
Jalankan juga php
-nya:
$ sudo brew services install php
$ sudo brew services install php56
Cek jika semua sudah berjalan:
$ brew services list
Semua sudah berjalan, langkah selanjutnya kita buat berkas php
untuk mengatahui ia sudah berjalan atau belum.
$ echo "<?php phpinfo();" > ~/Web/info.php
Nah tinggal tes diperamban kalian. Tautan-tauan berikut:
https://localhost.php7/info.php
https://localhost.php5/info.php
Hasilnya seperti berikut:
Semoga bermanfaat :D
Komentar