Hướng dẫn mac phpmyadmin nginx - mac phpmyadmin nginx
Có nhiều cách để giả lập môi trường máy chủ trên máy tính cá nhân để phục vụ nhu cầu phát triển web. Show
Mình đã thử qua nhiều cách khác nhau để tạo môi trường phát triển web trên máy tính nhưng tất cả các phương pháp kể trên đều không đáp ứng được đúng nhu cầu.
Lý do mình cần tạo môi trường máy chủ ảo với Nginx và MariaDB do tất cả các VPS (Virtual Private Server) mình đang dùng đều đang chạy EasyEngine (Nginx + MariaDB + PHP-FPM 5.6). Mình muốn thiết lập môi trường giả lập trên máy tính tương tự như trên VPS để hạn chế lỗi khi đồng bộ qua lại giữa localhost và server.EasyEngine (Nginx + MariaDB + PHP-FPM 5.6). Mình muốn thiết lập môi trường giả lập trên máy tính tương tự như trên VPS để hạn chế lỗi khi đồng bộ qua lại giữa localhost và server. Mình chọn cách tự cài đặt và cấu hình các ứng dụng máy chủ cần thiết trực tiếp lên Macbook của mình (không sử dụng máy chủ VirtualBox). Tuy hơi mất thời gian cài đặt ban đầu, nhưng sẽ bảo đảm độ ổn định sử dụng lâu dài. Dưới đây là các bước cài đặt trọn bộ Nginx + MariaDB + PHP-FPM 5.6 + phpMyAdmin trên Macbook Air chạy hệ điều hành Sierra 10.12.3
I. Cài đặt XCodeII. Cài đặt HomebrewXcode từ App store: Link III. Cài đặt Nginx Cấu hình xcode-select --install Chạy thử IV. Cài đặt PHP-FPM ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Cấu hình PHP CLI binary brew doctor Cấu hình tự khởi động PHP-FPM
Bảo mật hệ thống brew update && brew upgrade III. Cài đặt NginxCấu hình brew install nginx Cấu hìnhChạy thử sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/ sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist Chạy thửIV. Cài đặt PHP-FPM sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist Cấu hình PHP CLI binary curl -IL http://127.0.0.1:8080 Cấu hình tự khởi động PHP-FPM HTTP/1.1 200 OK Server: nginx/1.6.2 Date: Mon, 19 Oct 2014 19:07:47 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Mon, 19 Oct 2014 19:01:32 GMT Connection: keep-alive ETag: "5444dea7-264" Accept-Ranges: bytes V. Cài đặt MariaDB sudo launchctl unload /Library/LaunchDaemons/homebrew.mxcl.nginx.plist IV. Cài đặt PHP-FPMCấu hình PHP CLI binary ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"0 Cấu hình tự khởi động PHP-FPM Cấu hình PHP CLI binaryCấu hình tự khởi động PHP-FPM ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"1 Cấu hình tự khởi động PHP-FPMV. Cài đặt MariaDB ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"2 Bảo mật hệ thống ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"3 Chạy thử nghiệm ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"4 VII. Cấu hình hệ thống ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"5 V. Cài đặt MariaDBBảo mật hệ thống ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"6 Chạy thử nghiệm ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"7 VII. Cấu hình hệ thống ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"8 Bảo mật hệ thốngChạy thử nghiệm ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"9 brew doctor0 VII. Cấu hình hệ thống brew doctor1 Cấu hình nginx.conf brew doctor2 Cấu hình PHP-FPM brew doctor3 Cấu hình Virtual Host mặc định brew doctor4 Nhấn ENTER — Không cần dùng đến các cơ sở dữ liệu có sẵn brew doctor5 Chạy thử nghiệmbrew doctor6 Nhập vào mật khẩu root bạn vừa thiết lập ở bước trên. Nếu MySQL hoạt động bạn sẽ thấy hiện ra như sau: brew doctor7 Bạn thoát ra bằng cách gõ sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist1: brew doctor8 VI. Cài đặt phpMyAdmin Trước tiên bạn cần cài đặt sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist2 trước khi cài phpMyAdmin: brew doctor9 Chạy tiếp lệnh sau brew update && brew upgrade0 Bây giờ cài phpMyAdmin brew update && brew upgrade1 VII. Cấu hình hệ thốngSau khi đã cài đặt toàn bộ các gói phần mềm cần thiết, chúng ta cần làm thêm bước cấu hình hệ thống để các thành phần hoạt động trơn tru với nhau. Cấu hình nginx.confĐầu tiên cần tạo một số thư mục để sử dụng cấu hình trong những bước sau: brew update && brew upgrade2 Kế tiếp, thay thế file cấu hình nginx.conf mặc định bằng file cấu hình tối ưu brew update && brew upgrade3 File này đã được tối ưu, loại bỏ các thiết lập không cần thiết so với file mặc định nginx.conf.default Cấu hình PHP-FPMKế tiếp, tải file cấu hình PHP-FPM brew update && brew upgrade4 Cấu hình Virtual Host mặc địnhbrew update && brew upgrade5 Tiếp theo, tải các file mặc định để sử dụng cho trang localhost 127.0.0.1 brew update && brew upgrade6 Cấu hình SSLBước này để tạo SSL certificates và private keys. Các bạn có thể bỏ qua không cần làm. Tạo thư mục để chứa các file certificate và keys brew update && brew upgrade7 Tạo certificate và RSA key bằng lệnh sau brew update && brew upgrade8 Kích hoạt Virtual Hostbrew update && brew upgrade9 Khởi động Nginx để kiểm tra kết quả sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist Kiểm tra kết quảTất cả các bước xem như đã xong 99%. Bạn có thể kiểm tra xem hệ thống đã hoạt động ổn định chưa. Truy cập các địa chỉ sau và xem kết quả có đúng như bảng không
VIII. Cấu hình lệnh điều khiểnMặc định, mỗi khi cần tắt mở hay khởi động lại Nginx/PHP/MySQL, chúng ta phải gõ lệnh rất dài, ví dụ như lệnh sau để khởi động Nginx: sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist Câu lệnh này quá dài dòng và khó nhớ nên chúng ta cần làm thêm bước Cấu hình lệnh điều khiển để có thể ra lệnh tắt/mở hệ thống đơn giản dễ nhớ hơn. Cách làm khá đơn giản, chỉ cần chạy các lệnh sau là xong: brew install nginx2 NginxTắt/mở hay khởi động lại Nginx bằng các lệnh sau brew install nginx3 Kiểm tra log: brew install nginx4 Kiểm tra cấu hình Nginx brew install nginx5 PHP-FPMTắt/mở hay khởi động lại PHP-FPM: brew install nginx6 Kiểm tra cấu hình: brew install nginx7 MariaDB (MySQL)Tắt/mở hay khởi động lại MySQL: brew install nginx8 IX.Thiết lập Virtual HostSau khi hoàn thành bước VIII, bạn đã có thể copy file vào thư mục /var/www/ để bắt đầu làm việc. Truy cập trực tiêp web qua địa chỉ http://localhost/var/www/ để bắt đầu làm việc. Truy cập trực tiêp web qua địa chỉ http://localhost Tuy nhiên trên máy Mac, muốn truy cập vào thư mục /var/www/ rất phiền phức. Chỉ có cách dùng Terminal, không dùng được các chương trình editor như Sublime Text hay Visual Code Studio để chỉnh sửa code. Ngoài ra, bạn cũng không thể tạo ra nhiều tên miền ảo dạng như thuanbui.dev, thuandeptrai.dev,…/var/www/ rất phiền phức. Chỉ có cách dùng Terminal, không dùng được các chương trình editor như Sublime Text hay Visual Code Studio để chỉnh sửa code. Ngoài ra, bạn cũng không thể tạo ra nhiều tên miền ảo dạng như thuanbui.dev, thuandeptrai.dev,… Do đó mình làm thêm bước này để có thể tạo nhiều tên miền ảo cho từng dự án. Đồng thời dễ dàng quản lý file bằng Finder. Cài đặt DNSMasq:Để máy tính có thể truy cập các tên miền ảo .dev , chúng ta cần phải cấu hình DNS bằng cách chỉnh sửa file /etc/hosts. Ví dụ mình cần tạo ra tên miền thuanbui.dev, thêm dòng này vào /etc/hosts/etc/hosts. Ví dụ mình cần tạo ra tên miền thuanbui.dev, thêm dòng này vào /etc/hosts brew install nginx9 Phiền phức ở chỗ mỗi lần tạo ra tên miền mới, chúng ta phải quay lại chỉnh sửa mất thời gian. Giải quyết vấn đề này bằng cách dùng DNSMasq: sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/ sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist0 Sau đó thiết lập cấu hình file dnsmasq.conf trong thư mực /usr/local/etc/. sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/ sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist1 Thêm dòng này vào và lưu lại sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/ sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist2 Dòng này sẽ yêu cầu hệ thống điều hướng tất cả các tên miền dạng .dev về địa chỉ IP của localhost, 127.0.0.1 Tiếp theo, cấu hình dnsmaq tự động chạy khi khởi động máy sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/ sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist3 Cuối cùng, bạn cần phải chỉnh cấu hình DNS của Mac OS. Truy cập System Preferences và chọn Network. Vào phần DNS và thêm IP Localhost (127.0.0.1) vào đầu danh sách các IP của DNS: sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/ sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist4 Vậy là xong, bạn có thể ping thử bất kỳ tên miền nào kết thúc bằng đuôi .dev, hệ thống sẽ trả về IP tương ứng là 127.0.0.1 sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/ sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist5 Tạo Virtual Host cho tên miền .devMình muốn tạo ra tên miền thuanbui.dev để làm việc trên localhost. Đầu tiên, thiết lập thư mục root của tên miền để chứa file sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/ sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist6 Chú ý:
Kế tiếp, tạo file cấu hình nginx cho tên miền thuanbui.dev sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/ sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist7 Tuỳ theo mã nguồn bạn sử dụng mà cấu hình sẽ khác nhau. Dưới đây là ví dụ file cấu hình mình sử dụng để chạy WordPress sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/ sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist8 Chạy tiếp lệnh này để tạo file cấu hình trong thư mục sites-enables sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/ sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist9 Khởi động lại nginx sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist0 Vậy là xong. Từ giờ bạn có thể tải mã nguồn WordPress vào thư mục sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist3 sau đó truy cập sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist4 để bắt đầu làm việc. Làm lại các bước tương tự nếu bạn cần tạo thêm nhiều tên miền .dev khác. Bài viết được tổng hợp từ 2 bài hướng dẫn tiếng Anh dưới đây:
Nếu bài viết của mình mang đến thông tin, kiến thức hữu ích cho bạn, đừng ngại mời mình ly bia để có thêm động lực chia sẻ nhiều hơn nữa. Cám ơn bạn! Bài viết liên quan |