Ở bài trước mình có hướng dẫn mọi người sử dụng XAMPP để cài đặt laravel, tuy nhiên Laravel có tool cài đặt cực dễ dàng và dễ sử dụng, thậm chí bạn có thể chuyển được cả phiên bản PHP, custom domain, SSL và tất nhiên nó hỗ trợ cho Laravel rồi, và phần mềm đó tên là Valet.
Valet là gì?
Valet là một webserver cũng giống như XAMPP, MAMP mà mọi người đang dùng vậy, tuy nhiên nó có nhiều tính năng mà ở các phần mềm khác không có, và control nó chủ yếu sử dụng commanline.
Laravel Valet, không chỉ dành riêng cho Laravel, Valet còn có thể dùng cho WordPress, Magento, Drupal, HTML …
Cài Valet thì bạn sẽ có thể sử dụng Nginx, Dnsmasq để làm proxy với domain .test
ví dụ bình thường bạn phải chỉnh sửa trong file /etc/hosts
thì giờ không cần phải chỉnh sửa gì nữa, cứ tên thư mục .test là run rồi, và nó chạy như một webserver thực thụ, cái gì cần chạy dưới webserver này là chạy được hết á, thôi vào việc cài đặt nhé.
Nếu như ngày trước mình cài đặt đủ các thứ để chạy Laravel trên local giống cái valet thì thật là nhọc sức, nào là cài NGINX, nào là cài PHP, nào là cài PHP swich version, nào là cài DNSMASQ ( để có cái domain ở local ) nào là SSL … thì giờ nó include tất trong cái Valet này rồi, và sử dụng nó easy vãi chưởng ra.
Cài đặt
Valet yêu cầu bạn sử dụng trên macOS và Homebrew. Trước khi cài đặt bạn cần kiểm tra xem không có chương trình nào ví dụ Apache hoặc Nginx sử dụng port 80 của máy tính.
Các bước:
- Cài đặt hoặc update bản mới nhất của Homebrew
brew update
. - Cài đặt php 7.4 sử dụng Homebrew bằng câu lệnh
brew install php
- Cài đặt Composer.
- Sử dụng Composer để cài đặt Valet
composer global require laravel/valet
- Chạy câu lệnh
valet install
. Câu lệnh này sẽ cài đặt Valet và DnsMasq và cài đặt Valet khởi động cùng máy tính của bạn.
Sau khi cài đặt thì nếu bạn gõ bất kỳ domain nào .test
đều được trỏ về local máy tính của bạn ví dụ ping abc.test
. Nếu cài đặt đúng bạn sex thấy nó trả về IP là 127.0.0.1
Valet tự khởi động cùng hệ điều hành và bạn không cần chạy valet start
hoặc valet install
nữa.
Sử dụng domain khác?
Valet cho phép bạn sử dụng domain khác luôn, nếu bạn không muốn domain là .test
nữa thì bạn có thể chuyển thành domain khác bằng câu lệnh valet tld newdomain
Ví dụ mình muốn chuyển thành .app
thay cho .test
mình sẽ sử dụng câu lệnh valet tld app
và từ bây giờ trở đi tất cả các app của mình đều chạy dưới domain .app
Database
Cái này thì đơn giản rồi, bạn chỉ cần sử dụng câu lệnh brew install [email protected]
là bạn cài đặt được rồi, sau khi đã cài đặt thì dùng câu lệnh brew services start [email protected]
và có thể kết nối với database bằng tài khoản root
host là localhost
và không có pass.
Sử dụng phiên bản PHP
Cái này là cái mình thích bởi trước đó mình đã phải cài vài thứ mới chuyển được phiên bản PHP, cụ thể Valet cho bạn chuyển thoải mái các phiên bản PHP và nó sẽ cài mới nếu như bạn chưa cài phiên bản PHP đó, nó gần giống như NVM của thằng Node.Js vậy 😀
valet use [email protected]
Chuyển dùng phiên bản PHP 7.2
valet use php
Chuyển về dùng phiên bản php mới nhất
Chạy website PHP
Để chạy được website với Valet bạn cần phải chọn đường dẫn đến thư mục chứa code của mình cụ thể qua 2 câu lệnh sau:
Câu lệnh Park
Bạn tạo thư mục chứa code của mình ví dụ: mkdir ~/Sites
Site là thư mục chứa code, sau đó chạy câu lệnh cd ~/Sites
& valet park
Sau khi thực hiện bước trên bạn vứt bất kỳ thư mục nào vào trong ~/Sites
đều có thể chạy được dưới domain của localhost .test
mà mình viết lúc nãy.
Ví dụ mình có thư mục ~/Sites/abcdefgh/
và giờ sau khi code 1 file PHP trong này mình sẽ chạy http://abcdefgt.test
là file chạy ngon lành
Với trường hợp bạn muốn chạy 1 thư mục đặc biệt không nằm trong thư mục mà bạn chạy câu lệnh park
thì bạn chạy câu lệnh link
cụ thể như sau:
chạy câu lệnh link tenproject
sau đó bạn có thể chạy website với domain http://tenproject.test
quá tuyệt vời phải không nào?
Tóm tắt lại
Nói chung thằng Valet nó hỗ trợ anh em khá là nhiều thứ, bao gồm cả HTTPS nữa, các bạn tìm hiểu link của bên Laravel nhé, tuyệt vời giờ không phải lo lắng phiên bản hay môi trường gì cài cắm cho mệt người nữa 🙂 cài 1 lần sài cho tất cả các loại project từ HTML đến PHP 🙂
Cám ơn ông em Đức đã giúp anh update công nghệ :3