cara install homebrew di mac os dan linux

Di dunia web development terdapat dua stack yang paling sering digunakan, yaitu LAMP dan LEMP. LAMP mewakili Linux Apache MySQL PHP, sedangkan LEMP mengacu ke Linux Nginx (dibaca Engine X) MySQL PHP. Perbedaan keduanya ada di sisi web server, jika LAMP berbasis Apache, maka LEMP mengandalkan Nginx. Ada cukup banyak cara untuk melakukan instalasi Apache, PHP, dan MySQL, baik di macOS maupun Linux, tapi saya lebih tertarik melakukannya dengan Homebrew.

Homebrew adalah sebuah package manager di lingkungan sistem operasi macOS dan Linux yang bekerja tanpa melibatkan library apapun dari sistem operasi. Terutama bagi Anda pengguna Linux (apapun distro-nya), instalasi package dapat dilakukan dengan perintah yang sama brew install nama_package, sederhana bukan? Dan yang paling penting, kita tidak perlu dipusingkan lagi dengan urusan package dependencies. Sekali lagi, menggunakan Homebrew hanya satu cara di antara opsi-opsi lainnya.

Catatan : perintah brew install tidak dapat dilakukan oleh user root.

Instalasi Homebrew di macOS

Sebelumnya, pastikan Anda telah memiliki Xcode dari App Store ter-install di macOS, beserta Xcode Command Line Tools nya yang di-install dengan perintah xcode-select --install melalui terminal.

Xcode

Setelah Xcode ter-install, copy paste baris perintah di bawah dan jalankan di terminal :

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Instalasi Homebrew di Linux

Berbeda dari instalasi di macOS, meng-install Homebrew di Linux membutuhkan tahapan yang “agak” panjang. Untuk keperluan contoh ini, saya menggunakan Linux Ubuntu Server 18.04.3 dan VPS (Virtual Private Server) DigitalOcean. Alasan menjadikan Ubuntu sebagai pilihan utama karena tutorial administrasi server untuk distro ini melimpah alias sangat mudah ditemukan di internet. Sedangkan VPS, sebenarnya lebih dikarenakan saya tidak memiliki komputer / laptop lain untuk di-install Linux.

Langkah 1 (dari user root) – Install Package build-essential

Package build-essential package berisi compiler dan berbagai library GCC/g++ yang dibutuhkan oleh Homebrew. Requirement lainnya dapat dibaca di https://docs.brew.sh/Homebrew-on-Linux. Ketik perintah apt install build-essential, pilih Y / Yes.

cara install homebrew di mac os dan linux

Langkah 2 (dari user root) – Buat User Baru Bernama linuxbrew

Hal ini diperlukan karena nantinya skrip instalasi akan meng-install Homebrew ke direktori /home/linuxbrew/.linuxbrew. Ketik perintah adduser linuxbrew.

cara install homebrew di mac os dan linux

Langkah 3 (sebagai user linuxbrew) – Install Skrip Homebrew

Instalasi skrip Homebrew dapat dilakukan dari root, tapi di sini saya memilih untuk meng-install nya dengan login sebagai user linuxbrew. Ketik baris perintah berikut :

sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

Masukkan password user linuxbrew agar skrip di atas dapat dijalankan :

cara install homebrew di mac os dan linux

setelah skrip berhasil di-install, seharusnya muncul peringatan Warning: /home/linuxbrew/.linuxbrew/bin is not in your PATH di akhir baris

cara install homebrew di mac os dan linux

Langkah 4 (sebagai user linuxbrew) – Tambahkan Homebrew ke PATH dan Bash Shell

Ketik dua perintah berikut secara bergantian :

test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)

test -r ~/.profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >> ~/.profile

Setelah PATH ditambahkan, ketik perintah echo $PATH dan brew untuk memastikan bahwa Homebrew telah ter-install dengan benar. Agar lebih jelas, urutannya dapat dilihat pada gambar berikut :

cara install homebrew di mac os dan linux

Instalasi dan Konfigurasi Apache

Langkah 1 (dari user linuxbrew / username_macos_anda) – Uninstall Apache Bawaan

Jika Anda sudah memiliki instalasi Apache sebelumnya (bawaan selain Homebrew), nonaktifkan terlebih dahulu service tersebut, kemudian hapus semua skrip auto-loading yang terkait. Ketik perintah di bawah untuk uninstall di macOS:

sudo apachectl stop

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

jika di Linux :

sudo service apache2 stop

sudo apt-get --purge remove apache2

sudo apt-get remove apache2-common

Langkah 2 (dari user linuxbrew / username_macos_anda) – Install Apache dengan Brew

