Hướng dẫn cài đặt giao diện vGocms từ bảng quản trị
Lưu ý: Giao diện Next.js được triển khai trên cùng một VPS với máy chủ quản trị vGo. Tất cả các thao tác quản lý được thực hiện trực tiếp thông qua giao diện "Kho Theme vGocms".
Hướng dẫn thao tác với theme

1. Thông số Runtime System
Dựa vào bảng Build status, hệ thống đang vận hành với cấu hình:
- Môi trường: Node.js (Next.js).
- Workdir: data/theme_work/site_37 (Thư mục chứa source code trên VPS).
- Port: 4302 (Cổng nội bộ mà Next.js đang lắng nghe).
- Process Backend: systemd (Trình quản lý tiến trình của Ubuntu).
- Systemd Unit: vgocms-theme-site-37.service (Tên service quản lý theme này).
2. Các thao tác Control Theme (Bảng bên trái)
Các nút này tương tác trực tiếp với source code và vòng đời của ứng dụng Next.js.
- [Save env]:
- Hành động: Chỉ ghi đè các thiết lập từ Step 3 (Biến môi trường, port, process backend) vào file cấu hình (ví dụ: .env trong thư mục theme).
- Bản chất: Ghi file thuần túy. Không tải lại mã nguồn (zip), không chạy lại tiến trình build.
- Lưu ý: Sau khi lưu, tiến trình cũ vẫn chạy với cấu hình cũ. Phải bấm Restart (nếu là runtime env) hoặc Rebuild (nếu là build-time env) để áp dụng.
- [Rebuild]:
- Hành động: Chạy lại luồng build Next.js trên mã nguồn hiện có.
- Bản chất: Thực thi npm ci (để update/cài lại node_modules nếu cần) $\rightarrow$ thực thi npm run build (hoặc next build). Không tải lại file zip từ server gốc.
- Khi nào dùng: Sau khi sửa code trực tiếp trên VPS, có bản cập nhật patch, hoặc thay đổi biến môi trường yêu cầu build lại (ví dụ các biến NEXT_PUBLIC_...).
- [Restart]:
- Hành động: Dừng và khởi động lại tiến trình Node.js hiện tại.
- Bản chất: Gửi tín hiệu restart tới systemd service. Rất nhanh vì không phải build lại.
- Khi nào dùng: Áp dụng runtime .env sau khi bấm Save env, hoặc clear memory khi tiến trình bị treo (memory leak, stuck).
3. Quản lý tiến trình Systemd (Bảng bên phải)
Các nút này thực thi trực tiếp các lệnh systemctl và journalctl của Ubuntu cho unit vgocms-theme-site-37.service. Yêu cầu có quyền root/sudo trên host.
- [status]: Chạy systemctl status <unit>. Trả về trạng thái chi tiết của service (đang chạy, lỗi, crash...).
- [is-active]: Chạy systemctl is-active <unit>. Trả về active hoặc inactive.
- [is-enabled]: Chạy systemctl is-enabled <unit>. Kiểm tra xem service có được tự động khởi động khi VPS reboot hay không.
- [start] / [stop] / [restart]: Các lệnh cơ bản để bật, tắt, khởi động lại service thông qua systemd.
- [enable]: Chạy systemctl enable <unit>. Set cấu hình tự động chạy service khi VPS boot/reboot.
- [disable]: Chạy systemctl disable <unit>. Tắt cấu hình tự động chạy.
- [journal]: Chạy journalctl -u <unit>. Xuất log hệ thống cụ thể của tiến trình Next.js này (console.log, error log, crash trace).
4. Bảng LOG (Góc dưới bên phải)
Hiển thị output thời gian thực của các tác vụ đang chạy.
- Ví dụ trong ảnh: Flow tiêu chuẩn khi bấm lưu cấu hình $\rightarrow$ hệ thống báo đang restart $\rightarrow$ khởi động thành công. Mọi lỗi (nếu có) trong quá trình xử lý kịch bản bash/python ngầm sẽ in ra tại đây.