A virtual server is required for operation. The server specifications should be chosen based on the website's traffic. In most cases, a budget server (1 CPU, 1 GB RAM, 10 GB SSD) will be sufficient.
We recommend using DigitalOcean.
Purchasing a server on DigitalOcean
1) Go to the "Droplets" page and click the "Create Droplet" button.
2) In "Choose Region," select the "Frankfurt" data center.
3) In "Choose an image," select the "Debian" operating system and version "12 x64".
4) In "Choose Size," select "Droplet Type" – "Basic" and the desired plan, for example, "Regular" – "1 GB / 1 CPU".
5) In "Backups," enable the "Enable automated backups" option to create automatic backups of the server.
6) In "Choose Authentication Method," select "Password" and create a password for accessing the server.
7) In "We recommend these options," enable the "Add improved metrics monitoring and alerting" option and click the "Create Droplet" button.
1) PHP 7.4.x - 8.2.x, including packages: "mysql", "mbstring", "simplexml", "gd", "curl", "gmp", "zip", "bcmath", "imagick".
2) MySQL/MariaDB with authentication using the "mysql_native_password" plugin.
3) The website root directory on the server should be "/public", with access rights set to "755", and the owner set as "www-data".
5) NGINX/Apache web server. All requests should be redirected to the "/public/index.php".
6) Connect your site to CloudFlare or use GeoIP plugin on the server to gather information about user geography.
1) Unpack the archive with files on the server.
2) Log in to the dashboard using the data provided on the script download page in your account.
3) Go to the "Application Settings" - "Database Connection Settings" section and connect to the database.
4) Set up the task scheduler (CRON) for user "www-data" to run the command every minute:
* * * * * /usr/bin/php /var/www/YOUR.DOMAIN/public/index.php >> /dev/null 2>&1
Installation on a Control Panel Server
NGINX Virtual Host Configuration Example
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;
}
}
Increase NGINX & PHP Limits
We recommend increasing the default limits for NGINX and PHP, this will allow users to upload larger photos when passing verification.
nginx.conf
http {
…
client_max_body_size 15M;
…
}
php.ini
upload_max_filesize = 5M
Script updates are installed automatically. Check for available updates in the "Updates" section.
Rollback of an Update
Backups are saved before each update in the website directory with the name "backup-{hash}-{version}.zip". To install a backup, extract the contents of the archive to the website root directory.