Автоматичний спосіб: один скрипт з особистого кабінету готує весь сервер (вебстек Apache + PHP, базу даних, інструменти безпеки, cron). Далі — розгорнути панель, випустити SSL і ввести ліцензію. Працює на Ubuntu/Debian: на новому VPS налаштовує все з нуля, на вже налаштованому сервері — лише додатково (профіль «Налаштований сервер», крок 01). Усі команди нижче — по порядку, просто гортайте згори донизу.
monitor.example.com — ваш домен; 203.0.113.10 — реальний IP сервера; /var/www/monitor — корінь панелі (де лежать public/, assets/, config.php); пароль БД придумайте свій.
jail.local), root-crontab, правила UFW, конфіг Apache. Якщо сервер уже налаштований (робоча панель, сайти, пошта, власні jail'и) — обирайте профіль «Налаштований сервер»: він вносить лише додаткові зміни і не чіпає ваш фаєрвол, Fail2ban, пошту, SSH та sysctl. Виявивши хостинг-панель, скрипт перемикається на цей режим самостійно. Перед першим запуском можна ввімкнути сухий прогін (галочка в кабінеті) — він покаже, що буде зроблено, нічого не змінюючи. На робочому сервері про всяк випадок зробіть знімок (snapshot).
my.arciveo.com → розділ «Налаштування сервера» (доступний після оформлення Arcivéo Monitor). Вона прив'язана до вашого облікового запису та містить персональний токен.
Скрипт готує весь сервер: вебстек (Apache + PHP), базу даних, інструменти для SSL, повний набір засобів захисту та cron-завдання (Lynis, SMART, debsums, Logwatch, щоденний звіт, оновлення ipsum).
1) Оберіть рівень захисту (у кабінеті, перед копіюванням команди):
2) Виконайте на сервері під root команду з кабінету — вона має такий вигляд:
Щоб відкривати панель за адресою на кшталт monitor.example.com та отримати безкоштовний SSL, домен має вказувати на сервер. У панелі керування DNS (у реєстратора чи хостера) створіть A-запис:
За кілька хвилин (іноді до години) перевірте, що домен вказує на сервер:
/var/www/monitor і налаштувало сайт Apache (DocumentRoot на корінь панелі, PHP-FPM, AllowOverride для .htaccess). Окремо створювати каталог і vhost не потрібно — просто завантажте файли й виставте права.
my.arciveo.com → «Завантаження». Розпакуйте архів перед завантаженням на сервер.
Завантажте вміст дистрибутива у /var/www/monitor (щоб усередині опинилися public/, assets/, config.php тощо) — через SFTP/SCP (FileZilla / WinSCP) або командою scp з локального комп'ютера:
ServerName), його передають у команду автоналаштування ще на кроці 01: … | sudo bash -s -- monitor.example.com (або вказують домен у полі «Домен панелі» в кабінеті). Якщо домен не передали — панель відповідає на будь-який хост і за IP, а ServerName пропише certbot під час випуску SSL (крок 06); перевстановлювати нічого не потрібно.
root або через SFTP, файли належать root, і веб-сервер (www-data) не зможе їх прочитати — панель відкриється порожньою або з помилкою 403 (у лозі: .htaccess unreadable / directory not executable). Команда нижче це виправляє:
Відкрийте собі завантаження файлів через SFTP. Після наведеної команди всі файли належать www-data, а FileZilla / WinSCP підключаються під вашим власним користувачем — завантаження тоді завершиться помилкою SSH_FX_PERMISSION_DENIED (Permission denied). Оберіть один із двох варіантів.
Варіант A — ACL лише для вашого користувача (рекомендовано). Право запису отримуєте тільки ви; вебсервер так само не може перезаписати код панелі:
Варіант B — через групу www-data. Простіший, але право запису у файли панелі отримує й вебсервер: за наявності вразливості в PHP код можна буде підмінити. Порядок команд важливий — config.php і робочі теки закриваються останніми:
id deploy — у списку груп має з'явитися www-data; ls -ld /var/www/monitor — права drwxrwsr-x, літера s замість x означає, що setgid встановлено.
Створіть базу та користувача, потім імпортуйте схему. Блок з БД вставляється в термінал повністю (sudo mysql входить root через unix-сокет — пароль root не потрібен). monitor_db і monitor_user — імена для прикладу, можете задати будь-які свої; запам'ятайте ім'я бази, користувача та пароль — впишете їх у config.php на наступному кроці:
admin під час першого входу в браузері (з database/db.sql), якщо БД порожня.
www-data).
config.php у корені панелі (/var/www/monitor/config.php) — єдиний файл, який потрібно редагувати вручну. Усі налаштування панелі задані в ньому константами define(). Відкрийте його в редакторі:
Підставте свої значення у підсвічені місця; решту залиште як є:
Що змінювати:
DB_NAME, DB_USER, DB_PASS — рівно ті самі ім'я бази, користувач і пароль, що ви задали під час створення БД на кроці 04 (якщо залишили приклади — monitor_db / monitor_user). DB_HOST і DB_CHARSET не чіпайте.APP_URL — повна адреса панелі з https://, без слеша в кінці та без www. Має збігатися з доменом, на який активуєте ліцензію (крок 07), інакше ключ буде відхилено.TIMEZONE — ваш часовий пояс (список — timedatectl list-timezones). Впливає лише на те, як панель показує дати; на час запуску cron-завдань не впливає (там діє пояс системи).SESSION_LIFETIME — через скільки секунд бездіяльності панель попросить увійти знову (типово 8 годин). Напр. 3600 = 1 година, 86400 = доба.display_errors, log_errors, error_log) — залиште типовим.Збережіть файл (Ctrl+O, Enter, потім Ctrl+X) і перезапустіть PHP-FPM — інакше через OPcache зміни не застосуються:
640 (виставлені на кроці 03) та явна заборона в кореневому .htaccess. Не викладайте його в публічні репозиторії та не передавайте в підтримку з реальним паролем.
http:// увійти не вдасться.
certbot і плагін для Apache вже встановлені автоналаштуванням. DNS домену вже має вказувати на сервер (крок 02). Випуск однією командою:
Y.<VirtualHost *:443>, налаштує перенаправлення http→https і автопродовження. Наприкінці — Successfully enabled HTTPS.
dig +short monitor.example.com повертає IP сервера і відкриті порти 80/443 (sudo ufw allow 80,443/tcp).
Після випуску: https://monitor.example.com відкривається із замком, http:// перенаправляє на https://.
Відкрийте https://monitor.example.com, увійдіть admin / useradmin та пройдіть чекліст:
ARCIVEO-… з кабінету активуйте на свій домен і вставте ключ у «Налаштування» → «Ліцензія». Докладніше.public/start_db.php, якщо він залишився: він дозволяє без авторизації повторно створити базу. Поки файл лежить у корені панелі або в public/, панель попереджає про нього червоним банером.