Lanjutkan ke instalasi Apache dengan perintah brew install httpd. Di tahap ini, proses instalasi mungkin akan berjalan cukup lama karena ada beberapa package dependencies yang harus di-install terlebih dahulu sebelum httpd, sisanya bergantung dari koneksi internet dan spesifikasi hardware komputer Anda.

cara install homebrew apache

Jika berhasil, maka di akhir instalasi seharusnya akan tampil pesan You can manually execute the service instead with: apachectl start seperti gambar berikut :

cara install homebrew apache

Langkah 3 (dari user linuxbrew / username_macos_anda) – Konfigurasi Apache

Agar web server Apache dapat bekerja, kita perlu melakukan beberapa perubahan konfigurasi pada file httpd.conf :

  1. Ganti baris Listen 8080 -> menjadi Listen 80.
  2. Di dalam tag <Directory>, ganti pengaturan
    #
    # 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 None -> menjadi AllowOverride All.
  3. Singkirkan komentar (karakter #) pada baris LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
  4. Untuk macOS ganti :
    DocumentRoot "/usr/local/var/www" -> menjadi DocumentRoot "/Users/username_macos_anda/Sites"
    Samakan tag <Directory> dibawahnya -> menjadi <Directory "/Users/username_macos_anda/Sites">
    sedangkan untuk Linux “sebaiknya” tetap sama, jangan dirubah :
    DocumentRoot "/home/linuxbrew/.linuxbrew/var/www"
    <Directory "/home/linuxbrew/.linuxbrew/var/www">
  5. Atur User dan Group di dalam tag <IfModule unixd_module>
    User _www -> menjadi User username_macos_anda untuk macOS atau User linuxbrew jika Linux
    Group _www -> menjadi Group staff
  6. Singkirkan komentar (karakter #) dan ganti baris #ServerName www.example.com:8080 -> menjadi ServerName localhost

Catatan : Lokasi file httpd.conf di instalasi Homebrew macOS dapat ditemukan di /usr/local/etc/httpd/httpd.conf, sedangkan di Linux berada di /home/linuxbrew/.linuxbrew/etc/httpd/httpd.conf.

Langkah 4 (dari user linuxbrew / username_macos_anda) – Tes File index.html

Masuk ke direktori /Users/username_macos_anda/Sites untuk macOS atau direktori /home/linuxbrew/.linuxbrew/var/www untuk Linux. Buat file index.html jika belum ada, lalu isi file tersebut dengan satu baris kode HTML <h1>Selamat Datang</h1>.

cara install homebrew apache

Langkah 5 (dari user linuxbrew / username_macos_anda) – Jalankan Daemon Service httpd

Untuk menjalan daemon service httpd Anda harus login sebagai root atau melakukannya dengan perintah sudo, sebab pada lingkungan sistem operasi Unix (macOS) maupun Linux, port 1024 ke bawah hanya dapat dibuka oleh root.

cara install homebrew apache

Untuk macOS, jalankan perintah :

sudo apachectl -k restart

atau untuk Linux :

sudo /home/linuxbrew/.linuxbrew/bin/httpd -k start atau cukup /home/linuxbrew/.linuxbrew/bin/httpd -k start jika login sebagai root. Akses sudo hanya dapat diberikan oleh root lewat perintah usermod -aG sudo linuxbrew.

Untuk memastikan bahwa daemon service httpd sudah aktif, dapat menggunakan perintah ps -aef | hrep httpd.

cara install homebrew apache

Langkah 6 – Cek Hasil Instalasi Apache Melalui Browser

Ketikkan URL http://localhost di browser, jika tidak ada kesalahan, seharusnya akan tertampil pesan Selamat Datang.

cara install homebrew apache

Catatan : saya mengganti URL localhost dengan IP Address karena instalasi web server tidak saya lakukan di local, tapi secara online di VPS DigitalOcean. Penyebabnya? sudah saya utarakan di atas – harap maklum 🙂

Instalasi dan Konfigurasi PHP

Catatan : setelah web server Apache ter-install dan bekerja (daemon service httpd dijalankan), baru file .html saja yang dapat dieksekusi, sedangkan file .php masih belum didukung.

Langkah 1 (dari user linuxbrew / username_macos_anda) – Install PHP dengan Brew

Perlu diperhatikan, Homebrew secara default hanya mendukung PHP 7.2, PHP 7.3 dan PHP 7.4. Jika Anda membutuhkan versi 5.6, versi 7.0 atau versi 7.1, Anda harus terlebih dahulu menjalankan perintah brew tap exolnet/homebrew-deprecated. Ketik salah satu perintah berikut untuk meng-install PHP sesuai versi yang Anda butuhkan :

brew install php@5.6 // harus brew tap dulu
brew install php@7.0 // harus brew tap dulu
brew install php@7.1 // harus brew tap dulu
brew install php@7.2
brew install php@7.3
brew install php@7.4

Sama seperti proses instalasi Apache sebelumnya, instalasi PHP juga akan berjalan cukup lama (bahkan lebih lama) karena ada cukup banyak package yang harus di-install sebelumnya.

cara install homebrew php

Jika instalasi PHP dengan brew berhasil, maka akan tampil pesan berikut di akhir instalasi :

cara install homebrew php

Langkah 2 (sebagai user linuxbrew) – Tambahkan PHP ke PATH

Jalankan tiga perintah di bawah secara berurutan (langkah ini tidak diperlukan di macOS) :

echo 'export PATH="/home/linuxbrew/.linuxbrew/opt/php@7.3/bin:$PATH"' >> ~/.profile

echo 'export PATH="/home/linuxbrew/.linuxbrew/opt/php@7.3/sbin:$PATH"' >> ~/.profile

source ~/.profile

Setelah itu cek apakah kedua PATH di atas sudah terbaca dengan perintah echo $PATH dan jalankan perintah php -v untuk memastikan versi instalasi PHP yang Anda pilih.

cara install homebrew php

Langkah 3 (dari user linuxbrew / username_macos_anda) – Tes File info.php

Masuk ke direktori /Users/username_macos_anda/Sites untuk macOS atau direktori /home/linuxbrew/.linuxbrew/var/www untuk Linux. Buat file info.php, lalu sisipkan baris kode <?php phpinfo(); ke dalam file.

cara install homebrew php

Langkah 4 (dari user linuxbrew / username_macos_anda) – Konfigurasi PHP Pada File httpd.conf

Agar web server Apache dapat mendukung file .php, rubah kembali konfigurasi pada file httpd.conf :

Cari dan ganti blok tag berikut :
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

dengan :
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>

<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>

Langkah 5 (dari user linuxbrew / username_macos_anda) – Jalankan Ulang Daemon Service httpd

Untuk macOS :

sudo apachectl -k stop
sudo apachectl start

Untuk Linux :

sudo /home/linuxbrew/.linuxbrew/bin/httpd -k stop
sudo /home/linuxbrew/.linuxbrew/bin/httpd -k start

Diikuti perintah ps -aef | grep httpd jika ingin mengetahui apakah daemon service httpd sudah aktif atau belum.

cara install homebrew php

Langkah 6 – Cek Hasil Instalasi PHP Melalui Browser

Ketikkan URL http://localhost/info.php di browser, jika tidak ada kesalahan pada proses instalasi dan konfigurasi, seharusnya akan muncul versi PHP yang di-install seperti gambar di bawah.

cara install homebrew php

Bagi Anda yang ingin melakukan pengaturan khusus melalui file php.ini misal untuk penggunaan memory atau date.timezone, file tersebut dapat ditemukan di :

// macOS

/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

// Linux

/home/linuxbrew/.linuxbrew/etc/php/5.6/php.ini
/home/linuxbrew/.linuxbrew/etc/php/7.0/php.ini
/home/linuxbrew/.linuxbrew/etc/php/7.1/php.ini
/home/linuxbrew/.linuxbrew/etc/php/7.2/php.ini
/home/linuxbrew/.linuxbrew/etc/php/7.3/php.ini
/home/linuxbrew/.linuxbrew/etc/php/7.4/php.ini

Instalasi MySQL

MySQL bawaan yang disertakan dalam instalasi Homebrew adalah versi 8. Daemon service mysqld dapat dijalankan tanpa masalah pada Linux Ubuntu Server 18.04.3, namun tidak di macOS (10.15.3 Catalina). Dari hasil browsing dan googling sana sini, cara menyiasatinya ternyata adalah dengan meng-install package MySQL yang lebih lawas, yaitu versi 5.6.

Install MySQL versi 5.6 dengan perintah brew install mysql@5.6. Untuk menjalankan daemon service msqld di macOS, ketik baris perintah berikut secara berurutan :

// dari user_macos_anda (bukan root - tidak perlu sudo)

brew link --force mysql@5.6

brew services start mysql@5.6

atau di Linux :

// dari user linuxbrew (bukan root - tidak perlu sudo)

echo 'export PATH="/home/linuxbrew/.linuxbrew/opt/mysql@5.6/bin:$PATH"' >> ~/.profile

source ~/.profile

mysql.server start

Sebagai opsi (apabila diperlukan), Anda juga bisa mengamankan instalasi MySQL melalui perintah mysql_secure_installation, diikuti dengan langkah-langkah sebagai berikut :

  1. Set root password? [Y/n] ketik Y, lalu masukkan password untuk user root MySQL.
  2. Remove anonymous users? [Y/n] ketik Y.
  3. Disallow root login remotely? [Y/n] ketik Y.
  4. Remove test database and access to it? [Y/n] ketik Y.
  5. Reload privilege tables now? [Y/n] ketik Y.