
Giới thiệu
Laravel là một framework PHP hiện đại, cung cấp hệ sinh thái công cụ mạnh mẽ giúp lập trình viên xây dựng ứng dụng web một cách nhanh chóng, linh hoạt và bảo mật. Với kiến trúc module hóa, hiệu năng cao và khả năng mở rộng vượt trội, Laravel đã trở thành lựa chọn hàng đầu cho các nhà phát triển muốn tối ưu hóa quy trình xây dựng phần mềm.
Bài viết này sẽ hướng dẫn bạn cách cài đặt và cấu hình một ứng dụng Laravel mới trên hệ điều hành Ubuntu, sử dụng máy chủ web Nginx và hệ thống quản trị cơ sở dữ liệu MySQL.
Laravel là gì?
Laravel là một framework PHP mã nguồn mở, được thiết kế theo mô hình MVC (Model–View–Controller), cho phép tổ chức mã nguồn rõ ràng, dễ bảo trì. Kể từ khi được giới thiệu vào năm 2011 bởi Taylor Otwell, Laravel đã phát triển mạnh mẽ nhờ sự kết hợp giữa cú pháp thân thiện và khả năng xử lý tác vụ phức tạp một cách đơn giản.
Một số tính năng nổi bật của Laravel gồm:
-
Routing linh hoạt và dễ cấu hình
-
Eloquent ORM giúp tương tác với cơ sở dữ liệu như làm việc với đối tượng
-
Hệ thống migration hỗ trợ quản lý cấu trúc dữ liệu hiệu quả
-
Artisan CLI – công cụ dòng lệnh mạnh mẽ giúp tự động hóa hàng loạt thao tác phát triển
-
Cơ chế bảo mật tích hợp sẵn: CSRF, XSS, SQL Injection, xác thực người dùng…
Laravel cũng được tích hợp Blade – trình biên dịch giao diện đơn giản nhưng mạnh mẽ, cùng với các công cụ mở rộng như Forge, Envoyer, Nova, giúp triển khai ứng dụng lên môi trường thực tế nhanh hơn bao giờ hết.
Với sức mạnh linh hoạt, Laravel phù hợp từ những dự án nhỏ đến hệ thống web quy mô lớn trong doanh nghiệp.
Điều kiện cần trước khi bắt đầu
Để làm theo hướng dẫn này, bạn cần chuẩn bị:
✅ Một máy chủ chạy Ubuntu đã được cấu hình ổn định
✅ Môi trường LEMP Stack (Linux, Nginx, MySQL và PHP) đã được cài đặt sẵn
✅ Tài khoản người dùng có quyền sudo để cài đặt và quản trị hệ thống
Các bước thực hiện
Bước 1: Cài đặt các module PHP
Laravel yêu cầu một số module PHP cần thiết để hỗ trợ mã hóa ký tự, xử lý XML, và tính toán chính xác. Cài đặt các module sau:
sudo apt install php-mbstring php-xml php-bcmath
Bước 2: Tạo cơ sở dữ liệu cho ứng dụng
Tạo cơ sở dữ liệu travellist với người dùng riêng và quyền truy cập đầy đủ:
- Mở MySQL Shell:
sudo mysql
- Tạo cơ sở dữ liệu:
CREATE DATABASE travellist;
- Tạo người dùng MySQL với mật khẩu và gán quyền:
CREATE USER ‘travellist_user’@’%’ IDENTIFIED WITH mysql_native_password BY ‘password123’;
GRANT ALL ON travellist.* TO ‘travellist_user’@’%’; - Thoát MySQL Shell:
exit;
- Đăng nhập với người dùng mới và kiểm tra:
mysql -u travellist_user -p
SHOW DATABASES; - Tạo bảng dữ liệu places:
CREATE TABLE travellist.places (
id INT AUTO_INCREMENT,
name VARCHAR(255),
visited BOOLEAN,
PRIMARY KEY(id)
); - Chèn dữ liệu mẫu:
INSERT INTO travellist.places (name, visited)
VALUES (“Tokyo”, false), (“Delhi”, true), (“Shanghai”, false);
Bước 3: Tạo ứng dụng Laravel mới
- Cài đặt ứng dụng Laravel sử dụng Composer:
composer create-project –prefer-dist laravel/laravel travellist
- Di chuyển vào thư mục ứng dụng và kiểm tra:
cd travellist
php artisan
Bước 4: Cấu hình Laravel
- Mở tệp .env để chỉnh sửa thông tin môi trường:
nano .env
- Chỉnh sửa các thông số:
APP_NAME=TravelList
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=travellist
DB_USERNAME=travellist_user
DB_PASSWORD=password123 - Lưu và đóng tệp.
Bước 5: Cấu hình Nginx
- Di chuyển ứng dụng tới /var/www:
sudo mv ~/travellist /var/www/travellist
- Gán quyền sở hữu:
sudo chown -R www-data:www-data /var/www/travellist/storage
sudo chown -R www-data:www-data /var/www/travellist/bootstrap/cache - Tạo cấu hình Nginx:
sudo nano /etc/nginx/sites-available/travellist
- Thêm cấu hình:
server {
listen 80;
server_name <domain_or_ip>;
root /var/www/travellist/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
} - Kích hoạt cấu hình:
sudo ln -s /etc/nginx/sites-available/travellist /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Bước 6: Tùy chỉnh giao diện chính
- Mở tệp routes/web.php:
nano routes/web.php
- Thêm mã:
Route::get(‘/’, function () {
$visited = DB::select(‘select * from places where visited = ?’, [1]);
$togo = DB::select(‘select * from places where visited = ?’, [0]);
return view(‘travellist’, [‘visited’ => $visited, ‘togo’ => $togo]);
}); - Tạo tệp giao diện travellist.blade.php:
nano resources/views/travellist.blade.php
- Thêm mã HTML:
<html>
<head>
<title>Travel List</title>
</head>
<body>
<h1>My Travel Bucket List</h1>
<h2>Places to visit</h2>
<ul>
@foreach ($togo as $place)
<li>{{ $place->name }}</li>
@endforeach
</ul>
<h2>Already visited</h2>
<ul>
@foreach ($visited as $place)
<li>{{ $place->name }}</li>
@endforeach
</ul>
</body>
</html>
Kết luận
Qua hướng dẫn chi tiết trên, bạn đã nắm được cách cài đặt và cấu hình Laravel sử dụng LEMP stack trên Ubuntu, từ việc khởi tạo ứng dụng đến kết nối cơ sở dữ liệu và xây dựng giao diện hiển thị dữ liệu. Với khả năng mở rộng, bảo mật cao và hệ sinh thái phong phú, Laravel mang đến một quy trình phát triển web hiện đại, hiệu quả và linh hoạt.
Nếu bạn đang tìm kiếm một môi trường hạ tầng mạnh mẽ để triển khai ứng dụng Laravel hoặc các giải pháp liên quan đến AI, học máy, xử lý dữ liệu chuyên sâu – Thiết Kế Web DC là đối tác đáng tin cậy. Chúng tôi cung cấp dịch vụ thuê GPU linh hoạt, hỗ trợ truy cập từ xa, mở rộng theo nhu cầu và đảm bảo hiệu suất cao trong môi trường đám mây.
Hãy tiếp tục xem thêm các bài viết khác của chúng tôi tại Thiết kế web DC hoặc Fanpage. Nếu có nhu cầu Thuê máy chủ GPU hãy liên hệ với chúng tôi.