Để thiết lập môi trường phát triển web trên macOS, trước đây mình sử dụng cách tự cài đặt và cấu hình LEMP để tối ưu độ ổn định. Tuy nhiên từ khi phát hiện ra Valet / Valet Plus mình đã chuyển sang sử dụng chương trình này để thiết lập môi trường máy chủ trên máy tính chạy macOS.
Valet Plus là chương trình thiết lập môi trường phát triển web dành riêng cho macOS. Nó được phát triển dựa trên Laravel Valet, vốn được tạo ra nhằm đơn giản hoá việc thiết lập trên máy tính.
Valet Plus sẽ cài đặt toàn bộ các package cần thiết (PHP, MySQL, Nginx, DnsMasq, …) trực tiếp trên máy tính của bạn. Các thao tác điều khiển được thực hiện trực tiếp qua Command line (CLI), tương tự như Easy Engine hay CentminMod.
Dưới đây là hướng dẫn cài đặt Valet Plus cùng cách tạo website WordPress trên nền Valet Plus.
Mục Lục
I. Thiết lập Valet Plus
1. Cài đặt Homebrew
Homebrew là phần mềm quản lý các gói chương trình trên OS X – tương tự như apt trên Linux.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Code language: Bash (bash)
Chạy lệnh sau để kiểm tra xem hệ thống có gặp vấn đề gì với homebrew không.
brew doctor
Code language: Nginx (nginx)
Nếu bạn cài đặt trên hệ điều hành Sierra mới cóng, chắc chắn sẽ không có lỗi gì và sẽ thấy thông báo dưới đây
==> Installation successful!
Chạy tiếp lệnh sau để chắc chắn bạn đang sử dụng Homebrew phiên bản mới nhất
brew update && brew upgrade
2. Cài đặt PHP
Cài đặt PHP qua Homebrew bằng lệnh sau
brew tap henkrehorst/php
brew install valet-php@7.2
brew link valet-php@7.2 --force
Code language: Nginx (nginx)
3. Cài đặt Composer
Cài đặt tiếp Composer
brew install composer
Code language: Nginx (nginx)
4. Cài đặt Valet Plus
Sau khi đã cài đặt Composer, bạn cần tải về mã nguồn Valet Plus
composer global require weprovide/valet-plus
Code language: PHP (php)
Bạn cần chỉnh sửa file .bash_profile bằng lệnh sau
echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bash_profile
Code language: Bash (bash)
Chạy tiếp lệnh sau để cập nhật Terminal với thông tin .bash_profile mới được cập nhật
source ~/.bash_profile
Code language: Bash (bash)
Trước khi cài đặt Valet Plus, chạy lệnh sau để kiểm tra hệ thống đã sẵn sàng chưa
valet fix
Code language: Nginx (nginx)
Cài đặt Valet Plus bằng lệnh sau
valet install --with-mariadb
Code language: JavaScript (javascript)
Lệnh này sẽ cấu hình và cài đặt Valet+ cùng với DnsMasq. Đồng thời nó cũng sẽ tạo lệnh cho Valet tự động chạy khi khởi động máy tính.
Nếu gặp lỗi Setting password for root user failed., bạn dùng lệnh sau để thiết lập lại password cho MariaDB
sudo mysql_secure_installation
Code language: Nginx (nginx)
Sau khi cài đặt xong, chúng ta có thể thử hệ thống có hoạt động đúng không bằng cách ping vào địa chỉ web bất kỳ có đuôi *.test, ví dụ thuanbui.test
. Nếu ping thành công, nghĩa là bạn đã cài đặt Valet+ thành công
ping thuanbui.test
PING thuanbui.test (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.039 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.086 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.062 ms
Code language: Nginx (nginx)
Để cập nhật Valet+ lên phiên bản mới nhất:
composer global require weprovide/valet-plus
valet install
Code language: PHP (php)
Sửa lỗi không truy cập được localhost
Trong trường hợp ping thành công nhưng không truy cập được website trên localhost, nhiều khả năng nginx server gặp lỗi. Bạn có thể kiểm tra bằng lệnh
sudo nginx -t
Code language: Nginx (nginx)
Lỗi mình thường gặp là hệ thống báo file elasticsearch.conf không tồn tại khiến nginx bị lỗi. Bạn chỉ cần tạo 1 file là xong, rồi khởi động lại nginx
sudo nano /usr/local/etc/nginx/valet/elasticsearch.conf
brew services restart nginx
Code language: Bash (bash)
II. Cài đặt ứng dụng Web
1. Thiết lập thư mục hoạt động
Trước khi cài đặt WordPress hay bất kỳ ứng dụng PHP nào khác, chúng ta cần thiết lập thư mục hoạt động cho Valet+
- Tạo thư mục mới bằng lệnh
mkdir ~/sites
- Truy cập vào thư mục vừa tạo
cd ~/sites
- Thiết lập thư mục cài đặt cho Valet+
valet park
Từ giờ, tất cả các thự mục dự án bạn tạo trong sites đều sẽ được truy cập với tên miền https://ten-thu-muc.test.
2. Cài đặt WordPress
Để tối ưu việc cài đặt WordPress trên Valet+, chúng ta nên sử dụng WP CLI . Cài đặt package wp-cli-valet-command bằng lệnh sau:
wp package install git@github.com:aaemnnosttv/wp-cli-valet-command.git
Code language: Nginx (nginx)
Cài đặt WordPress bằng lệnh sau
wp valet new [name] wp [--db=] [--dbname=] [--dbuser=] [--dbpass=] [--dbprefix=] [--admin_user=] [--admin_password=] [--admin_email=] [--unsecure] [--portable]
Code language: CSS (css)
Bạn có thể tham khảo toàn bộ thông số cài đặt trên Github.
Dưới đây là ví dụ mình tạo trang WordPress thuanbui.test trên máy
wp valet new thuanbui --dbname="thuanbui" --dbuser="root" --dbpass="root" --dbprefix="wp1234_" --admin_user="thuanbui" --admin_password="12345678" --admin_email="hi@thuanbui.me"
Code language: Nginx (nginx)
Bạn cần thay thế các tham số name –dbname, –dbprefix, –admin_user, –admin_password, –admin_email cho phù hợp.
Sau khi cài đặt thành công, bạn sẽ nhận được thông báo
Success: thuanbui ready! https://thuanbui.test
Truy cập website https://thuanbui.test để kiểm tra thành quả
Để xoá website nào đó không còn sử dụng, sử dụng lệnh wp valet destroy
wp valet destroy <name> [--yes]
Code language: Nginx (nginx)
Valet+ còn cung cấp nhiều lệnh để bạn thay đổi phiên bản PHP, quản lý database,… Tham khảo chi tiết trên trang Github nhé: https://github.com/weprovide/valet-plus
Chúc các bạn cài đặt thành công.
Lưu ý: Nếu bạn cần hỗ trợ kỹ thuật, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời sớm. Đừng vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!