Hướng dẫn cài đặt Laravel 10 trên VPS Ubuntu từ A-Z

Hướng dẫn cài đặt Laravel 10 trên VPS Ubuntu chi tiết: cấu hình Nginx, PHP-FPM, MySQL, Composer, domain, SSL Let’s Encrypt và bảo mật server.

Hướng dẫn cài đặt Laravel 10 trên VPS Ubuntu từ A-Z

Cài Laravel trên VPS cần chuẩn bị gì?

Triển khai Laravel lên VPS giúp bạn chủ động về tài nguyên, cấu hình và khả năng mở rộng. Bài viết này hướng dẫn cài Laravel 10 trên Ubuntu 22.04 hoặc Ubuntu 24.04 với Nginx, PHP-FPM, MySQL, Composer và SSL Let’s Encrypt.

Bạn cần một VPS có quyền SSH và sudo, tên miền đã đăng ký, DNS quản lý được và tối thiểu khoảng 1 GB RAM cho dự án cơ bản. Hãy thay các giá trị trong dấu <...> trước khi chạy lệnh.

1. Cập nhật Ubuntu và cài các package cần thiết

Cập nhật hệ thống:

sudo apt update && sudo apt upgrade -y

Cài Nginx, MySQL, Composer phụ trợ và PHP 8.2 cùng các extension phổ biến cho Laravel:

sudo apt install -y nginx mysql-server unzip curl git php8.2-fpm php8.2-cli php8.2-mysql php8.2-xml php8.2-mbstring php8.2-curl php8.2-zip php8.2-bcmath php8.2-gd php8.2-intl php8.2-soap php8.2-readline

Bật các dịch vụ:

sudo systemctl enable --now nginx mysql php8.2-fpm

Hướng dẫn cấu hình server Apache trên VPS Ubuntu từ A-Z

Lỗi thường gặp trong lập trình Website PHP Framework Laravel

Hướng dẫn cài đặt server Linux, Nginx, MySQL, PHP trên Ubuntu

Review Hosting Hawkhost: giảm giá siêu khủng có đi cùng chất lượng?

2. Bảo mật MySQL và tạo database Laravel

Chạy công cụ bảo mật MySQL

sudo mysql_secure_installation

Nên xóa tài khoản anonymous, database thử nghiệm và hạn chế đăng nhập từ xa bằng tài khoản root.

Tạo database và user riêng

sudo mysql
CREATE DATABASE  CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER ''@'localhost' IDENTIFIED BY '';
GRANT ALL PRIVILEGES ON .* TO ''@'localhost';
FLUSH PRIVILEGES;
EXIT;

Không nên dùng tài khoản MySQL root trong file .env của Laravel.

3. Cài Composer trên VPS

Composer quản lý framework và các thư viện PHP:

cd /tmp
curl -sS https://getcomposer.org/installer | php
sudo install -m 0755 composer.phar /usr/local/bin/composer
composer --version

4. Tạo thư mục và cài Laravel 10

Tạo thư mục website và gán quyền cho user triển khai:

sudo mkdir -p /var/www/
sudo adduser 
sudo usermod -aG www-data 
sudo chown -R :www-data /var/www/

Cài Laravel 10:

sudo -u  composer create-project laravel/laravel:^10.0 /var/www/

Tạo file môi trường và khóa ứng dụng:

cd /var/www/
sudo -u  cp .env.example .env
sudo -u  php artisan key:generate --force

Cấu hình file .env

APP_URL=https://
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
DB_HOST=127.0.0.1
DB_PORT=3306

Laravel cần quyền ghi vào storage và bootstrap/cache:

sudo chown -R :www-data /var/www/
sudo chmod -R ug+rwX /var/www//storage /var/www//bootstrap/cache

5. Cấu hình Nginx cho Laravel

Tạo server block:

sudo nano /etc/nginx/sites-available/
server {
listen 80;
server_name  www.;
root /var/www//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:/run/php/php8.2-fpm.sock;
}

