Sunday, October 16, 2016

Install mcrypt di Mac OS X Sierra

Leave a Comment
Belum lama ini apple merilis sistem operasi baru (Operation System) Mac OS X Sierra. Banyak fitur-fitur baru yang ditawarkan dalam sierra ini. Bagi para developer Web, ternyata web server apache bawaan OS ini adalah versi 2.4 dengan PHP versi 5.6.24. Masalah yang sering timbul ketika update OS X salah satunya adalah service MySQL yang harus dikonfigurasi lagi karena tidak autostart (berjalan otomatis), sehingga perlu di konfigurasi lagi daemon mysqlnya supaya di load saat OS X startup.

Penasaran dengan OS X Sierra ini, akhirnya saya melakukan upgrade OS Macbook Pro. Selain harus mengkonfigurasi ulang service mysql, permasalahan yg timbul adalah extension Mcrypt atau extension yang biasa digunakan untuk mengenkripsi dan merupakan requirement jika kita mengembangkan web dengan framework Laravel ternyata tidak built in di PHP 5.6.24.

Untuk itu, kita harus melakukan compile dan build extension mcrypt secara manual agar dapat di load di PHP. Berikut ini merupakan langkah-langkanya agar ekstensi / library mcrypt dapat di jalankan:

Install Command Line Tools

caranya buka terminal / console ketikkan perintah berikut :
xcode-select --install

Disabled SIP / rootless

nonaktifkan System Integrity Protection (SIP) untuk mengijinkan akses terhadap folder sistem yg diproteksi. Kita tidak dapat menonaktifkan SIP ini dengan normal boot harus dari recovery boot. Berikut ini caranya:
  • Restart Mac OS X
  • Masuk ke Recovery Booting (pada saat bunyi startup chime, tekan Command + R secara bersamaan sampai masuk ke recovery booting)
  • Pilih Utilities -> Terminal
  • Ketika masuk jendela terminal, ketikkan :
csrutil disable

Download libmcrypt dan PHP

Download libmcrypt 2.5.8 dan PHP 5.6.24 sesuai dengan versi php built in.
Buat folder atau direktori mcrypt di home directory dan pindahkan hasil download ke dalam folder itu.
cd ~/
mkdir mcrypt
cd mcrypt
Ekstrak hasil download dan remove file gz
tar -zxvf libmcrypt-2.5.8.tar.gz
tar -zxvf php-5.6.24.tar.gz
rm *.gz

Konfigurasi libmcrypt

cd libmcrypt-2.5.8
./configure
make
sudo make install

Install Autoconf

cd ~/mcrypt
curl -0 http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
cd autoconf-2.69/
./configure
make install
sudo make install

Compile ekstensi libmcrypt pada PHP

cd ../php-5.6.24/ext/mcrypt/
/usr/bin/phpize
Kira-kira outputnya seperti ini :
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
./configure
make
sudo make install
Hasilnya kira-kira seperti ini:
Installing shared extensions: /usr/lib/php/extension/no-debug-non-zts-220131226

Mengaktifkan mcrypt di ekstensi PHP (mcrypt.so)

Buka php ini (/etc/php.ini), pastikan extension_dl = on dan tambahkan baris berikut di akhir file:
extension=mcrypt.so
Jika file php.ini tidak ada, lakukan hal berikut:
sudo cp /etc/php.ini.default /etc/php.ini
sudo chmod u+w /etc/php.ini

Finally restart apache

sudo service apache2 restart


0 comments:

Post a Comment