Cài đặt Laravel với Devilbox

Đây là phần thứ 6 trong tổng số 13 phần thuộc loạt bài nói về Devilbox

Laravel là một trong những PHP framework phổ biến nhất trong giới các tay chơi PHP. Nếu bạn là một PHP developer, sớm muộn gì bạn cũng sẽ nghe đến cái tên này. Trong nội dung bài viết này, tôi sẽ hướng dẫn các bạn cách thiết lập môi trường phát triển Laravel với Devilbox. Hãy yên tâm, sẽ rất thú vị vì bắt đầu từ bây giờ chúng ta sẽ chỉ dùng dòng lệnh.

Chuẩn bị

  1. Để đảm bảo bài hướng dẫn được đơn giản. Tôi sẽ sử dụng lại cấu trúc dự án đã đề xuất trong các phần trước đó. Thư mục dự án (project dir) sẽ là laravel tương ứng với domain laravel.dvl.to.
├── devilbox
├── projects
    └── laravel
  1. Cấu hình khóa HTTPD_DOCROOT_DIR trong tập tin .env sang giá trị public
HTTPD_DOCROOT_DIR=public

Mục đích là để docroot dir của dự án tương thích với cấu trúc thư mục của Laravel.

├── projects
    └── laravel
        └── public

Ok, bây giờ chúng ta sẽ bắt đầu cài đặt. À quên, nhớ khởi động Devilbox lên trước khi bắt đầu đó.

docker compose up -d

Cài đặt

Như đã biết, thư mục chứa dự án sẽ ánh xạ đến đường dẫn /shared/httpd bên trong PHP container. Còn PHP container lại đi kèm rất nhiều công cụ dòng lệnh, điển hình là Composer. Mà Laravel lại có thể cài đặt được bằng Composer. Đấy đấy, bạn bắt đầu hiểu ý tôi rồi đấy.

  1. Vậy thì đầu tiên, hãy truy cập vào bên trong PHP container. Nhắc lại nếu bạn lỡ quên là chúng ta sẽ truy cập bằng cách thực thi tập tin shell.sh trong thư mục chứa Devilbox.
./shell.sh
  1. Bây giờ chúng ta đang đứng bên trong thư mục chứa toàn bộ dự án. Việc bây giờ là cài đặt Laravel mà thôi. Như đã đề cập, chúng ta sẽ dùng Composer nhưng hãy khoan vội. Trong mục Available CLI Tools, có thể thấy rằng Devilbox đã tích hợp sẵn Laravel Installer nên để đơn giản hơn nữa, chúng ta sẽ dùng công cụ này:
laravel new laravel
  1. Hãy chuyển qua trang Virtual Hosts, bạn sẽ thấy dự án laravel đã xuất hiện với trạng thái OK. Đồng thời kèm theo URL của dự án.
  1. Thử truy cập vào URL của dự án xem nào! Tadaaa, thành công rồi.

Tuy có vẻ không được nhanh như tính năng Quick create của Laragon nhưng như tôi đã đề cập, chúng ta chỉ dùng dòng lệnh thôi. Tiếp theo, chúng ta sẽ tìm hiểu cách thiết lập một số thứ thường nhật khi làm việc với Laravel. Ví dụ như kết nối cơ sở dữ liệu MySQL.

Kết nối cơ sở dữ liệu MySQL

Mặc định, Devilbox không cài đặt mật khẩu cho tài khoản root của MySQL. Để tạo cơ sở dữ liệu mới, bạn có thể dùng phpMyAdmin có sẵn trên menu Tools. Nhưng ý tôi vẫn là hướng dẫn bạn dùng giao diện dòng lệnh. Ví dụ như tạo cơ sở dữ liệu có tên là laravel:

mysql -u root -h 127.0.0.1 -p -e 'CREATE DATABASE laravel;'