location ~ /.ht {
deny all;
}
}

Luôn trỏ root vào thư mục public để bảo vệ mã nguồn và file .env.

Kích hoạt cấu hình và kiểm tra:

sudo ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

6. Trỏ domain và cài SSL miễn phí

Tạo bản ghi DNS A trỏ domain về IP VPS. Khi DNS đã cập nhật, cài Certbot:

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d  -d www.
sudo certbot renew --dry-run

SSL giúp mã hóa kết nối và có thể cấu hình chuyển hướng tự động từ HTTP sang HTTPS.

7. Chạy migration và kiểm tra Laravel

Trong thư mục dự án, chạy migration nếu ứng dụng đã có cấu trúc database:

cd /var/www/
sudo -u  php artisan migrate --force
sudo -u  php artisan config:cache
sudo -u  php artisan route:cache

Kiểm tra trạng thái dịch vụ:

sudo systemctl status nginx mysql php8.2-fpm
curl -I https://

Nếu gặp lỗi 502, hãy kiểm tra PHP-FPM và đường dẫn socket. Nếu gặp lỗi 403 hoặc 404, kiểm tra quyền thư mục, server block và cấu hình route.

8. Các lưu ý bảo mật VPS Laravel

  • Không chạy website bằng tài khoản root.
  • Không đưa file .env lên Git hoặc công khai trên Internet.
  • Chỉ mở các port cần thiết như 22, 80 và 443.
  • Ưu tiên SSH key thay cho mật khẩu.
  • Không cấp quyền 777 cho toàn bộ dự án.
  • Sao lưu database và mã nguồn định kỳ.
  • Cập nhật Ubuntu, PHP, Nginx, MySQL và package thường xuyên.
  • Theo dõi log Nginx tại /var/log/nginx/error.log và log Laravel trong storage/logs.

Câu hỏi thường gặp

Laravel 10 nên dùng PHP phiên bản nào?

Laravel 10 hỗ trợ PHP 8.1 trở lên. PHP 8.2 là lựa chọn phổ biến, nhưng cần kiểm tra package và extension tương thích với Ubuntu đang sử dụng.

Vì sao Nginx phải trỏ vào thư mục public?

Thư mục public là document root của Laravel. Cấu hình này ngăn người dùng truy cập trực tiếp vào file .env và mã nguồn nội bộ.

Có bắt buộc phải cài phpMyAdmin không?

Không. Laravel hoạt động bình thường mà không cần phpMyAdmin. Nếu cài, hãy giới hạn IP hoặc sử dụng SSH tunnel để giảm rủi ro.

Vì sao website Laravel bị lỗi 502 Bad Gateway?

Nguyên nhân thường là PHP-FPM không chạy hoặc Nginx trỏ sai socket. Hãy kiểm tra bằng systemctl status php8.2-fpm và đối chiếu file socket trong cấu hình.

Kết luận

Quy trình cài Laravel trên VPS gồm cập nhật Ubuntu, cài PHP và các dịch vụ nền, tạo database, cài Composer, cấu hình Nginx, cấp SSL và kiểm tra bảo mật. Thực hiện đúng từng bước sẽ giúp website Laravel vận hành ổn định, an toàn và dễ bảo trì.

Từ khoá: huong dan cai dat laravel 10 tren vps ubuntu tu a-z, cài Laravel trên VPS, cài đặt server Laravel, VPS Ubuntu Laravel, cấu hình Nginx Laravel, PHP MySQL Composer, SSL Laravel

How To 60s

How To 60s

How To 60s - Tổng hợp Giáo án và đề thi THCS chương trình mới KNTT, CTST. Thủ thuật excel, word, powerpoint, windows. Mẹo vặt máy tính giúp công việc đơn giản hơn. Chia sẻ những kinh nghiệm, thủ thuật hay trong công việc và cuộc sống hàng ngày