Konfigurasi ulang Apache dan MySQL pada macOS Sierra

Satu satunya perubahan menonjol dari OS Apple ini adalah OS X diganti dengan macOS, jadi versi saat ini tidak lagi diawali dengan OS X Sierra melainkan macOS Sierra. Perlu beberapa minggu bertapa sebelum akhirnya memutuskan untuk mencoba versi public beta yang rilis 13 June 2016 kemarin.  Setelah selesai download (sekitar 4GB-an) dan install, sebagai web developer komponen wajib untuk dicek setelah instalasi adalah web server. Pada seri El Capitan Apache dan MySQL bekerja normal, namun pada Sierra berjalan tidak sesuai dengan yang diharapkan.

macOS Sierra
macOS Sierra

Apache

Sebagai antisipasi sebetulnya pada proses upgrade macOS membuat file backup untuk konfigurasi sebelumnya:

➜  ~ ls /etc/apache2 | grep httpd
httpd.conf
httpd.conf.ampps
httpd.conf.macos-sierra
httpd.conf.pre-update
httpd.conf~
httpd.conf~previous

Jadi jika merasa nyaman dengan konfigurasi sebelumnya, tinggal disesuaikan saja value yang ada pada httpd.conf~previous ke httpd.conf.

Restart service apache dengan:

➜  ~ sudo apachectl restart

MySQL

Biasanya komponen MySQL dari seri sebelumnya masih tetap utuh, bisa dipastikan dengan connect cek semua database nya.

➜  ~ mysql -u user -p

Tapi permasalahannya adalah socket path MySQL yang sedang running tidak sesuai dengan konfigurasi default di PHP pada seri Sierra. Untuk melihat socket path yang sedang running:

➜  ~ mysqladmin variables | grep mysql.sock
| socket           | /tmp/mysql.sock

Untuk melihat konfigurasi socket MySQL di PHP sebelumnya buat script phpinfo.php pada localhost directory, kemudian akses melalui browser. Scroll down sampai pada bagian mysql.

MySQL socket PHP
MySQL socket PHP

Jika socket path di MySQL dan PHP tidak sama, maka kita perlu membuat konfigurasi di php.ini. Lagi, ini menjadi masalah baru karena seri Sierra tidak memiliki file php.ini secara default, melainkan kita harus membuatnya sendiri.

➜  ~ ls /etc/ | grep php.ini
php.ini.default
php.ini.default-previous

Buat file php.ini baru:

➜  ~ sudo nano /etc/php.ini

Kemudian tambahkan value baru, dalam hal ini socket path untuk MySQL dari perintah mysqladmin variables sebelumnya:

mysql.default_socket = /tmp/mysql.sock

Simpan (ctrl+o), dan restart Apache.

➜  ~ sudo apachectl restart

Pastikan php.ini telah di-load dengan mengakses kembali phpinfo.php yang telah dibuat:

php.ini
php.ini

Konfigurasi PHP lainnya selanjutnya bisa ditambahkan lagi kedalam php.ini yang baru dibuat, misalnya untuk menyembunyikan pesan error atau notice yang muncul di browser:

display_errors = Off

Bagi yang memutuskan untuk fresh install dan ingin menginstall kembali komponen komponen web server, bisa mereferensi ke link ini.

Comments

No comments yet. Why don’t you start the discussion?

Tinggalkan Balasan