- Tác giả

- Name
- Nguyễn Đức Xinh
- Ngày xuất bản
- Ngày xuất bản
Hướng dẫn cài đặt Laravel từ A-Z
Giới thiệu về Laravel
Laravel là một PHP framework mã nguồn mở, mạnh mẽ và hiện đại được phát triển bởi Taylor Otwell. Framework này được xây dựng với mục tiêu tạo ra trải nghiệm phát triển ứng dụng web một cách thanh lịch, đơn giản và dễ hiểu. Laravel đã trở thành một trong những PHP framework phổ biến nhất trên thế giới, được sử dụng bởi hàng triệu developers và các công ty lớn.
Với Laravel, bạn có thể xây dựng các ứng dụng web từ đơn giản đến phức tạp một cách nhanh chóng nhờ vào các tính năng như routing, ORM (Eloquent), authentication, caching, queue system, và nhiều công cụ mạnh mẽ khác. Tuy nhiên, trước khi có thể bắt đầu phát triển ứng dụng với Laravel, việc đầu tiên và quan trọng nhất là cài đặt Laravel framework một cách chính xác.
Yêu cầu hệ thống trước khi cài đặt Laravel
Trước khi bắt đầu cài đặt Laravel, bạn cần đảm bảo hệ thống của mình đáp ứng các yêu cầu tối thiểu sau:
Yêu cầu PHP
Laravel yêu cầu phiên bản PHP cụ thể tùy thuộc vào phiên bản Laravel bạn muốn cài đặt:
- Laravel 12.x: Yêu cầu PHP 8.2 trở lên
- Laravel 11.x: Yêu cầu PHP 8.2 trở lên
- Laravel 10.x: Yêu cầu PHP 8.1 trở lên
- Laravel 9.x: Yêu cầu PHP 8.0 trở lên
Ngoài ra, PHP cần có các extension sau được kích hoạt: BCMath, Ctype, cURL, DOM, Fileinfo, JSON, Mbstring, OpenSSL, PCRE, PDO, Tokenizer, XML
Composer
Composer là dependency manager cho PHP, và đây là công cụ không thể thiếu khi làm việc với Laravel. Bạn cần cài đặt Composer trên hệ thống của mình. Composer giúp quản lý các thư viện và dependencies của dự án Laravel một cách tự động.
Node.js và NPM hoặc Bun
Để compile frontend assets (CSS, JavaScript) của ứng dụng, bạn cần cài đặt một trong các công cụ sau:
- Node.js và NPM: Package manager phổ biến nhất
- Bun: Runtime và package manager hiện đại, nhanh hơn NPM
Cả hai đều có thể được sử dụng với Laravel để compile assets thông qua Vite.
Các công cụ bổ sung (tùy chọn)
- Database: MySQL, PostgreSQL, SQLite, hoặc SQL Server tùy theo nhu cầu của dự án
- Web Server: Apache hoặc Nginx (hoặc sử dụng built-in server của PHP cho development)
- Laravel Herd: Development environment tích hợp cho macOS và Windows (bao gồm PHP, Nginx, và các công cụ khác)
Kiểm tra môi trường hiện tại
Trước khi cài đặt Laravel, hãy kiểm tra xem hệ thống của bạn đã đáp ứng các yêu cầu chưa:
Mở terminal (hoặc Command Prompt trên Windows) và chạy lệnh:
## Kiểm tra phiên bản PHP
php -v
# Để kiểm tra các extensions đã được cài đặt, chạy lệnh:
php -m
## Hoặc kiểm tra extension cụ thể:
php -m | grep -i openssl
php -m | grep -i pdo
php -m | grep -i mbstring
# Kiểm tra xem Composer đã được cài đặt chưa:
composer --version
Nếu chưa có Composer, bạn cần cài đặt nó trước. Composer có thể được cài đặt theo nhiều cách:
Trên Windows: Tải file Composer-Setup.exe từ getcomposer.org
Trên macOS/Linux: Sử dụng lệnh:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Các phương pháp cài đặt Laravel
Theo tài liệu chính thức của Laravel, có nhiều cách để cài đặt Laravel. Hãy cùng tìm hiểu từng phương pháp theo thứ tự được khuyến nghị:
Phương pháp 1: Sử dụng Laravel Installer (Khuyến nghị)
Theo tài liệu chính thức Laravel 12.x, Laravel Installer là phương pháp được khuyến nghị để tạo ứng dụng Laravel mới. Đây là cách nhanh nhất và đơn giản nhất để bắt đầu với Laravel.
Cài đặt Laravel Installer
Trước tiên, bạn cần cài đặt Laravel Installer globally thông qua Composer:
composer global require laravel/installer
Sau đó, đảm bảo thư mục ~/.composer/vendor/bin (hoặc %APPDATA%\Composer\vendor\bin trên Windows) nằm trong PATH của hệ thống.
Trên macOS/Linux, thêm vào ~/.zshrc hoặc ~/.bashrc:
export PATH="$PATH:$HOME/.composer/vendor/bin"
Sau đó reload terminal:
source ~/.zshrc
# hoặc
source ~/.bashrc
Trên Windows, thêm vào biến môi trường PATH:
- Mở System Properties → Environment Variables
- Thêm
%APPDATA%\Composer\vendor\binvào PATH
Tạo ứng dụng Laravel mới
Sau khi cài đặt Laravel Installer, bạn có thể tạo ứng dụng Laravel mới bằng lệnh đơn giản:
laravel new my-laravel-app
Lệnh này sẽ tự động:
- Tạo project Laravel mới với phiên bản mới nhất
- Cài đặt tất cả dependencies thông qua Composer
- Tạo file
.envtừ.env.example - Generate application key tự động
- Cấu hình sẵn các thiết lập cần thiết
Quá trình cài đặt
Khi chạy laravel new, quá trình cài đặt sẽ diễn ra:
- Download Laravel framework: Tải xuống phiên bản Laravel mới nhất
- Install dependencies: Cài đặt tất cả các packages vào thư mục
vendor/ - Create .env file: Tạo file môi trường từ template
- Generate application key: Tự động tạo và cấu hình
APP_KEY - Display success message: Hiển thị thông báo cài đặt thành công
Quá trình này thường mất từ 2-5 phút tùy thuộc vào tốc độ internet và cấu hình máy tính.
Ưu điểm của Laravel Installer
- Được khuyến nghị chính thức: Là phương pháp được đề xuất trong tài liệu Laravel
- Nhanh chóng: Tối ưu hóa cho việc tạo project mới
- Cú pháp đơn giản: Chỉ cần
laravel new project-name - Tự động cấu hình: Tự động setup các cấu hình cần thiết
- Tích hợp sẵn trong Laravel Herd: Nếu sử dụng Herd, Laravel CLI đã được cài đặt sẵn
Phương pháp 2: Cài đặt Laravel qua Composer
Composer là phương pháp phổ biến và đáng tin cậy khác để cài đặt Laravel. Phương pháp này phù hợp khi bạn muốn chỉ định phiên bản Laravel cụ thể hoặc không muốn cài đặt Laravel Installer globally.
Cài đặt Laravel project mới
Để tạo một Laravel project mới bằng Composer:
composer create-project laravel/laravel my-laravel-app
Lệnh này sẽ:
- Tải xuống Laravel framework mới nhất
- Cài đặt tất cả các dependencies thông qua Composer
- Tạo cấu trúc thư mục chuẩn của Laravel
- Tạo file
.envtừ.env.example - Generate application key tự động
Cài đặt phiên bản Laravel cụ thể
Nếu bạn muốn cài đặt một phiên bản Laravel cụ thể:
composer create-project laravel/laravel my-app "12.*"
Hoặc với Laravel 11:
composer create-project laravel/laravel my-app "11.*"
Với Laravel 10:
composer create-project laravel/laravel my-app "10.*"
Phương pháp 3: Sử dụng Laravel Herd (macOS và Windows)
Laravel Herd là một development environment tích hợp, đơn giản và mạnh mẽ cho macOS và Windows. Herd cung cấp PHP, Nginx, và các công cụ cần thiết đã được cấu hình sẵn, giúp bạn bắt đầu phát triển Laravel ngay lập tức mà không cần cấu hình phức tạp.
Laravel Herd trên macOS
Nếu bạn phát triển trên macOS, bạn có thể tải Laravel Herd từ trang web chính thức của Herd. Installer sẽ tự động tải phiên bản PHP mới nhất và cấu hình Mac của bạn để chạy Nginx trong background.
Herd sử dụng dnsmasq để hỗ trợ "parked" directories. Bất kỳ ứng dụng Laravel nào trong thư mục parked sẽ tự động được phục vụ bởi Herd. Theo mặc định, Herd tạo thư mục parked tại ~/Herd và bạn có thể truy cập bất kỳ ứng dụng Laravel nào trong thư mục này trên domain .test bằng tên thư mục.
Sau khi cài đặt Herd, cách nhanh nhất để tạo ứng dụng Laravel mới là sử dụng Laravel CLI (đã được tích hợp sẵn trong Herd):
cd ~/Herd
laravel new my-app
cd my-app
herd open
Bạn cũng có thể quản lý các thư mục parked và các cài đặt PHP khác thông qua UI của Herd, có thể mở từ menu Herd trong system tray.
Laravel Herd trên Windows
Bạn có thể tải Windows installer cho Herd từ trang web Herd. Sau khi cài đặt xong, bạn có thể khởi động Herd để hoàn tất quá trình onboarding và truy cập Herd UI lần đầu tiên.
Herd UI có thể truy cập bằng cách click trái vào icon Herd trong system tray. Click phải mở menu nhanh với quyền truy cập vào tất cả các công cụ bạn cần hàng ngày.
Trong quá trình cài đặt, Herd tạo thư mục "parked" trong home directory tại %USERPROFILE%\Herd. Bất kỳ ứng dụng Laravel nào trong thư mục parked sẽ tự động được phục vụ bởi Herd, và bạn có thể truy cập bất kỳ ứng dụng Laravel nào trong thư mục này trên domain .test bằng tên thư mục.
Để bắt đầu, mở PowerShell và chạy các lệnh sau:
cd ~\Herd
laravel new my-app
cd my-app
herd open
Ưu điểm của Laravel Herd
- Zero-configuration: Không cần cấu hình PHP, Nginx, hoặc database
- Tự động phát hiện: Tự động phát hiện và phục vụ các ứng dụng Laravel
- Domain .test tự động: Mỗi ứng dụng có domain riêng trên
.test - Laravel CLI tích hợp: Laravel Installer đã được cài đặt sẵn
- UI trực quan: Giao diện đồ họa để quản lý ứng dụng và cài đặt
- Database tích hợp: Bao gồm MySQL, Postgres, và Redis
- Mail và Log viewing: Xem mail và log trực tiếp trong UI
Để tìm hiểu thêm về Herd, hãy xem tài liệu Herd chính thức.
So sánh các phương pháp cài đặt Laravel
Dựa trên tài liệu chính thức Laravel 12.x, đây là bảng so sánh các phương pháp:
| Phương pháp | Ưu điểm | Nhược điểm | Khi nào sử dụng |
|---|---|---|---|
| Laravel Installer ⭐ (Khuyến nghị) | - Được khuyến nghị chính thức<br>- Nhanh chóng và đơn giản<br>- Cú pháp dễ nhớ (laravel new)<br>- Tự động cấu hình hoàn chỉnh<br>- Tích hợp sẵn trong Herd |
- Cần cài đặt global<br>- Cần cấu hình PATH | Phương pháp được khuyến nghị, phù hợp cho hầu hết các trường hợp, đặc biệt khi thường xuyên tạo projects mới |
| Composer create-project | - Phổ biến và đáng tin cậy<br>- Không cần cài đặt global<br>- Dễ chỉ định phiên bản cụ thể<br>- Luôn cài phiên bản ổn định | - Có thể chậm hơn một chút<br>- Cần hiểu về Composer<br>- Cú pháp dài hơn | Phù hợp khi không muốn cài Laravel Installer global, hoặc cần chỉ định phiên bản cụ thể |
| Laravel Herd | - Zero-configuration<br>- Môi trường đầy đủ (PHP, Nginx, DB)<br>- UI trực quan<br>- Domain .test tự động<br>- Tích hợp Laravel CLI | - Chỉ có trên macOS và Windows<br>- Cần cài đặt ứng dụng riêng | Lý tưởng cho người mới bắt đầu trên macOS/Windows, muốn môi trường development đơn giản |
Cấu hình sau khi cài đặt
Sau khi cài đặt Laravel thành công, bạn cần thực hiện một số cấu hình cơ bản:
File .env
File .env là file cấu hình môi trường quan trọng nhất của Laravel. File này chứa các thông tin như database connection, application key, cache driver, và nhiều cấu hình khác.
Laravel tự động tạo file .env từ .env.example khi cài đặt, nhưng bạn cần kiểm tra và điều chỉnh các giá trị sau:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:...
APP_DEBUG=true
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Generate Application Key
Application key được sử dụng để mã hóa dữ liệu trong Laravel. Nếu key chưa được generate, chạy lệnh:
php artisan key:generate
Lệnh này sẽ tự động thêm APP_KEY vào file .env.
Cấu hình Database
Nếu bạn muốn sử dụng database (không bắt buộc cho việc chạy Laravel cơ bản), cần cấu hình thông tin kết nối trong file .env:
- Tạo database mới (MySQL, PostgreSQL, hoặc SQLite)
- Cập nhật thông tin trong
.env:DB_CONNECTION: Loại database (mysql, pgsql, sqlite)DB_HOST: Địa chỉ host databaseDB_PORT: Port databaseDB_DATABASE: Tên databaseDB_USERNAME: Username databaseDB_PASSWORD: Password database
Cấu hình Permissions (Linux/macOS)
Trên hệ điều hành Linux hoặc macOS, bạn cần set permissions cho các thư mục storage và bootstrap/cache:
chmod -R 775 storage
chmod -R 775 bootstrap/cache
Hoặc nếu bạn đang chạy trên web server:
sudo chown -R www-data:www-data storage
sudo chown -R www-data:www-data bootstrap/cache
Chạy Laravel Application
Sau khi cài đặt và cấu hình xong, bạn có thể chạy Laravel application theo nhiều cách:
Sử dụng Built-in PHP Server (Development)
Laravel cung cấp một development server built-in rất tiện lợi:
php artisan serve
Lệnh này sẽ khởi động server tại http://localhost:8000. Bạn có thể truy cập ứng dụng Laravel qua trình duyệt.
Để chạy trên port khác:
php artisan serve --port=8080
Hoặc chỉ định host:
php artisan serve --host=0.0.0.0 --port=8000
Kiểm tra cài đặt thành công
Sau khi chạy Laravel, bạn có thể kiểm tra xem cài đặt đã thành công chưa:
-
Truy cập trang chủ: Mở trình duyệt và truy cập
http://localhost:8000. Bạn sẽ thấy trang welcome của Laravel với logo và thông tin về framework. -
Kiểm tra version: Chạy lệnh:
php artisan --version
- Kiểm tra routes: Xem danh sách routes:
php artisan route:list
- Kiểm tra environment: Xem thông tin môi trường:
php artisan about
Best Practices khi cài đặt Laravel
Để đảm bảo quá trình cài đặt và phát triển Laravel diễn ra suôn sẻ, hãy tuân theo các best practices sau:
1. Sử dụng PHP Version Manager
Thay vì cài đặt PHP trực tiếp, sử dụng version manager như:
- phpenv (Linux/macOS)
- phpbrew (Linux/macOS)
- XAMPP/WAMP (Windows)
Điều này giúp bạn dễ dàng switch giữa các phiên bản PHP khác nhau cho các projects khác nhau.
2. Sử dụng Virtual Environments
Với Laravel, bạn có thể sử dụng Laravel Sail (Docker) để tạo môi trường development nhất quán:
composer create-project laravel/laravel example-app
cd example-app
./vendor/bin/sail up
Laravel Sail cung cấp môi trường Docker đã được cấu hình sẵn với PHP, MySQL, Redis, và các services khác.
3. Cấu hình Git Ignore
File .gitignore của Laravel đã được cấu hình tốt, nhưng đảm bảo bạn không commit:
- File
.env(chứa thông tin nhạy cảm) - Thư mục
vendor/(dependencies) - Thư mục
node_modules/(nếu có)
4. Sử dụng Environment Files
Luôn sử dụng file .env cho các cấu hình môi trường. Không hard-code các giá trị như database credentials, API keys vào code.
5. Cập nhật Dependencies thường xuyên
Định kỳ cập nhật dependencies để nhận các security patches và features mới:
composer update
Tuy nhiên, trong production, nên test kỹ trước khi update.
Kết luận
Cài đặt Laravel là bước đầu tiên và quan trọng trong hành trình phát triển ứng dụng web với framework này. Mặc dù quá trình cài đặt khá đơn giản, nhưng việc hiểu rõ các phương pháp cài đặt khác nhau, cách cấu hình môi trường, và cách xử lý các lỗi thường gặp sẽ giúp bạn tiết kiệm thời gian và tránh những rắc rối không cần thiết.
Phương pháp được khuyến nghị nhất là sử dụng Laravel Installer (laravel new) vì đây là cách nhanh chóng, đơn giản và được tối ưu hóa tốt nhất. Nếu bạn mới bắt đầu trên macOS hoặc Windows, Laravel Herd là lựa chọn tuyệt vời với môi trường development zero-configuration.
Sau khi cài đặt thành công, bạn có thể bắt đầu khám phá các tính năng mạnh mẽ của Laravel như routing, Eloquent ORM, Blade templating, và nhiều tính năng khác. Đừng quên cài đặt Node.js/NPM hoặc Bun để compile frontend assets của ứng dụng.
Hãy nhớ rằng Laravel có cộng đồng rất lớn và tài liệu phong phú. Nếu gặp vấn đề, bạn có thể tham khảo Laravel Documentation chính thức hoặc các forums như Laracasts, Laravel News, và Stack Overflow.
Chúc bạn thành công với việc cài đặt và phát triển ứng dụng Laravel!
