Автоматичне встановлення

Автоматичний спосіб: один скрипт з особистого кабінету готує весь сервер (вебстек Apache + PHP, базу даних, інструменти безпеки, cron). Далі — розгорнути панель, випустити SSL і ввести ліцензію. Працює на Ubuntu/Debian: на новому VPS налаштовує все з нуля, на вже налаштованому сервері — лише додатково (профіль «Налаштований сервер», крок 01). Усі команди нижче — по порядку, просто гортайте згори донизу. На новому VPS підходить кожен крок поспіль; якщо сервер уже налаштований або на ньому стоїть хостинг-панель, частину роботи скрипт свідомо лишає вам — що саме, він пише наприкінці своєї роботи (розбір виводу — у кроці 01).

Значення-заповнювачі в командах замініть на свої: monitor.example.com — ваш домен; 203.0.113.10 — реальний IP сервера; /var/www/monitor — корінь панелі (де лежать public/, assets/, config.php); пароль БД придумайте свій.
Повний набір («Повний захист») розрахований на новий VPS. На чистій Ubuntu/Debian він налаштовує систему безпеки з нуля — Fail2ban (jail.local), root-crontab, правила UFW, конфіг Apache. Якщо сервер уже налаштований (робоча панель, сайти, пошта, власні jail'и) — обирайте профіль «Налаштований сервер»: він вносить лише додаткові зміни і не чіпає ваш фаєрвол, Fail2ban, пошту, SSH та sysctl. Виявивши хостинг-панель, скрипт перемикається на цей режим самостійно. Перед першим запуском можна ввімкнути сухий прогін (галочка в кабінеті) — він покаже, що буде зроблено, нічого не змінюючи. На робочому сервері про всяк випадок зробіть знімок (snapshot).

01. Команда автоналаштування з кабінету

Команду ви берете у своєму особистому кабінеті my.arciveo.com → розділ «Налаштування сервера» (доступний після оформлення Arcivéo Security Monitor). Вона прив'язана до вашого облікового запису та містить персональний токен.

Скрипт готує весь сервер: вебстек (Apache + PHP), базу даних, інструменти для SSL, повний набір засобів захисту та cron-завдання (Lynis, SMART, debsums, Logwatch, щоденний звіт, оновлення ipsum).

1) Оберіть рівень захисту (у кабінеті, перед копіюванням команди):

  • Повний захист (рекомендовано) — UFW (фаєрвол), Fail2ban, CrowdSec + bouncer, ipsum (блок-список IP), Suricata (IDS/IPS), Falco, ModSecurity + OWASP CRS (WAF), PSAD, mod_evasive (анти-DoS), AIDE (цілісність файлів), debsums, ClamAV + maldet (антивірус), Auditd, AppArmor, Monit, Lynis (аудит), Logwatch, автооновлення безпеки.
  • Полегшений — для VPS з малим обсягом ОЗП: базовий набір без важких компонентів.
  • Налаштований сервер (хостинг-панель) — для вже працюючого сервера з панеллю (HestiaCP тощо), сайтами та поштою: лише адитивні зміни (доустановлення інструментів, cron, sudo-правила), а фаєрвол, Fail2ban, пошта, SSH і sysctl лишаються як є. На сервері з панеллю скрипт обирає цей режим сам.
Сухий прогін. У кабінеті можна поставити галочку «Сухий прогін» — тоді команда лише покаже, що скрипт установить і змінить, і завершиться, нічого не чіпаючи. Корисно на вже налаштованому сервері: спершу прогін, потім реальний запуск без галочки.

2) Виконайте на сервері під root команду з кабінету — вона має такий вигляд:

curl -fsSL "https://my.arciveo.com/install.php?token=YOUR_TOKEN" | sudo bash
Команду тримайте в секреті — вона прив'язана до вашого облікового запису. Посилання має обмежений термін дії; якщо воно застаріло, натисніть у кабінеті «Отримати нове посилання».
Після автоналаштування вебсервер — Apache + PHP-FPM, а інструменти безпеки та cron-завдання вже встановлені й працюють «з коробки».

