
Triển khai & Quản lý Dự Án CodeIgniter 4 (CI4) Lên Production. Deploy CodeIgniter 4 (hay còn gọi là triển khai CodeIgniter 4 ra môi trường production) là bước quan trọng ngay sau khi bạn hoàn thiện tính năng của ứng dụng. Việc triển khai không chỉ dừng lại ở việc upload code, mà còn đòi hỏi bạn phải cấu hình nhiều môi trường (.env), thiết lập hosting/VPS hoặc Docker, đồng thời áp dụng CI/CD để tự động hóa việc cập nhật.
Trong bài viết này, chúng ta sẽ tìm hiểu toàn bộ quy trình deploy CodeIgniter 4 từ cơ bản đến nâng cao, kèm các bước bảo mật và giám sát hệ thống giúp ứng dụng chạy ổn định và an toàn.
1. Config .env
cho nhiều môi trường
CI4 sử dụng file .env
để quản lý cấu hình.
Ví dụ: .env
➔ Có thể tạo nhiều file .env
khác nhau (local, staging, production) và load theo môi trường server.
2. Deploy CI4 trên Shared Hosting
-
Upload toàn bộ code lên hosting.
-
Di chuyển file trong
public/
ra ngoàipublic_html/
(nếu hosting không cho phép set root). -
Chỉnh sửa
index.php
để trỏ tới../app
và../system
.
➔ Lưu ý bảo mật: chỉ để public/
làm document root, không expose cả project.
3. Deploy CI4 trên VPS (Apache/Nginx)
Apache (VirtualHost)
Nginx
➔ Sau đó reload:
4. Deploy CI4 bằng Docker
-
Tạo
Dockerfile
FROM php:8.1-fpm WORKDIR /var/www/html RUN docker-php-ext-install mysqli pdo pdo_mysql COPY . /var/www/html CMD ["php-fpm"]
-
Tạo
docker-compose.yml
version: '3.8' services: app: build: . volumes: - .:/var/www/html ports: - "8080:80" depends_on: - db db: image: mysql:8.0 restart: always environment: MYSQL_DATABASE: myapp MYSQL_ROOT_PASSWORD: secret ports: - "3306:3306"
➔ Chạy:
docker-compose up -d
5. CI/CD (Continuous Integration / Deployment)
-
GitHub Actions: tạo file
.github/workflows/deploy.yml
name: Deploy CI4 App on: push: branches: [ "main" ] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Deploy to server run: | ssh user@yourserver " cd /var/www/ci4-app && git pull origin main && composer install --no-dev && php spark migrate --all "
➔ Cứ push code lên GitHub → server tự cập nhật.
6. Logging & Monitoring
-
CI4 log mặc định ở
writable/logs/
. -
Config trong
app/Config/Logger.php
. -
Nên dùng thêm Sentry hoặc Logstash + ELK Stack để tập trung log.
Ví dụ log error:
log_message('error', 'User đăng nhập thất bại: {email}', ['email' => $userEmail]);
7. Bảo mật Production
-
Chạy
CI_ENVIRONMENT = production
. -
Disable debug toolbar.
-
Luôn đặt
public/
làm document root. -
Đổi session handler sang database hoặc Redis.
-
Cấu hình HTTPS (SSL) với Let’s Encrypt.
-
Dùng firewall (UFW, iptables).
Kết luận
Qua bài viết này, bạn đã nắm được toàn bộ quy trình triển khai và quản lý ứng dụng CodeIgniter 4:
-
Cấu hình nhiều môi trường với file
.env
(local, staging, production). -
Triển khai trên shared hosting hoặc VPS (Apache/Nginx).
-
Sử dụng Docker để đóng gói và triển khai ứng dụng.
-
Thiết lập CI/CD với GitHub Actions để tự động hóa deploy.
-
Quản lý log & monitoring với Sentry, Logstash.
-
Bảo mật production: HTTPS, firewall, session handler…
Với các bước trên, bạn đã có thể tự tin đưa ứng dụng CI4 lên production và vận hành an toàn, ổn định.
➔ Tham khảo thêm:
- Lộ trình học CodeIgniter 4 từ cơ bản đến nâng cao để củng cố kiến thức nền tảng trước khi triển khai thực tế.