# Chạy CMS local trên Mac

Mở http://127.0.0.1:8080/ và đăng nhập bằng tài khoản website có trong bản SQL đã import.
Đây là tài khoản ứng dụng, không phải tài khoản cPanel hoặc MySQL.

## Khởi động

Trong thư mục dự án:

```bash
brew services start mariadb@10.11
npm run dev
```

Giữ Terminal mở. Nhấn Control+C để dừng website. MariaDB tiếp tục chạy bằng Homebrew service.

## Kết nối

- PHP: `/opt/homebrew/opt/php@8.4/bin/php` (8.4.25 khi thiết lập).
- MariaDB: 10.11.19, chỉ lắng nghe `127.0.0.1:3306`.
- Database: `webdemoo_diemdanh`.
- Tài khoản database: `cms_local`.
- Thông tin đăng nhập: `~/.config/cms-demo/mysql.cnf`, quyền file `600`.
- Bản dữ liệu nguồn: `~/Downloads/webdemoo_diemdanh.sql`.

`scripts/local-router.php` là entry point riêng cho PHP development server.
Nó nạp `scripts/local-db.php` sau cấu hình ứng dụng để dùng database local.
Các file `config/autoload/global.php` và `config/autoload/local.php` của hosting được giữ nguyên.
Không cần upload các file `scripts/local-*` hoặc file chứa mật khẩu lên cPanel.

## Lưu ý triển khai

Database local là bản sao tại thời điểm export, không tự đồng bộ với hosting.
Khi đưa thay đổi lên website đang hoạt động, dùng migration SQL để giữ dữ liệu mới phát sinh.

Hai sửa lỗi tương thích PHP 8.4 cần được giữ khi đồng bộ source:

- `public_html/Frontend/src/Frontend/Model/InfoTb.php`: xử lý headline thiếu mảng slug/ngôn ngữ.
- `vendor/zendframework/zendframework/library/Zend/I18n/Translator/Loader/PhpArray.php`: kiểm tra key trên mảng messages thay vì đối tượng TextDomain.

Trang đăng nhập và chuyển hướng khi chưa đăng nhập đã được kiểm tra. Các chức năng sau đăng nhập cần được kiểm tra bằng tài khoản website.