3) Прочитайте вивід наприкінці — там сказано, що лишилося на вас. Скрипт завершує роботу блоком перевірок і списком «Далі — встановлення панелі». Частину кроків він свідомо не виконує: що саме — залежить від обраного профілю та від того, що він знайшов на сервері. Звіртеся зі списком нижче — виконувати потрібно лише ті пункти, рядки яких з'явилися у вашому виводі.

  • Control panel detected (…) — сайт створюється засобами самої хостинг-панелі, vhost скрипт не робить. Крок 03, гілка «Сервер із хостинг-панеллю».
  • No vhost created (no domain given) — профіль «Налаштований сервер» без домену: vhost без імені став би сайтом за замовчуванням і перехоплював би ваші ж сайти, тому його не створено. Крок 03, гілка «Створити vhost вручну».
  • sudo rules NOT written — скрипт не зміг визначити, під яким обліковим записом працює панель. Це звичайна ситуація: файли панелі завантажуються вже після автоналаштування, і визначати ще не було за чим. Без цих правил модулі не побачать системних даних. Крок 04, блок «sudo для вебсервера».
  • ! Nginx does not read .htaccess — перед Apache стоїть Nginx, і вписати заборону в його конфіг автоматично не вдалося. Зробіть це обов'язково: інакше data/, keys/, database/ і config.php віддаються назовні в обхід .htaccess. Крок 03, блок «Якщо перед Apache стоїть Nginx».
  • UFW installed but inactive — фаєрвол встановлено, але вимкнено: на налаштованому сервері скрипт не вмикає його сам, щоб не відрізати вам доступ. Увімкніть його самі, обов'язково дозволивши свій SSH-порт:
    sudo ufw allow OpenSSH # нестандартний порт SSH: sudo ufw allow 2222/tcp sudo ufw allow 80,443/tcp sudo ufw enable
  • Fail2ban installed but not running — запустіть: sudo systemctl enable --now fail2ban.
  • Database server present … but not running — запустіть СКБД до кроку 04: sudo systemctl enable --now mariadb (або mysql — залежно від того, що встановлено).
  • Certbot skipped — issue SSL in … — сертифікат видається вимикачем Let's Encrypt у хостинг-панелі; крок 06 вам не потрібен.
Якщо в блоці перевірок усе гаразд, останній рядок — All checks passed. Пункти з ! потребують уваги; подробиці пишуться в лог, його шлях скрипт друкує в самому кінці (Log: …).

02. Домен і DNS

Щоб відкривати панель за адресою на кшталт monitor.example.com та отримати безкоштовний SSL, домен має вказувати на сервер. У панелі керування DNS (у реєстратора чи хостера) створіть A-запис:

Тип: A Ім'я: monitor (піддомен → monitor.example.com) або @ (корінь домену → example.com) Значення: 203.0.113.10 ← IP вашого сервера TTL: 3600

За кілька хвилин (іноді до години) перевірте, що домен вказує на сервер:

dig +short monitor.example.com # має повернути ваш IP # або, якщо dig немає: getent hosts monitor.example.com
SSL-сертифікат (крок 06) видається лише на домен — тому DNS має вказувати на сервер до випуску сертифіката.

03. Завантажити файли панелі

Звичайний випадок (новий VPS). Автоналаштування вже створило каталог панелі /var/www/monitor і налаштувало сайт Apache (DocumentRoot на корінь панелі, PHP-FPM, AllowOverride для .htaccess). У виводі скрипта це рядок vhost … → DocumentRoot …. Окремо створювати каталог і vhost не потрібно — просто завантажте файли й виставте права.
Два випадки, коли vhost НЕ створено — скрипт прямо повідомляє про це наприкінці роботи. Тоді спершу виконайте потрібну гілку нижче, і лише потім завантажуйте файли.

