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.
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.
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:
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.