Для работы необходим виртуальный сервер. Характеристики сервера следует подбирать, исходя из посещаемости сайта. В большинстве случаев будет достаточно бюджетного сервера (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". Для установки резервной копии распакуйте содержимое архива в корневую директорию сайта.