Для роботи потрібен віртуальний сервер. Характеристики сервера слід підбирати, виходячи з відвідуваності сайту. У більшості випадків буде достатньо бюджетного сервера (1 CPU, 1 GB RAM, 10 GB SSD).
Рекомендуємо використовувати DigitalOcean.
Купівля сервера на DigitalOcean
1) Перейдіть до розділу "Droplets" та натисніть кнопку "Create Droplet".
2) У "Choose Region" виберіть дата-центр "Frankfurt".
3) У "Choose an image" виберіть операційну систему "Debian" та версію "12 x64".
4) У "Choose Size" виберіть опцію "Droplet Type" – "Basic" та бажаний тариф, наприклад "Regular" – "1 GB / 1 CPU".
5) У "Backups" увімкніть опцію "Enable automated backups", це дозволить автоматично створювати резервні копії сервера.
6) У "Choose Authentication Method" виберіть "Password" та придумайте пароль для доступу до сервера.
7) У "We recommend these options" увімкніть опцію "Add improved metrics monitoring and alerting" та натисніть кнопку "Create Droplet".
1) PHP 7.4.x - 8.2.x, включаючи пакети: "mysql", "mbstring", "simplexml", "gd", "curl", "gmp", "zip", "bcmath", "imagick".
2) MySQL/MariaDB з використанням плагіна авторизації "mysql_native_password".
3) Коренева директорія сайту на сервері має бути "/public", права доступу "755", власник "www-data".
5) Вебсервер NGINX/Apache. Усі запити повинні бути перенаправлені до файлу "/public/index.php".
6) Підключення сайту до сервісу CloudFlare або встановлення плагіна GeoIP на сервері для отримання інформації про географію користувачів.
1) Розпакуйте архів із файлами на сервері.
2) Увійдіть до панелі керування, використовуючи дані, зазначені на сторінці завантаження скрипту в акаунті.
3) Перейдіть до розділу "Налаштування додатка" - "Налаштування під'єднання до бази даних" та під'єднайтеся до бази даних.
4) Налаштуйте планувальник завдань (CRON) для користувача "www-data" на виконання команди щохвилини:
* * * * * /usr/bin/php /var/www/ВАШ.ДОМЕН/public/index.php >> /dev/null 2>&1
Встановлення на сервер з панеллю керування
Приклад конфігурації віртуального хоста NGINX
server {
listen 80;
server_name demo.exchanger-cms.com;
root /var/www/demo.exchanger-cms.com/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri = 404;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
Збільшення лімітів NGINX та PHP
Рекомендуємо збільшити стандартний ліміт для NGINX та PHP, щоб користувачі сайту могли завантажувати фотографії більшого розміру під час проходження верифікації.
nginx.conf
http {
…
client_max_body_size 15M;
…
}
php.ini
upload_max_filesize = 5M
Встановлення оновлень скрипту відбувається автоматично. Перевірити наявність доступних оновлень можна у розділі "Оновлення".
Відкат оновлення
Резервні копії зберігаються перед кожним оновленням у директорії сайту під назвою "backup-{hash}-{version}.zip". Для встановлення резервної копії розпакуйте вміст архіву до кореневої директорії сайту.