Do không có mật khẩu nên các bạn chỉ cần Enter để tiếp tục. Tiếp theo, chúng ta hãy cập nhật lại các thông tin về cơ sơ dữ liệu cho tập tin .env của Laravel:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Nếu bạn đang thắc mắc sao tôi lại biết DB_HOSTmysql thì có thể tham khảo phần Networking của Devilbox. Nơi đây chứa toàn bộ hostnameIP của các dịch vụ kèm theo Devilbox. Bây giờ bạn có thể thử chạy migrationseeder và xem kết quả.

php artisan migrate
php artisan db:seed

Kết nối cơ sở dữ liệu PostgreSQL

PostgreSQL cũng là một hệ quản trị cơ sở dữ liệu nổi tiếng không kém gì MySQL. Đương nhiên, Devilbox mặc định đã cài đặt sẵn PostgreSQL. Tài khoản mặc định cho PostgreSQL là postgres. Đương nhiên là không có mật khẩu tương tự như MySQL.

Để tạo cơ sở dữ liệu mới, bạn có thể sử dụng công cụ Adminer có sẵn từ menu Tools. Tuy nhiên, tôi lại thích dùng dòng lệnh:

psql -U postgres -h 127.0.0.1 -c 'CREATE DATABASE laravel;'

Cập nhật lại thông tin cho PostgreSQL trong tập tin .env:

DB_CONNECTION=pgsql
DB_HOST=pgsql
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=postgres
DB_PASSWORD=

Vậy là xong. Bạn hãy tự mình kiểm tra bằng cách thử chạy migration và seeder.

Kết nối Redis

Do Devilbox không cài đặt mật khẩu cho Redis nên phần cấu hình tập tin .env đơn giản chỉ cần cập nhật lại hostname mà thôi:

REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379

Devilbox cũng đã tích hợp sẵn cộng cụ PHPRedMin nằm trong mục Tools giúp bạn dễ dàng quản lý và giám sát Redis.

Node.js

Tuy Laravel là một backend framework nhưng nếu bạn phải làm việc với các công cụ front-end như Laravel Mix hay Vite thì chuyện phải cài đặt Node.js là sớm muộn mà thôi. Rất may Devilbox đã tích hợp sẵn từ Node.js, npm cho đến Yarn. Việc của bạn là chỉ cần sử dụng mà thôi. Hãy vào PHP container kiểm tra thử một chút:

node -v
npm -v
yarn -v

Devilbox cũng tích hợp rất nhiều công cụ front-end khác như webpack, eslint, sass,… Các bạn có thể tham khảo danh sách các công cụ có sẵn tại đây.

Do nội dung này liên quan nhiều đến Node.js và có phần hơi phức tạp nên tôi đã đưa nó vào riêng một bài viết. Bạn vui lòng tham khảo tại đây.

Cấu hình Xdebug

Nội dung hướng dẫn cấu hình Xdebug đã được tôi hướng dẫn chi tiết trước đó. Các bạn vui lòng tham khảo tại đây.

Kết luận

Như vậy là tôi đã hướng dẫn các bạn chi tiết cách cài đặt môi trường phát triển Laravel trên Devilbox cũng như các công cụ có liên quan. Tuy phải sử dụng dòng lệnh trong suốt quá trình hướng dẫn nhưng tôi tin rằng nó không hề quá phức tạp. Đây cũng sẽ là nền tảng để bạn làm quen với công cụ dòng lệnh cũng như hiểu được cách làm việc với một web server “gần như thật” nó sẽ như thế nào.

Để không cắt đứt cơn hứng về dòng lệnh thì trong phần tiếp theo, tôi sẽ hướng dẫn bạn cách cài đặt môi trường phát triển một CMS vô cùng nổi tiếng. Nó chiếm đến hơn 40% số lượng website có mặt trên internet. Không ai khác đó chính là WordPress. Let’s go!

© 2024 - 2025
Khuyên Nguyễn
Made with in CT