Hướng dẫn deloy cho mạng ngang hàng

Hiện tại có rất nhiều hướng dẫn trên mạng liên quan đến việc upload Laravel lên hosting cPanel, nhưng chúng đều không chính xác hoặc đã lỗi thời.

Hiện tại có rất nhiều hướng dẫn trên mạng liên quan đến việc upload Laravel lên hosting cPanel, nhưng chúng đều không chính xác hoặc đã lỗi thời. Trong bài viết này HOSTVN sẽ hướng dẫn các bạn cách triển khai Laravel trên hosting một cách chính xác nhất.

Bước 1: Nén code

Bước đầu tiên cần làm là cần nén lại toàn bộ code dưới dạng file zip để có thể upload lên hosting một cách nhanh chóng. Nhưng hãy nhớ trước khi nén code các bạn hãy xóa toàn bộ cache của Laravel bằng lệnh sau:

php artisan cache:clear php artisan view:clear

Hướng dẫn deloy cho mạng ngang hàng

Sau khi đã xóa cache các bạn tiến hành nén lại code dưới dạng file zip bằng Winrar.

Lưu ý:

  • Đối với các bạn có sử dụng git thì khi nén bỏ qua không nén thư mục .git
  • Nếu bạn sử dụng Phpstorm để code thì bỏ qua không nén thư mục .idea

Hướng dẫn deloy cho mạng ngang hàng

Hướng dẫn deloy cho mạng ngang hàng

Bước 2: Xuất database

Sau khi đã nén code các bạn sẽ cần xuất ra database để import lên hosting. Nếu các bạn đang sử dụng các phần mềm Localhost như Xampp, Laragon thì có thể sử dụng Phpmyadmin để xuất database ra dưới dạng file .sql

Hướng dẫn deloy cho mạng ngang hàng

Sau khi xuất các bạn sẽ nhận được một file có dạng tên-database.sql dùng để import lên hosting ở các bước sau

Hướng dẫn deloy cho mạng ngang hàng

Bước 3: Upload code lên hosting

Để upload code lên hosting các bạn đăng nhập vào cPanel -> Filemanger

Hướng dẫn deloy cho mạng ngang hàng

Tiếp theo các bạn cần xác định thư mục sẽ chứa mã nguồn. Nếu tên miền các bạn muốn sử dụng là tên miền chính (Tên miền sử dụng khi đăng ký hosting) thì thư mục cần upload code lên sẽ là public_html. Trường hợp tên miền của bạn là addon domain hoặc subdomain thì thư mục cần upload sẽ là thư mục có tên giống với addon domain hoặc subdomain.

Hướng dẫn deloy cho mạng ngang hàng

Sau khi đã xác định được thư mục cần upload mã nguồn các bạn click vào thư mục sau đó chọn Upload -> Chọn Select file và chọn đến file zip đã nén. Sau khi quá trình upload hoàn tất hãy click vào Go back to để trở lại thư mục chứa mã nguồn

Hướng dẫn deloy cho mạng ngang hàng

Tiếp theo hãy click chuột phải vào file zip và chọn Extract để giải nén

Hướng dẫn deloy cho mạng ngang hàng

Hướng dẫn deloy cho mạng ngang hàng

Hướng dẫn deloy cho mạng ngang hàng

Sau khi giải nén xong đừng quên xóa file zip mà các bạn đã upload lên

Hướng dẫn deloy cho mạng ngang hàng

Hướng dẫn deloy cho mạng ngang hàng

Bước 4: Tạo database, user Mysql và import Database

  • Để tạo database, user Mysql cũng như cấp quyền cho user các bạn có thể làm theo hướng dẫn sau: https://kb.hostvn.net/huong-dan-tao-database-va-cap-quyen-cho-user-database-trong-cpanel_140.html

Sau khi đã tạo Database các bạn truy cập vào Phpmyadmin và chọn database để import database đã Export ở buớc 2

Hướng dẫn deloy cho mạng ngang hàng

Hướng dẫn deloy cho mạng ngang hàng

Hướng dẫn deloy cho mạng ngang hàng

Bước 5: Cấu hình kết nối database trong file .env

Trước tên để có thể xem và chỉnh sửa file .env, bạn cần bật hiển thì file ẩn

Hướng dẫn deloy cho mạng ngang hàng

Sau khi đã tạo database, user, import database các bạn tiến hành cấu hình kết nối database trong file .env. Click chuột phải vào file .env và chọ Edit

Hướng dẫn deloy cho mạng ngang hàng

Hướng dẫn deloy cho mạng ngang hàng

Tại đây các bạn cần sửa một số thông tin sau

  • APP_DEBUG : Sửa true thành false
  • APP_URL : điền domain website theo dạng http://domain.com hoặc https://domain.com nếu dùng SSL
  • DB_DATABASE : Điền tên database đã tạo ở bước 4
  • DB_USERNAME : Điền User Mysql đã tạo ở bước 4
  • DB_PASSWORD : Điền mật khẩu User Mysql đã tạo ở bước 4

Hướng dẫn deloy cho mạng ngang hàng

Bước 6: Loại bỏ public khỏi Url

Theo mặc định của Laravel tất cả các request sẽ đi vào thư mục public nên trong Url sẽ có thêm /public.

Hướng dẫn deloy cho mạng ngang hàng

Để loại bỏ /public khỏi Url các bạn tạo file .htaccess ngang hàng thư mục public với nội dung sau

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L,QSA]
</IfModule>

Hướng dẫn deloy cho mạng ngang hàng

Hướng dẫn deloy cho mạng ngang hàng

Hướng dẫn deloy cho mạng ngang hàng

Bước 7: Thiết lập Cronjob

Trong trường hợp các bạn sử dụng queue work của Laravel thì sẽ cần cấu hình Cronjob trên hosting để có thể hoạt động. Truy cập cPanel -> Cron Jobs để cấu hình Cron

Hướng dẫn deloy cho mạng ngang hàng

Tại đây các bạn cấu hình cronjob tương tự như sau

Hướng dẫn deloy cho mạng ngang hàng

Hướng dẫn deloy cho mạng ngang hàng

/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 mỗi khi chạy cronjob

Bước 8: Một số lưu ý

  • Sau khi upload code lên các bạn cần đảm bảo chmod của thư mục là 0755 và chmod của file là 0644 nếu không sẽ gặp lỗi 403.
  • Trường hợp gặp lỗi 500 hãy kiểm tra lại phiên bản PHP trên hosting và kết nối Mysql xem có chính xác hay không. Đối với Laravel 5.6 trở lên hãy sử dụng PHP 7 để cho hiệu suất tốt nhất.

Kết luận

Qua bài viết này HOSTVN đã hướng dẫn các bạn chi tiết cách upload Laravel lên hosting cPanel một cách chính xác nhất. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới. Ngoài ra các bạn có thể đăng ký sử dụng hosting giá rẻ hoặc xem thêm các bài chia sẻ khác cua HOSTVN tại đây.