Bạn vừa hoàn thành một dự án Laravel tuyệt vời và đang muốn đưa nó lên môi trường thực tế? Việc upload Laravel lên host là bước quan trọng để biến ứng dụng cục bộ thành một sản phẩm sống động trên internet. Tuy nhiên, nếu bạn chưa từng triển khai trước đó, quá trình này có thể khiến bạn gặp khó khăn với các thao tác như cấu hình thư mục, upload file hay kết nối database. Bài viết này sẽ hướng dẫn bạn từng bước chi tiết để đưa dự án Laravel của mình lên hosting một cách nhanh chóng và chuẩn xác nhất.
1. Hướng dẫn upload Laravel lên hosting Cpanel
Bước 1: Nén code
Đầu tiên, bạn cần thực hiện nén toàn bộ code website dưới dạng file zip giúp việc upload file lên hosting nhanh chóng, tiết kiệm thời gian.
Lưu ý: Hãy xoá toàn bộ cache của Laravel trước khi nén code bằng lệnh sau:
php artisan cache:clear
php artisan view:clear
Sau đó, sử dụng phần mềm Winrar để nén code dưới dạng file zip
Lưu ý:
- Nếu bạn sử dụng git thì khi nén code không cần nén thư mục .git
- Nếu bạn sử dụng code web bằng Phpstorm thì khi nén không cần nén thư mục .idea
Bước 2: Xuất cơ sở dữ liệu
Ở bước này, bạn thực hiện xuất file code ra database để import lên hosting Cpanel. Trong trường hợp bạn sử dụng XAMPP hay Laragon thì có thể sử dụng PhpMyadmin để xuất ra cơ sở dữ liệu dạng file.sql.
Khi thực hiện xuất database xong, bạn sẽ nhận được file có dạng tên-database.sql. Bạn sẽ sử dụng file này để import lên hosting.
Bước 3: Upload code Laravel lên host
Đăng nhập vào Cpanel và chọn File Manager
Tiếp theo, hãy xác định thư mục sẽ chứa mã nguồn code. Trong trường hợp tên miền bạn muốn sử dụng là tên miền chính hay còn gọi là tên miền sử dụng để đăng ký hosting thì nên sử dụng thư mục public_html để chứa file code upload. Còn nếu tên miền của bạn là addon domain hoặc subdomain thì thư mục addon domain hoặc subdomain sẽ là thư mục chứa file cần upload.
Tiếp theo, click vào thư mục cần upload mã nguồn và nhấn chọn Upload => Chọn Select File và chọn file code đã nén dạng zip. Sau khi upload file thành công, hãy nhấn chọn Go back để quay trở lại thư mục trước đó chứa mã nguồn.
Sau đó, nhấp chuột phải vào file zip => Chọn Extract để giải nén.
Sau khi giải nén thành công, hãy xoá file zip bạn đã upload lên trước đó.
Bước 4: Tạo cơ sở dữ liệu, user Mysql và import Database
Bạn có thể thực hiện tạo Database, user Mysql theo hướng dẫn ở bài viết trước đó. Sau đó, bạn truy cập Phpmyadmin và chọn Database để import database đã được Export ở bước 2.
Bước 5: Cấu hình kết nối cơ sở dữ liệu trong file .env
Trước tiên, bạn cần bật hiển thị để có thể dễ dàng chỉnh sửa file .env
Sau đó, bạn tiến hành kết nối database trong file .env. Nhấp chuột phải vào file .env và chọn Edit.
Ở bước này, bạn thực hiện chỉnh sửa một số trường thông tin sau:
- APP_DEBUG : Để định dạng False
- APP_URL : Điền domain website dạng http://domain.com hoặc https://domain.com trong trường hợp sử dụng SSL
- DB_DATABASE : Điền tên database đã trước đó
- DB_USERNAME : Điền User Mysql đã tạo trước đó
- DB_PASSWORD : Điền mật khẩu User Mysql đã tạo trước đó.
Bước 6: Loại bỏ public khỏi URL của website
Laravel mặc định tất cả các request đều đi vào thư mục Public nên Url sẽ có thêm /public. Do đó, để loại bỏ /public khỏi Url, bạn sử dụng nội dung sau để tạo file /htacess ngang hàng với thư mục public:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L,QSA]
</IfModule>
Bước 7: Tạo Cronjob
Nếu bạn đang sử dụng queue work của Laravel, bạn cần phải thực hiện cấu hình Cronjob trên host thì mới có thể hoạt động. Để có thể cấu hình Cronjob, bạn truy cập cPanel => Chọn Cron Jobs
Lưu ý đường dẫn ở mục Command:
/usr/local/bin/php /home/support1/public_html/artisan queue:work –sleep=1 –tries=3 –timeout=120 >/dev/null 2>&1
Trong đó:
- /home/support1/public_html/ : Đường dẫn đến thư mục chứa code
- >/dev/null 2>&1 : Không spam mail khi thực hiện chạy cronjob
*Một số lưu ý khi upload Laravel:
- Bạn cần đảm bảo Chmod của thư mục là 0755, Chmod của file là 0644 sau khi upload code nếu không sẽ xảy ra tình trạng 403.
- Nếu bạn gặp phải lỗi 500, bạn cần xem lại phiên bản PHP trên hosting và kết nối với Mysql đã đúng chưa. Trường hợp bạn sử dụng phiên bản Laravel 5.6 trở lên, nên sử dụng PHP 7 để đạt hiệu suất tốt nhất.
2. Cách up Laravel lên host Direct Admin
Yêu cầu:
- PHP 7 (hoặc phiên bản cao hơn)
- OpenSSL, Mbstring, PDO, Tokenizer, PHP, XML
- Apache hoặc Nginx
Bước 1:
Cài đặt SSH vào máy chủ của bạn bằng lệnh sau:
yum update
yum install git curl
Bước 2: Cài đặt Composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
Bước 3: Chuẩn bị cài đặt Laravel
Để cài đặt Laravel, bạn cần đảm bảo thư mục public_html trống. Dưới đây là lệnh thực hiện làm trống thư mục này:
rm -rf /home/USERNAME/domains/LARAVEL_DOMAIN/public_html/*
Trong đó, bạn cần thay thế USERNAME bằng tên người dùng DirectAdmin, thay LARAVEL_DOMAIN bằng tên miền bạn muốn cài đặt Laravel.
Bước 4: CD vào tên miền của bạn
Bạn sử dụng lệnh sau:
cd /home/USERNAME/domains/LARAVEL_DOMAIN/public_html/
Trong đó, bạn cần thay thế USERNAME bằng tên người dùng DirectAdmin, thay LARAVEL_DOMAIN bằng tên miền bạn muốn cài đặt Laravel.
Bước 5: Cài đặt Laravel
Bạn thực hiện cài đặt Laravel trên DirectAdmin bằng lệnh Composer. Lưu ý: Giữ nguyên dấu . ở cuối lệnh.
composer create-project –prefer-dist laravel/laravel .
Bước 6:
*Đổi gốc tài liệu thành /public
- Đăng nhập với tư cách là Quản trị viên vào máy chủ của bạn.
- Đi đến Trình quản lý máy chủ => Cấu hình HTTPD tùy chỉnh
- Tìm tên miền bạn muốn thay đổi gốc docroot
- Nhấp vào httpd.conf
- Nhấp vào CUSTOMIZE
- trong “httpd.conf customization for LARAVEL_DOMAIN” thêm dòng sau:
|?DOCROOT=`HOME`/domains/`DOMAIN`/public_html/public|
- Nhấp vào nút SAVE ở góc dưới bên phải.
*Đổi gốc tài liệu thành /public cho một tên miền phụ
- Đăng nhập với tư cách là Người dùng vào máy chủ của bạn
- Đi tới Trình quản lý tài khoản => Quản lý tên miền phụ
- Nơi bạn thấy Docroo , hãy nhấp vào hình bút chì ở bên phải và thêm /public
- Nhấp vào nút SAVE
Bây giờ bạn có thể truy cập tên miền của mình trên Laravel.
Việc upload Laravel lên host không còn là thử thách nếu bạn nắm rõ quy trình và thực hiện đúng từng bước. Khi dự án của bạn đã hoạt động mượt mà trên môi trường thực tế, đó là lúc bạn có thể tự hào chia sẻ sản phẩm với người dùng toàn cầu. Đừng quên kiểm tra kỹ các thiết lập bảo mật và backup định kỳ để đảm bảo hiệu suất và an toàn.