Hướng dẫn upload Laravel lên hosting cPanel

laravel

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 WCT 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.

Hướng dẫn upload Laravel lên hosting cPanel

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

clear cache

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

Screenshot_79

Screenshot_80

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ư XamppLaragon thì có thể sử dụng Phpmyadmin để xuất database ra dưới dạng file .sql

Screenshot_81

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

Screenshot_82

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

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

Screenshot_83

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.

Screenshot_84

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

Screenshot_86

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

Screenshot_87

Screenshot_88

Screenshot_89

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

Screenshot_90 - upload Laravel lên hosting cPanel

Screenshot_91 - upload Laravel lên hosting cPanel

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

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

Screenshot_93 - upload Laravel lên hosting cPanel

Screenshot_94 - upload Laravel lên hosting cPanel

Screenshot_95 - upload Laravel lên hosting cPanel

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

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

Screenshot_96 - upload Laravel lên hosting cPanel

Screenshot_97 - upload Laravel lên hosting cPanel

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

Screenshot_98 - upload Laravel lên hosting cPanel

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.

Screenshot_101

Để 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>

Screenshot_102 - upload Laravel lên hosting cPanel

Screenshot_103 - upload Laravel lên hosting cPanel

Screenshot_104 - upload Laravel lên hosting cPanel

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

Screenshot_106

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

Screenshot_107

Screenshot_108

/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 WCT đã 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ể xem thêm các bài chia sẻ khác cua WCT

0944.71.4545