0

Install Apache, MySQL, PHP on macOS Mojave 10.14

Pada macOS Mojave, aplikasi apache sudah terinstall sebagai program bawaan. Yang perlu dilakukan hanya menjalankannya dengan command:

sudo apachectl start 

Command berikut untuk mematikan apache:

 sudo apachectl stop 

Command berikut untuk me-restart apache:

 sudo apachectl restart 

Jika ingin mengetahui versi apache yang terinstall dapat menggunakan command berikut:

 httpd -v 

Secara default, system document root untuk web server dapat dilihat di:

 /Library/WebServer/Documents/ 

Selain menggunakan lokasi yang ada pada sistem, dapat juga menggunakan lokasi yang ada pada user (User Level Root) yang ada pada folder Sites. Tambahkan username.conf pada directory:

 /etc/apache2/users/ 

Buka terminal, kemudian ketikkan command berikut:

 cd /etc/apache2/users 
 sudo nano username.conf 

nama file username.conf sesuaikan dengan nama username yang digunakan. Kemudian tambahkan kode berikut:

<Directory "/Users/username/Sites/"> 
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory> 

Dengan konfigurasi file permission:

 -rw-r--r--   1 root  wheel  298 Jun 28 16:47 username.conf 

Jika belum seperti di atas, file permission dapat diganti dengan menggunakan perintah:

 sudo chmod 644 username.conf 

Langkah selanjutnya, buka file httpd.conf, kemudian edit konfigurasi untuk beberapa module.

 sudo nano /etc/apache2/httpd.conf 

Pastikan module berikut dalam kondisi uncomment.

LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so

Jika menggunakan php, uncomment module berikut:

LoadModule php7_module libexec/apache2/libphp7.so

Jika ingin menggunakan user home directories, uncomment baris berikut:

Include /private/etc/apache2/extra/httpd-userdir.conf 

Langkah berikutnya, buka config lain untuk apache:

sudo nano /etc/apache2/extra/httpd-userdir.conf 

Uncomment baris berikut:

Include /private/etc/apache2/users/*.conf 

Kemudian restart apache server:

sudo apachectl restart 

Untuk level system document root, dapat dilihat di url:

http://localhost/ 

Untuk level user document root, dapat dilihat di url:

http://localhost/~username/ 

Jika ingin mengijinkan .htaccess untuk meng-override default setting, dapat menggunakan cara berikut:

sudo nano /etc/apache2/httpd.conf 

Dan jangan lupa, uncomment module mod_rewrite.

LoadModule rewrite_module libexec/apache2/mod_rewrite.so 

Untuk melihat konfigurasi dari apache server, dapat membuat file phpinfo.php pada document root.

<?php phpinfo(); ?> 

Secara default, MySQL tidak ter-install sebagai aplikasi bawaan dari macOS Mojave, sehingga perlu di-install secara manual. Aplikasi MySQL dapat diunduh disini.

Setelah berhasil diunduh, install MySQL dan ikuti langkah-langkahnya sampai instalasi selesai.

Setelah instalasi MySQL selesai, langkah berikutnya mengganti password user root untuk MySQL.

Stop MySQL

sudo /usr/local/mysql/support-files/mysql.server stop 

Start MySQL dalam safe mode:

sudo mysqld_safe --skip-grant-tables 

Buka tab terminal baru, kemudian login ke MySQL dengan user root, kemudian ganti password untuk root.

mysql -u root 
FLUSH PRIVILEGES; 
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; 
\q 

Start MySQL

sudo /usr/local/mysql/support-files/mysql.server start 

Connect PHP and MySQL

mkdir /var/mysql 
ln -s /tmp/mysql.sock /var/mysql/mysql.sock
sudo apachectl restart