MacOS sangan pupuler dikalangan pengembang, baik itu untuk membuat program mobile phone (android, iOS), desktop, maupun program untuk server. Baik itu pemograman dengan bahasa C, C++, C#, java, Java Script, php, maupun bahasa pemrograman lainnya. Pada postingan kali ini, akan dibahas mengenai konfigurasi apache2 dengan beberapa versi php yang dapat konfigurabel pada operating sistem macOS. Versi macOS yang digunakan adalah versi Big Sur.
XCode Command Line Tools
Jika belum menginstall XCode
, ada baiknya install terlebih dahulu command line tools
yang nantinya diperlukan oleh homebrew.
xcode-select --install
Homebrew Installation
Homebrew
adalah sistem manajemen paket perangkat lunak sumber terbuka dan gratis yang menyederhanakan penginstalan perangkat lunak pada sistem operasi macOS Apple dan Linux. Untuk menginstall apache
dan php
dapat melalui homebrew
.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Jika sudah berhasil diinstal, untuk mengetahu versi homebrew
dapat menggunakan command:
brew --version
Untuk memeriksa status aplikasi yang sudah diinstal, dapat menggunakan command:
brew doctor
Big Sur Required Libraries
brew install openssl
Apache Installation
Jika apache
built-in sudah running, Apache
harus dimatikan terlebih dahulu, dan script
autostartnya.
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
Jika sudah dimatikan, selanjutnya install httpd
.
brew install httpd
Selanjutnya, jalankan httpd
.
brew services start httpd
Apache
dapat dikontrol dengan menggunakan brew
command:
$ brew services stop httpd
$ brew services start httpd
$ brew services restart httpd
Apache Configuration
Secara default, port yang digunakan adalah 8080. Sehingga kita perlu menggantinya ke port 80, dengan cara mengedit file httpd.conf.
nano /usr/local/etc/httpd/httpd.conf
Cari baris berikut:
Listen 8080
Kemudian ganti ke 80.
Listen 80
Langkah berikutnya adalah mengganti direktori document root
untuk apache
. Direktori ini digunakan untuk menyimpan file-file yang dijalankan pada apache
. Secara default lokasi document root
berada di /usr/local/var/www
.
DocumentRoot "/usr/local/var/www"
Ubah lokasi ke direktori user
di mana your_user
adalah nama akun pengguna.
DocumentRoot /Users/your_user/Sites
Juga ganti <
sesuai dengan Directory>
document root
.
<Directory "/Users/your_user/Sites">
Jika diperlukan ganti AllowOverride
menjadi All
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride All
Enable juga module mod_rewrite
.
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
User & Group
Sekarang kita memiliki konfigurasi apache
yang menunjuk ke direktori Sites
di direktori home
kita. Namun, masih ada satu masalah. Secara default, apache
berjalan sebagai user daemon
dan group daemon
. Ini akan menyebabkan masalah izin saat mencoba mengakses file di direktori home
kita. Ubah user
dan group
agar sesuai dengan akun pengguna Anda (ganti your_user
dengan nama pengguna dan group
dengan staff
.
User your_user
Group staff
Servername
Biasanya apache
memiliki konfigurasi untuk name server
, tetapi secara default dinonaktifkan.
#ServerName www.example.com:8080
Dan replace menjadi
ServerName localhost
Direktori Folder
Langkah berikutnya membuat direktori Sites
pada direktori home
. Untuk mencoba apakah apache
sudah berjalan atau belum, buat file di direktori Sites
.
mkdir ~/Sites
echo "<h1>User Web Root</h1>" > ~/Sites/index.html
Restart apache
untuk mengetahui perubahan.
brew services stop httpd
brew services start httpd
Buka url http://localhost
dengan browser
kesayangan untuk mencoba apache
.
PHP Installation
Untuk menginstall php
, kita memerlukan tab dari shivammathur.
brew tap shivammathur/php
Selanjutnya install php dengan bantuan shivammathur.
brew install shivammathur/php/php@5.6
brew install shivammathur/php/php@7.0
brew install shivammathur/php/php@7.1
brew install shivammathur/php/php@7.2
brew install shivammathur/php/php@7.3
brew install shivammathur/php/php@7.4
brew install shivammathur/php/php@8.0
Untuk mengkonfigurasi php, buka file php.ini.
/usr/local/etc/php/5.6/php.ini
/usr/local/etc/php/7.0/php.ini
/usr/local/etc/php/7.1/php.ini
/usr/local/etc/php/7.2/php.ini
/usr/local/etc/php/7.3/php.ini
/usr/local/etc/php/7.4/php.ini
/usr/local/etc/php/8.0/php.ini
Untuk beralih versi php yang diinginkan, gunakan command berikut:
brew unlink php && brew link --overwrite --force php@5.6
brew unlink php && brew link --overwrite --force php@7.0
brew unlink php && brew link --overwrite --force php@7.1
brew unlink php && brew link --overwrite --force php@7.2
brew unlink php && brew link --overwrite --force php@7.3
brew unlink php && brew link --overwrite --force php@7.4
brew unlink php && brew link --overwrite --force php@8.0
Untuk mengecek versi php yang digunakan, gunakan command berikut:
php -v
Konfigurasi PHP
Setelah php berhasil diinstal, langkah selanjutnya adalah konfigurasi module php pada httpd.conf.
nano /usr/local/etc/httpd/httpd.conf
Load module php
LoadModule php5_module /usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so
#LoadModule php7_module /usr/local/opt/php@7.0/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.1/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so
#LoadModule php_module /usr/local/opt/php@8.0/lib/httpd/modules/libphp.so
Selanjutnya atur Directory Index untuk php. Cari block berikut:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
Ganti menjadi:
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
Restart apache.
brew services stop httpd
brew services start httpd
Path
Pastikan path untuk php sudah benar. Tambahkan kode berikut pada file .bash_profile.
cd ~
nano .bash_profile
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
Recent Comments