Cách tự động: một script từ tài khoản cá nhân sẽ chuẩn bị toàn bộ máy chủ (web-stack Apache + PHP, cơ sở dữ liệu, công cụ bảo mật, cron). Tiếp theo — triển khai dashboard, cấp SSL và nhập license. Hoạt động trên Ubuntu/Debian: trên VPS mới, script thiết lập mọi thứ từ đầu; trên máy chủ đã cấu hình — chỉ bổ sung thêm (hồ sơ “Máy chủ đã cấu hình”, bước 01). Tất cả lệnh bên dưới theo thứ tự, chỉ cần cuộn từ trên xuống dưới.
monitor.example.com — domain của bạn; 203.0.113.10 — IP thật của máy chủ; /var/www/monitor — thư mục gốc của dashboard (nơi chứa public/, assets/, config.php); mật khẩu DB hãy tự đặt.
jail.local), root-crontab, quy tắc UFW, cấu hình Apache. Nếu máy chủ đã được cấu hình (dashboard đang chạy, các trang web, email, các jail riêng) — hãy chọn hồ sơ “Máy chủ đã cấu hình”: nó chỉ thực hiện các thay đổi bổ sung và không đụng đến firewall, Fail2ban, email, SSH và sysctl của bạn. Khi phát hiện có hosting-panel, script tự chuyển sang chế độ này. Trước lần chạy đầu tiên, bạn có thể bật chạy thử (đánh dấu trong tài khoản) — nó sẽ cho thấy những gì sẽ được làm mà không thay đổi gì. Trên máy chủ đang hoạt động, để chắc chắn hãy tạo một snapshot.
my.arciveo.com → mục “Cấu hình máy chủ” (khả dụng sau khi đăng ký Arcivéo Monitor). Lệnh gắn với tài khoản của bạn và chứa token cá nhân.
Tập lệnh chuẩn bị toàn bộ máy chủ: web-stack (Apache + PHP), cơ sở dữ liệu, công cụ cho SSL, bộ công cụ bảo vệ đầy đủ và các tác vụ cron (Lynis, SMART, debsums, Logwatch, báo cáo hằng ngày, cập nhật ipsum).
1) Chọn mức độ bảo vệ (trong tài khoản, trước khi sao chép lệnh):
2) Chạy trên máy chủ dưới quyền root lệnh từ tài khoản — nó trông như sau:
Để mở dashboard tại địa chỉ dạng monitor.example.com và nhận SSL miễn phí, tên miền phải trỏ về máy chủ. Trong bảng quản lý DNS (tại nhà đăng ký hoặc nhà cung cấp hosting), hãy tạo một bản ghi A:
Sau vài phút (đôi khi tới một giờ), hãy kiểm tra tên miền đã trỏ về máy chủ chưa:
/var/www/monitor và thiết lập trang Apache (DocumentRoot trỏ vào gốc bảng điều khiển, PHP-FPM, AllowOverride cho .htaccess). Không cần tạo riêng thư mục hay vhost — chỉ cần tải tệp lên và cấp quyền.
my.arciveo.com → “Tải xuống”. Hãy giải nén gói trước khi tải lên máy chủ.
Hãy tải nội dung gói phân phối vào /var/www/monitor (để bên trong có public/, assets/, config.php v.v.) — qua SFTP/SCP (FileZilla / WinSCP) hoặc bằng lệnh scp từ máy tính cục bộ:
ServerName), hãy truyền nó vào lệnh tự động cấu hình ngay ở bước 01: … | sudo bash -s -- monitor.example.com (hoặc nhập domain vào ô “Domain của bảng điều khiển” trong tài khoản cá nhân). Nếu không truyền domain — bảng điều khiển sẽ trả lời mọi host và theo IP, còn ServerName sẽ được certbot ghi khi cấp SSL (bước 06); không cần cài đặt lại gì cả.
root hoặc qua SFTP, tệp thuộc về root, và máy chủ web (www-data) sẽ không đọc được chúng — bảng điều khiển sẽ mở ra trống trơn hoặc báo lỗi 403 (trong log: .htaccess unreadable / directory not executable). Lệnh dưới đây khắc phục điều này:
Hãy mở quyền tải tệp lên qua SFTP cho chính bạn. Sau lệnh ở trên, mọi tệp đều thuộc về www-data, trong khi FileZilla / WinSCP kết nối bằng người dùng của bạn — khi đó việc tải lên sẽ thất bại với SSH_FX_PERMISSION_DENIED (Permission denied). Hãy chọn một trong hai phương án.
Phương án A — ACL chỉ dành cho người dùng của bạn (khuyến nghị). Chỉ mình bạn có quyền ghi; máy chủ web vẫn không thể ghi đè mã của bảng điều khiển:
Phương án B — qua nhóm www-data. Đơn giản hơn, nhưng máy chủ web cũng có quyền ghi vào tệp của bảng điều khiển: nếu PHP có lỗ hổng thì mã có thể bị thay thế. Thứ tự các lệnh rất quan trọng — config.php và các thư mục làm việc được đóng lại sau cùng:
id deploy — trong danh sách nhóm phải xuất hiện www-data; ls -ld /var/www/monitor — quyền drwxrwsr-x, chữ s thay cho x nghĩa là setgid đã được đặt.
Tạo cơ sở dữ liệu và người dùng, sau đó nhập lược đồ. Khối cấu hình DB được dán vào terminal toàn bộ (sudo mysql đăng nhập root qua unix-socket — không cần mật khẩu root). monitor_db và monitor_user chỉ là tên ví dụ, bạn có thể đặt tên tùy ý; hãy ghi nhớ tên cơ sở dữ liệu, người dùng và mật khẩu — bạn sẽ nhập chúng vào config.php ở bước tiếp theo:
admin khi truy cập lần đầu trên trình duyệt (từ database/db.sql), nếu DB trống.
www-data).
config.php ở thư mục gốc của panel (/var/www/monitor/config.php) là tệp duy nhất bạn cần chỉnh sửa thủ công. Mọi thiết lập của panel được khai báo trong đó bằng các hằng define(). Mở tệp bằng trình soạn thảo:
Điền giá trị của bạn vào các chỗ được tô sáng; phần còn lại giữ nguyên:
Cần đổi những gì:
DB_NAME, DB_USER, DB_PASS — đúng tên cơ sở dữ liệu, người dùng và mật khẩu mà bạn đã đặt khi tạo cơ sở dữ liệu ở bước 04 (nếu giữ ví dụ — monitor_db / monitor_user). Đừng đụng vào DB_HOST và DB_CHARSET.APP_URL — địa chỉ đầy đủ của panel kèm https://, không có dấu gạch chéo ở cuối và không có www. Phải trùng với domain mà bạn kích hoạt license (bước 07), nếu không key sẽ bị từ chối.TIMEZONE — múi giờ của bạn (danh sách — timedatectl list-timezones). Chỉ ảnh hưởng đến cách panel hiển thị ngày tháng; không ảnh hưởng đến thời điểm chạy các tác vụ cron (chỗ đó dùng múi giờ hệ thống).SESSION_LIFETIME — sau bao nhiêu giây không hoạt động thì panel yêu cầu đăng nhập lại (mặc định 8 giờ). Ví dụ 3600 = 1 giờ, 86400 = một ngày.display_errors, log_errors, error_log) — giữ mặc định.Lưu tệp (Ctrl+O, Enter, rồi Ctrl+X) và khởi động lại PHP-FPM — nếu không thì do OPcache mà các thay đổi sẽ không có hiệu lực:
640 (đặt ở bước 03) và cấm rõ ràng trong .htaccess gốc. Đừng đưa nó lên các repository công khai và đừng gửi cho bộ phận hỗ trợ kèm mật khẩu thật.
http:// bạn sẽ không thể đăng nhập.
certbot và plugin cho Apache đã được cài sẵn bởi tự động cấu hình. DNS của tên miền phải trỏ về máy chủ từ trước (bước 02). Cấp chỉ với một lệnh:
Y.<VirtualHost *:443>, thiết lập chuyển hướng http→https và tự động gia hạn. Cuối cùng — Successfully enabled HTTPS.
dig +short monitor.example.com có trả về IP máy chủ và các cổng 80/443 đã mở (sudo ufw allow 80,443/tcp).
Sau khi cấp: https://monitor.example.com mở ra kèm biểu tượng ổ khóa, còn http:// chuyển hướng sang https://.
Mở https://monitor.example.com, đăng nhập admin / useradmin và làm theo danh sách kiểm tra:
ARCIVEO-… từ tài khoản cá nhân cho tên miền của bạn rồi dán khóa vào “Cài đặt” → “Giấy phép”. Chi tiết.public/start_db.php nếu vẫn còn: nó cho phép tạo lại cơ sở dữ liệu mà không cần xác thực. Khi tệp còn nằm trong thư mục gốc của dashboard hoặc trong public/, dashboard sẽ cảnh báo bằng biểu ngữ đỏ.