Upload laravel lên hosting hướng dẫn cách thức đưa website đã được phát triển bằng laravel ở local lên hosting , chính thức chạy production.
Upload Laravel lên hosting
- 1. Điều kiện hosting để chạy laravel 11
- 2. Chuẩn bị project để upload Laravel lên hosting
- 3. Chuẩn bị database để upload Laravel lên hosting
- 4. Xóa các file cache trong quá trình dev
- 5. Khai báo các thông số quan trọng cho laravel
- 6. Xóa file hot và run build
- 7. Tạo key mới cho ứng dụng
- 8. Khai báo cấu hình kết nối db cho phù hợp trên host
- 9. Dọn dẹp các module chỉ dùng trong develop
- 10. Nén project
- 11. Upload file project laravel lên host
- 12. Chuyển hướng vào folder public của laravel
- 13. Kiểm tra hoạt động và fix lỗi
- 14. Tắt debug
1. Điều kiện hosting để chạy laravel 11
Laravel 11 chỉ chạy với PHP >= 8.2, đồng thời php trên hosting của bạn cũng phải bật các extension sau: Ctype, cURL , DOM , Fileinfo , Filter , Hash , Mbstring , OpenSSL, PCRE , PDO , Session , Tokenizer , XML
Trong đó quan trọng nhất là hosting phải có php 8.2+. Bạn phải xem thông số trên hosting hoặc hỏi nhà cung cấp nhé. Còn các extension thì dễ thôi, sẽ bật lên khi laravel báo lỗi.
2. Chuẩn bị project để upload Laravel lên hosting
Để upload Laravel lên hosting, sau đây là một số chuẩn bị bước đầu:
- Chép folder project thành folder mới, ví dụ ladep. Cái này quan trọng nhé, không được dùng folder project gốc, vì cần phải có 1 số dọn dẹp, sẽ ảnh hướng đến code trong project gốc.
Các bước sau chỉ thực hiện trong folder mới ladep, không làm trên folder gốc, nhắc lại : không được làm trên folder gốc. - Xóa các route thừa không dùng trong file routes/web.php, route/api.php. Các route này do quá trình dev tạo ra để làm việc gì đó, giờ xem lại để coi route nào không dùng nữa thì xóa đi, kẻo ảnh hưởng đến bảo mật website.
- Xem lại trong folder Controllers, xóa các file không dùng.
- Xem lại nội dung của từng file controller, xóa các action nào đã tạo mà không dùng đến.
- Xem lại trong folder views, xóa các file view không dùng. Thường thì trong đây sẽ dư thừa nhiều file do quá trình code, nhiều file backup được tạo ra. Bạn xem trong folderviews này những file nào không dùng thì xóa đi trước khi đưa lên hosting. Trên hosting chỉ chừa đủ những gì cần thiết để chạy thôi.
- Xem lại trong folder public, các file css, js không dùng thì xóa
Đến đây thì dọn dẹp file trong project đã xong, giờ thì chuẩn bị database.
3. Chuẩn bị database để upload Laravel lên hosting
- Vào phpMyadmin trong máy local của bạn và export database thành file .sql . Việc làm này là để có file .sql mới nhất đưa lên hosting.
- Vào màn hình quản lý hosting, rồi tạo 1 database mới. Có thể bạn sẽ cần tạo user cho database, password và cấp quyền truy cập vào database cho user vừa tạo đó nhé.
- Tiếp sau import file .sql vào database mới tạo.
- Ghi nhận các thông số tên database, username, password và địa chỉ mysql server để chút nữa sẽ dùng.
4. Xóa các file cache trong quá trình dev
Mở command line, chuyển vào folder projet và chạy các lệnh sau để xóa các dữ liệu được cache trong quá trình chạy project ở local.
- php artisan cache:clear
- php artisan view:clear
- php artisan config:clear
- php artisan event:clear
- php artisan route:clear
5. Khai báo các thông số quan trọng cho laravel
Mở file .env – là file cấu hình chính trong laravel – rồi nhập tên ứng dụng, production, địa chỉ url của ứng dụng. Ngoài ra, các biến cấu hình nào cần thiết cho ứng dụng laravel hoạt ở trên host thì bạn khao báo luôn. Dưới đây là ví dụ:
APP_NAME=TechChain APP_ENV=production APP_DEBUG=true APP_URL=http://techchain.longnv.name.vn/
6. Xóa file hot và run build
Nếu bạn có dùng gói Start Kit trong Laravel để làm Authentication thì thực hiện 2 việc sau. Còn không thì bỏ qua mục này và chuyển đến mục 7. Tạo key mới cho ứng dụng.
a. Vào folder public của project laravel và tìm xem có file nào tên hot không. Nếu có thì xóa đi. File hot này được tạo ra do trong quá trình dev, bạn chạy lệnh npm run dev để chạy các gói start kit .
b. Trong folder project của bạn, chạy lệnh npm run build , tham khảo hình sau:
7. Tạo key mới cho ứng dụng
Mở command line, chuyển vào folder projet và chạy lệnh sau để tạo key mới cho ứng dụng laravel trên host. Mỗi ứng dụng laravel có 1 key riêng. Bước này có thể bỏ qua tuy nhiên bạn hãy cứ thực hiện cho an toàn.
php artisan key:generate
Sau khi tạo xong, key mới sẽ phát sinh , nếu muốn xem thì bạn có thể thấy trong file .env, biến APP_KEY.
8. Khai báo cấu hình kết nối db cho phù hợp trên host
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nhập tên db trên host
DB_USERNAME=tên user database đã tạo trên host
DB_PASSWORD=mật khẩu của user database
9. Dọn dẹp các module chỉ dùng trong develop
composer install --optimize-autoloader --no-dev
Lệnh này sẽ remove khá nhiều file và folder không cần dùng trong production, khoảng hơn 2000 file và hơn 400 fioder sẽ được xóa bớt.
10. Nén project
Giờ thì cần chuẩn bị đưa file lên hosting. Cách hay nhất là nén toàn bộ các file trong project thành file zip. Sau đó upload file nén lên host và giải nén.
Vào folder ladep (folder project) rồi toàn bộ file + folder , và nén lại thành file zip. Tham khảo hình dưới.
11. Upload file project laravel lên host
Nén file xong, bạn đăng nhập vào trang chủ hosting, vào File Manager, chọn folder gốc website của bạn (public_html hoặc htdocs hoặc folder bạn chỉ định khi tạo subdomain) trên host ==> nhắp Upload để đưa file zip lên
Upload xong thì giải nén file zip bằng cách nhắp nút phải chuột tại file zip ==> chọn Extract
12. Chuyển hướng vào folder public của laravel
Trang chủ của laravel là ở trong folder public, do đó bạn cần chuyển request của user vào đây.
Thực hiệc bằng cách tạo file .htaccess trong folder gốc của website. Cụ thể trong folder gốc website (public_html hoặc htdocs), tạo file .htaccess và code như sau
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
13. Kiểm tra hoạt động và fix lỗi
Giờ thì về lý thuyết website đã đưa lên xong. Bạn vào trang chủ website để xem và kiểm tra các chức năng. Lỗi có thể xảy ra trong quá trình này. Như hình ảnh không hiện, hoặc định dạng chính xác…Bạn theo tình huống để xử lý nhé. Thường nguyên nhân chính là hosting phân biệt tên file chữ hoa chữ thường.
Xem toàn bộ các chức năng của website bằng cách: nhắp các link , thử đăng nhập, submit các form để quan sát và khắc phục lỗi nếu có.
Ví dụ hình bên dưới là laravel thông báo lỗi không tìm thấy SanPhamController. Bình tĩnh kiểm tra sẽ thấy tên file thật sự đặt là SanphamController.php (chữ p thường) nhưng lệnh nhúng controller lại dùng chữ P hoa.
14. Tắt debug
Sau khi khắc phục lỗi (nếu có), trước khi kết thúc nên tắt chế độ hiện lỗi của laravel nhé, để an toàn cho website của bạn.
Thực hiện bằng cách mở file .env trên host, chỉnh biến APP_DEBUG thành false ( APP_DEBUG=false)
Đến đây bạn đã upload laravel lên hosting xong rồi. Website đã chạy trên internet để mọi người xem và sử dụng. Công đoạn cuối cùng của việc phát triển website đã hoàn thành rồi đó.
Cần xem video giải thích nữa thì xem đây
Tài liệu tham khảo thêm xem ở đây: https://laravel.com/docs/10.x/deployment