Гілка «Сервер із хостинг-панеллю» (у виводі: Control panel detected (…)). Сайтами на такому сервері розпоряджається панель, і власний vhost скрипт не створює свідомо — його було б перезаписано під час першої ж перебудови конфігів панеллю. Порядок такий:

  1. Заведіть вебдомен у панелі хостингу (HestiaCP тощо) — її DocumentRoot лишається як є.
  2. Завантажте дистрибутив цілком у public_html цього домену: поруч з index.php, api/, assets/ мають лежати й службові config.php, includes/, data/, tmp/, logs/, keys/, cron/, database/. Нічого вище вебкореня виносити не потрібно: службові теки закриті файлом .htaccess з дистрибутива, а під Nginx — забороною, яку скрипт вписав у конфіг домену.
  3. SSL випускається вимикачем Let's Encrypt у самій панелі — крок 06 пропустіть.
  4. Далі — права (нижче на цьому кроці), база (крок 04) і config.php (крок 05). Шляхи в командах замініть на /home/акаунт/web/домен/public_html, а власника — на користувача цього домену замість www-data.

Гілка «Створити vhost вручну» (у виводі: No vhost created (no domain given)). Таке буває лише на профілі «Налаштований сервер», коли домен не було передано. Найпростіше — просто перезапустити команду з кабінету, вказавши домен:

curl -fsSL "https://my.arciveo.com/install.php?token=YOUR_TOKEN&profile=existing" | sudo bash -s -- monitor.example.com

Повторний запуск безпечний: уже зроблене не дублюється. Якщо ж vhost потрібно створити руками — ось той самий конфіг, що пише інсталятор:

sudo mkdir -p /var/www/monitor # Сокет PHP-FPM визначаємо автоматично — версія PHP на серверах різна. PHPSOCK=$(ls -1 /run/php/php*-fpm.sock 2>/dev/null | head -1) sudo tee /etc/apache2/sites-available/arciveo-monitor.conf > /dev/null <<'EOF' <VirtualHost *:80> ServerName monitor.example.com DocumentRoot /var/www/monitor <Directory /var/www/monitor> Options -Indexes +FollowSymLinks AllowOverride All Require all granted </Directory> <FilesMatch "\.php$"> SetHandler "proxy:unix:__PHPSOCK__|fcgi://localhost" </FilesMatch> ErrorLog ${APACHE_LOG_DIR}/arciveo-monitor_error.log CustomLog ${APACHE_LOG_DIR}/arciveo-monitor_requests.log combined </VirtualHost> EOF sudo sed -i "s#__PHPSOCK__#${PHPSOCK}#" /etc/apache2/sites-available/arciveo-monitor.conf sudo a2ensite arciveo-monitor.conf sudo apache2ctl configtest sudo systemctl reload apache2
ServerName тут обов'язковий. Vhost без імені стає сайтом Apache за замовчуванням і починає відповідати за чужі домени на цьому ж сервері. З тієї ж причини не вимикайте 000-default.conf на налаштованому сервері: цей сайт могли переробити під чийсь робочий — на новому VPS інсталятор прибирає його сам, тут цього робити не потрібно.
Якщо перед Apache стоїть Nginx (у виводі: ! Nginx does not read .htaccess). Nginx віддає статичні файли просто з диска і .htaccess не читає — службові теки виявляться відкритими назовні, хоча Apache їх коректно закриває. Скрипт заздалегідь підготував файл із заборонами; його потрібно підключити в блоці server{} вашого сайту й перезавантажити Nginx:
include /etc/nginx/snippets/arciveo-deny.conf;
sudo nginx -t && sudo systemctl reload nginx # Перевірка: має повернути 403, а не вміст файла curl -sI https://monitor.example.com/config.php | head -1
Файли панелі (архів дистрибутива) завантажуються після покупки в кабінеті my.arciveo.com → «Завантаження». Розпакуйте архів перед завантаженням на сервер.

Завантажте вміст дистрибутива у /var/www/monitor (щоб усередині опинилися public/, assets/, config.php тощо) — через SFTP/SCP (FileZilla / WinSCP) або командою scp з локального комп'ютера:

