+1

Cài đặt Apache, MySQL, PHP trên macOS Sierra

Cài đặt Apache, MySQL, PHP trên macOS Sierra

Bài viết này sẽ hướng dẫn các bạn cài đặt Apache, MySQL, PHP (hay còn gọi là “AMP” stack) chạy trên Mac OS Sierra.

Apache/WebSharing

Web serving đã được build sẵn thông qua app Apache. Để start Apache sudo apachectl start

Để stop Apache sudo apachectl stop

Để restart Apache sudo apachectl restart

Để show version Apache httpd -v

Version mặc định của Apache trên macOS Siera là Apache/2.4.23

Sau khi restarting Apache mở browser và truy cập vào http://localhost sẽ thấy xuất hiện “It Works!“ Nếu có vấn đề gì đó của Apache mà không thấy thì có thể chạy lại file config apachectl configtest

Document Root

Document root là nơi để các file của website nó thường có các tên phổ biến như sau public_htmlhtdocs. OSX có 2 web roots một là ở mức system (system level) hai là mức người dùng (user level). Có thể setup cả hai hoặc chỉ sử dụng một.

System Level Web Root Mặc định sẽ là http://localhost/ và các file được để ở trong thư mục /Library/WebServer/Documents/

User Level Root Bạn cần tạo folder “Sites” cho account của bạn và add file “username.conf” vào bên trong /etc/apache2/users/ Có thể file đó đã có sẵn thì sẽ không cần tạo nữa. Tiếp đến là mở file và thay username theo như code bên dưới

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

Kiểm tra Permission -rw-r--r--   1 root  wheel  298 Jun 28 16:47 username.conf

nếu không giống như trên thì cần thay đổi lại quyền sudo chmod 644 username.conf

Tiếp theo mở httpd.conf và cho phép một số module bằng cách 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
LoadModule php5_module libexec/apache2/libphp5.so
Include /private/etc/apache2/extra/httpd-userdir.conf

Tiếp tục với file sudo nano /etc/apache2/extra/httpd-userdir.conf và uncomment Include /private/etc/apache2/users/*.conf

Lưu lại tất cả những thay đổi ở trên.

Cuối cùng là restart apache sudo apachectl restart

và truy cập vào http://localhost/~username/ Sẽ thấy cấu trúc folder như sau

Override .htaccess and allow URL Rewrites

Nếu như sử dụng document root là /Library/WebServer/Documents thì sẽ setting file .htaccess để ghi đè lên setting mặc định bằng cách edit httpd.conf AllowOverride thành All và edit Apache

Để URL rewrites hoạt động được thì cần uncomment module ở dưới trong file httpd.conf   LoadModule rewrite_module libexec/apache2/mod_rewrite.so

PHP

PHP 5.6.24 đã có sẵn ở macOS Sierra và cần được enable lên bằng cách uncomment trong file httpd.conf LoadModule php5_module libexec/apache2/libphp5.so

Sau đó restart lại Apache Để test PHP thì tạo file “phpinfo.php” và đặt trong folder root với nội dung bên dưới và xem trên browser <?php phpinfo(); ?>

MySQL

macOS Sierra Public Beta không làm việc tốt với MySQL 5.7.x nhưng một số vấn đề đã được giải quyết ở version MySQL 5.7.16

MySQL không được load sẵn ở macOS Sierra mà cần phải download về và cài đặt. MySQL 5.7.16 làm việc tốt với macOS nên hãy download version 5.7.16 để sử dụng http://dev.mysql.com/downloads/mysql/ Sau khi download về và mở file .dmg và tiến hành cài đặt

Khi kết thúc cài đặt thì có dialog thông báo mysql root password tạm thời và sau đó phải đổi lại password này.

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

Start với chế độ an toàn sudo mysqld_safe --skip-grant-tables

Mở một terminal mới mysql -u root

FLUSH PRIVILEGES;

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; Thay đổi MyNewPass bằng password mà bạn muốn

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

Ngoài ra để thao tác dễ dàng hơn với MySQL mà không sử dụng terminal thì có thể cài phpmyadmin.

Trên đây là bài viết hướng dẫn active AMP stack chạy trên macOS Sierra


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí