Cài đặt môi trường lập trình web trên MacOS (1): Nginx, PHP, Mysql

Cài đặt môi trường lập trình web trên macOS khá thú vị. Có rất nhiều cách, nhiều hướng, nhiều stack cài đặt để lựa chọn. Nếu bạn muốn nhanh gọn thì có thể dùng MAMP Pro, muốn đồng bộ cùng người khác trong team thì hãy xem qua Docker, Vagrant... Nhưng trong series này, mình sẽ đi theo hướng cài đặt trực tiếp trên macOS.

Homebrew

Series này sẽ chủ yếu cài đặt dựa trên homebrew, một package manager nổi tiếng dành riêng cho macOS. Trước hết, homebrew cần command line tools để có thể chạy được. Mở Terminal và chạy lệnh cài đặt.

$ xcode-select --install

Sau đó thì cài đặt homebrew

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Kiểm tra brew sau khi cài đặt.

$ brew --version
Homebrew 2.1.2
Homebrew/homebrew-core (git revision ad96; last commit 2019-05-14)

Nginx

macOS mặc định cài sẵn Apache, để chắc chắn ta nên dừng và không cho tự động load khi macOS khởi động. Có thể terminal sẽ báo path không tồn tại, không đáng lo, bạn có thể bỏ qua.

$ sudo apachectl stop
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

Cài đặt nginx thông qua homebrew

$ brew install nginx

Sau đó khởi động nginx với quyền sudo

$ sudo brew services start nginx

Mở trình duyệt web vào địa chỉ http://localhost:8080. Nếu bạn thấy như hình sau là đã cài đặt và chạy nginx thành công.

alt text

PHP

Homebrew mặc định chỉ hỗ trợ những bản php còn hạn support, chạy lệnh sau để có thể cài những bản đã deprecated như 5.6 hay 7.0

$ brew tap exolnet/homebrew-deprecated

Cài đặt php từng version theo nhu cầu, nếu không cần thiết thì chỉ cài bản stable mới nhất.

$ brew install php@5.6
$ brew install php@7.0
$ brew install php@7.1
$ brew install php@7.2
$ brew install php@7.3

Khởi động service

$ brew services start php@7.3
$ brew services start php@7.2
$ brew services start php@7.1
$ brew services start php@7.0
$ brew services start php@5.6

Kiểm tra version php

$ php -v
PHP 7.1.23 (cli) (built: Feb 22 2019 22:19:32) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

Hiện tại php cli vẫn nhận bản php mặc định có sẵn của macOS. Để có thể sử dụng đúng bản php cần, chạy câu lệnh link bản cần dùng

$ brew link --force php@7.3

Tắt và mở lại terminal, kiểm tra version php lần nữa

$ php -v
PHP 7.3.5 (cli) (built: May 2 2019 12:40:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.5, Copyright (c) 1999-2018, by Zend Technologies

Giả sử muốn switch sang php 7.2 thì unlink bản đang dùng và link bản mới

$ brew unlink php@7.3 && brew link --force php@7.2

Kiểm tra lại lần nữa, php đã là bản mới

$ php -v
PHP 7.2.18 (cli) (built: May 2 2019 13:03:01) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.18, Copyright (c) 1999-2018, by Zend Technologies

Mysql

Cài đặt mysql qua homebrew

$ brew install mysql

Sau khi cài đặt xong thì khởi động service

$ brew services start mysql

Chạy mysql lần đầu, không cần password

$ mysql -u root

Trong mysql console, set password, đổi chuỗi 'secret' thành password bạn muốn.

> USE mysql;
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'secret';
> FLUSH PRIVILEGES;
> quit;

Thử đăng nhập vào mysql bằng password vừa tạo

$ mysql -u root -p

Nếu không xui xẻo hay... quên password thì bạn có thể vào mysql console bình thường.

Phần tiếp theo...

Như vậy chúng ta đã cài đặt nginx, php và mysql. Phần 2 sẽ là phần config nginx, php cho dự án php đơn giản.

Nguồn: https://reishou.wordpress.com/2019/05/14/cai-dat-moi-truong-lap-trinh-web-tren-macos-1-nginx-php-mysql/

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Reishou

6 bài viết.
4 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
13 3
(Ảnh) Query filter là một vấn đề khá quen thuộc cho dù bạn code ngôn ngữ hay nền tảng nào. Các form search dữ liệu nâng cao với field, column cần f...
Reishou viết 3 tháng trước
13 3
White
2 0
Tạo file trait App\Http\Response.php $value) { $thisdata$key] = $value; } } public function setHeaders(array $headers) { foreach ($headers...
Reishou viết 11 tháng trước
2 0
White
1 0
Với phần 1 và phần 2 thì các bạn có thể cài đặt hầu hết các dự án php thông thường. Tuy nhiên với các dự án hơi đặc thù lại cần một số php extensio...
Reishou viết 3 tháng trước
1 0
Bài viết liên quan
White
1 0
Với phần 1 và phần 2 thì các bạn có thể cài đặt hầu hết các dự án php thông thường. Tuy nhiên với các dự án hơi đặc thù lại cần một số php extensio...
Reishou viết 3 tháng trước
1 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
6 bài viết.
4 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!