scp -r ./monitor/* deploy@203.0.113.10:/var/www/monitor/
Щоб у vhost одразу прописався ваш домен (ServerName), його передають у команду автоналаштування ще на кроці 01: … | sudo bash -s -- monitor.example.com (або вказують домен у полі «Домен панелі» в кабінеті). Якщо домен не передали — панель відповідає на будь-який хост і за IP, а ServerName пропише certbot під час випуску SSL (крок 06); перевстановлювати нічого не потрібно.
Виставте права на файли — це обов'язковий крок. Якщо завантажували під root або через SFTP, файли належать root, і веб-сервер (www-data) не зможе їх прочитати — панель відкриється порожньою або з помилкою 403 (у лозі: .htaccess unreadable / directory not executable). Команда нижче це виправляє:
# Нормалізуємо права всього вебрута: каталог, створений root, недоступний # веб-серверу (www-data) — без цього панель віддає порожню сторінку або 403. cd /var/www/monitor # Робочі папки створюємо ДО chown — інакше нові каталоги залишаться root:root # і при chmod 750 веб-сервер (www-data) не зможе в них писати. sudo mkdir -p data/lynis data/logwatch tmp logs sudo chown -R www-data:www-data /var/www/monitor sudo find /var/www/monitor -type d -exec chmod 755 {} \; sudo find /var/www/monitor -type f -exec chmod 644 {} \; sudo chmod 640 /var/www/monitor/config.php sudo chmod 750 data tmp logs

Відкрийте собі завантаження файлів через SFTP. Після наведеної команди всі файли належать www-data, а FileZilla / WinSCP підключаються під вашим власним користувачем — завантаження тоді завершиться помилкою SSH_FX_PERMISSION_DENIED (Permission denied). Оберіть один із двох варіантів.

Варіант A — ACL лише для вашого користувача (рекомендовано). Право запису отримуєте тільки ви; вебсервер так само не може перезаписати код панелі:

sudo apt install -y acl # Право запису вашому користувачеві на весь каталог панелі: sudo setfacl -R -m u:deploy:rwX /var/www/monitor # Те саме правило за замовчуванням — для файлів і тек, створених пізніше: sudo setfacl -R -d -m u:deploy:rwX /var/www/monitor

Варіант B — через групу www-data. Простіший, але право запису у файли панелі отримує й вебсервер: за наявності вразливості в PHP код можна буде підмінити. Порядок команд важливий — config.php і робочі теки закриваються останніми:

sudo usermod -aG www-data deploy # Запис для групи + setgid (біт 2): файли, завантажені через SFTP, лишаються # у групі www-data — інакше панель не зможе їх перезаписати. sudo find /var/www/monitor -type d -exec chmod 2775 {} \; sudo find /var/www/monitor -type f -exec chmod 664 {} \; sudo chmod 640 /var/www/monitor/config.php sudo chmod 2750 /var/www/monitor/data /var/www/monitor/tmp /var/www/monitor/logs
Після варіанта B перепідключіться у FileZilla (Сервер → Відключитися, потім увійти знову) — нова група застосовується лише при новому вході, до того прав усе одно не буде. Перевірка: id deploy — у списку груп має з'явитися www-data; ls -ld /var/www/monitor — права drwxrwsr-x, літера s замість x означає, що setgid встановлено.

04. База даних

Створіть базу та користувача, потім імпортуйте схему. Блок з БД вставляється в термінал повністю (sudo mysql входить root через unix-сокет — пароль root не потрібен). monitor_db і monitor_user — імена для прикладу, можете задати будь-які свої; запам'ятайте ім'я бази, користувача та пароль — впишете їх у config.php на наступному кроці:

# 1. База даних. Ім'я бази, користувач і пароль задаються ОДИН раз нижче й підставляються в усі рядки. # Блок вставляється в термінал ПОВНІСТЮ; sudo mysql входить root через unix-сокет # (пароль root не потрібен). НЕ використовуйте інтерактивний `sudo mysql -u root -p` # з копіпастом — під час вставки SQL-рядки підуть у запит пароля і зникнуть. DBNAME='monitor_db' # ← ім'я бази, можна залишити DBUSER='monitor_user' # ← користувач БД, можна залишити DBPASS='CHOOSE_A_PASSWORD' # ← пароль, задайте свій sudo mysql <<SQL CREATE DATABASE IF NOT EXISTS $DBNAME CHARACTER SET utf8mb4; CREATE USER IF NOT EXISTS '$DBUSER'@'localhost' IDENTIFIED BY '$DBPASS'; GRANT ALL ON $DBNAME.* TO '$DBUSER'@'localhost'; FLUSH PRIVILEGES; SQL # Перевірка (має показати $DBNAME): mysql -u "$DBUSER" -p"$DBPASS" -e "SHOW DATABASES;" # Ці самі три значення впишіть у config.php → DB_NAME, DB_USER, DB_PASS.
Зазвичай схему імпортувати не потрібно — панель сама створює таблиці й обліковий запис admin під час першого входу в браузері (з database/db.sql), якщо БД порожня.

Якщо таблиці не створилися (панель показує помилку підключення до БД або порожній екран замість форми входу) — імпортуйте схему вручну. Команда виконується в корені панелі, значення беруться з блоку вище:

# Імпорт схеми: cd /var/www/monitor && mysql -u "$DBUSER" -p"$DBPASS" "$DBNAME" < database/db.sql # Перевірка — має з'явитися список таблиць: mysql -u "$DBUSER" -p"$DBPASS" "$DBNAME" -e "SHOW TABLES;"
Якщо змінні $DBNAME / $DBUSER / $DBPASS уже «забулися» (нова сесія термінала) — підставте значення в команду руками або задайте їх заново тими самими трьома рядками з блоку вище.
sudo для вебсервера. Зазвичай правила вже записані автоналаштуванням, і модулі бачать системні дані одразу. Але якщо у виводі скрипта був рядок sudo rules NOT written — визначити обліковий запис панелі не було за чим (файли ще не завантажені), і правила не створено. Без них розділи на кшталт фаєрвола, Fail2ban і CrowdSec лишатимуться порожніми. Тепер, коли файли на місці, запустіть команду з кабінету ще раз, назвавши обліковий запис явно:
curl -fsSL "https://my.arciveo.com/install.php?token=YOUR_TOKEN&profile=existing" | sudo ARCIVEO_USER=www-data bash -s -- monitor.example.com
www-data замініть на користувача, під яким працює PHP вашого сайту (на хостинг-панелі це зазвичай власник домену). Подивитися його можна так:
ps -o user= -C php-fpm8.3 | sort -u # версію підставте свою # або: ps aux | grep -m3 '[p]hp-fpm'
Перевірка після перезапуску: файл /etc/sudoers.d/monitor існує і в ньому є рядки з вашим користувачем.

05. Налаштування config.php

config.php у корені панелі (/var/www/monitor/config.php) — єдиний файл, який потрібно редагувати вручну. Усі налаштування панелі задані в ньому константами define(). Відкрийте його в редакторі:

sudo nano /var/www/monitor/config.php

Підставте свої значення у підсвічені місця; решту залиште як є:

// --- База даних (з кроку 04) --- define('DB_HOST', 'localhost'); // залишити define('DB_NAME', 'db_name'); // що створили на кроці 04 define('DB_USER', 'user'); // що створили на кроці 04 define('DB_PASS', 'db_password'); // що задали на кроці 04 define('DB_CHARSET', 'utf8mb4'); // залишити // --- Застосунок --- define('APP_URL', 'https://monitor.example.com'); // адреса панелі, без слеша в кінці define('TIMEZONE', 'Europe/Kyiv'); // ваш часовий пояс // --- Час сесії --- define('SESSION_LIFETIME', 28800); // простій до повторного входу, сек (28800 = 8 год)

Що змінювати:

  • 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 зміни не застосуються:

sudo systemctl restart php*-fpm
config.php — секретний файл (у ньому пароль БД). Він лежить у корені панелі, який і є вебкоренем, але закритий: права 640 (виставлені на кроці 03) та явна заборона в кореневому .htaccess. Не викладайте його в публічні репозиторії та не передавайте в підтримку з реальним паролем.
Детальний розбір усіх параметрів — у FAQ: «Файл config.php — усі налаштування панелі».

06. Випуск SSL (HTTPS)

Панель працює лише через HTTPS. Сесія входу використовує захищений cookie, а WebAuthn (2FA) за стандартом працює тільки на HTTPS. Через http:// увійти не вдасться.
На сервері з хостинг-панеллю цей крок не потрібен (у виводі скрипта: Certbot skipped — issue SSL in …). Сертифікат видається вимикачем Let's Encrypt на вебдомені в самій панелі — так його продовженням теж опікується панель.

certbot і плагін для Apache вже встановлені автоналаштуванням. DNS домену вже має вказувати на сервер (крок 02). Випуск однією командою:

sudo certbot --apache -d monitor.example.com

Якщо панель має відкриватися ще й з www. — перелічіть обидва імені в одній команді, інакше на другій адресі браузер покаже попередження про сертифікат:

sudo certbot --apache -d monitor.example.com -d www.monitor.example.com
Друге ім'я додавайте, лише якщо на нього теж є A-запис, що вказує на цей сервер (крок 02). Інакше Let's Encrypt не зможе його перевірити і не видасть сертифікат цілком — разом з основним доменом.
Що запитає certbot:
  1. Enter email address — ваш e-mail (туди надійдуть сповіщення про закінчення сертифіката).
  2. Terms of Service … (Y)es/(N)o — Y.
  3. Share email with the EFF … (Y)es/(N)o — на ваш розсуд.
Далі certbot сам випустить сертифікат, пропише <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://.

07. Вхід і початкове налаштування

Відкрийте https://monitor.example.com, увійдіть admin / useradmin та пройдіть чекліст:

  1. Змінити пароль admin — розділ «Користувачі» в меню.
  2. Увімкнути WebAuthn (2FA) — «Ключі WebAuthn» → зареєструвати ключ/passkey (потрібен HTTPS). Зареєструйте одразу два: у разі втрати єдиного ключа вхід за ним буде неможливий. Докладніше.
  3. Обмежити доступ за IP — «Налаштування» → «Обмеження доступу за IP» (впишіть свою IP-адресу перед увімкненням, інакше закриєте собі доступ).
  4. Ввести ліцензію — код активації ARCIVEO-… з кабінету активуйте на свій домен і вставте ключ у «Налаштування» → «Ліцензія». Докладніше.
  5. Налаштувати сповіщення — Telegram та/або Email у «Налаштуваннях». Докладніше.
  6. Видалити інсталятор public/start_db.php, якщо він залишився: він дозволяє без авторизації повторно створити базу. Поки файл лежить у корені панелі або в public/, панель попереджає про нього червоним банером.
  7. Запустити перші перевірки вручну — інакше частина розділів буде порожньою до ночі (див. блок нижче).
Чому «Аудит Lynis» і «Logwatch» одразу порожні. Автоналаштування поставило інструменти й завело cron-завдання, але не запускало самі перевірки — вони підуть за розкладом: Lynis о 03:00, Logwatch о 06:00, debsums о 04:30, ClamAV о 01:30. До того часу розділи чесно показують, що звітів ще немає. Щоб не чекати добу, запустіть їх один раз вручну:
# Аудит Lynis — перший звіт (кілька хвилин): sudo /usr/local/bin/lynis-scan.sh # Звіт Logwatch за добу: sudo /usr/local/bin/logwatch_daily.sh # Цілісність пакетів (debsums) — на великому сервері триває довго: sudo /usr/local/bin/debsums-scan.sh
Lynis можна запустити й безпосередньо з панелі — кнопка «Запустити аудит» на сторінці «Аудит Lynis»: вона виконує той самий скрипт у фоні й сама оновлює звіт. Далі все йде за розкладом, вручну запускати більше не потрібно.
Перше антивірусне сканування (sudo /usr/local/bin/clamav-scan.sh) сильно навантажує диск і процесор і може тривати годину й більше — на робочому сервері краще дочекатися нічного запуску о 01:30. Розділи «Диски (SMART)», «Продуктивність» та «Оновлення безпеки» наповнюються самі: кожні 30 хвилин, 5 хвилин і раз на годину відповідно.
Готово. Довідник за кожним інструментом — у FAQ.
Потрібно розмістити на цьому сервері ще один сайт із власним доменом — див. FAQ: «Другий сайт на цьому сервері (ще один домен)».