Установка ПО

Подробная инструкция по установке скрипта iEXExchanger

Скриншоты представленные в инструкции могут отличаться от тех, которые будут использовать в вашей системе.

Замените "ваш_домен" на прямой адрес вашего обменника. (Например, если у обменника адрес test.ru то замените "ваш_домен" на test.ru).

Обращаем внимание, что все файлы должны загружаться под пользователем, созданным для сайта (не в коем случае не используйте root).

Файлы загруженные под root-пользователем могут привести к сбоям в работе обменника.

Системные требования

  • PHP 8.2 (не ниже)

  • MySQL 5.7 и выше

  • ioncube 13

  • Supervisor

Установка продукта

Создание сайта

Если используете панель управления Fastpanel, откройте и авторизуйтесь, если нет созданных сайтов, нажмите кнопку "Создать сайт", выберите "Создать сайт вручную".

Нажмите кнопку "Следующий шаг", для настройки конфигурации

Можете оставить пока без изменений и нажать кнопку "Создать сайт".

После создания, обязательно скачайте файл конфигурации которая пригодится при установке соединений.

Перейдите на главную и выберите созданный сайт.

Загрузка файлов

На официальном сайте, в личном кабинете, перейдите в раздел "Мои лицензия", нажмите "Мои скрипты"

На открывшейся странице скачайте "Установка скрипта iEXExchanger PRO с нуля"

Скачанный архив или его содержимое необходимо загрузить на сервер. Загрузку следует производить в корневую папку сайта (как правило, это папки public_html или www).

Воспользуйтесь встроенным в панель управления файловым менеджером или используйте FTP-клиент для загрузки файлов (например): FileZilla.

Файлы лицензии и ключ

Используя инструкцию ниже, скачайте и загрузите файлы лицензии.

Файлы лицензии

Для получения лицензионного ключа, откройте официальный сайт (авторизуйтесь), зайдите в личный кабинет и откройте вкладку "Мои лицензии" и в списке доступных лицензии, скопируйте "Лицензионный ключ" для подходящего домена.

После загрузки всех необходимых файлов на сервер (распаковав), откройте на сервере файл .env для выполнения основных настроек

Ключ лицензии

Для того чтобы активировать ключ, найдите параметр LICENSE_KEY и пропишите полученный ключ.

.env
LICENSE_KEY=Вставьте сюда лицензионный ключ

Соединение с базой данных

Параметры для соединения с базой данных находятся в файле, которую скачали при создании сайта

.env
DB_HOST=
DB_PORT=
DB_USERNAME=
DB_PASSWORD=

Настройка сессий

Заранее убедитесь, что этих параметров нет в файле, а если есть, удалите и пропишите то что представлено ниже.

SESSION_DRIVER=database
SESSION_DOMAIN=null
SANCTUM_STATEFUL_DOMAINS=https://ваш_домен
FRONTEND_URL=ваш_домен
SESSION_SECURE_COOKIE=false

SESSION_DOMAIN - можно настроить 2 способами

  • null - доступно только для конкретного домена

  • ваш_домен - доступно на всех под-доменах

Теперь, необходимо создать еще одну базу данных, чтобы не нагружать основную.

В панели управления FastPanel, в левом меню перейдите "Управления - База данных", справа в углу нажмите кнопку "Новая база данных".

На открывшейся окне, заполните поля

Имя и Логин, сделайте идентичными (Например: pulse_db)

Сайт - выберите ваш сайт

Владелец* - выберите имя пользователя сайта (не root и не fastuser)

Пароль - сгенерируйте пароль

Нажмите кнопку "Сохранить"

Откройте снова на сервере файл .env, и добавьте параметры ниже:

.env
PULSE_DB_CONNECTION=mysql-pulse
PULSE_DB_HOST=127.0.0.1
PULSE_DB_PORT=3306
PULSE_DB_DATABASE=pulse_db
PULSE_DB_USERNAME=pulse_db
PULSE_DB_PASSWORD=Сгенерированный пароль

Для шифрования реферальных ключей, добавьте 15-значный ключ в формате: A-z, 0-9

.env
REFERRAL_LINK_HASH=10_значный_ключ

Сохраните настройки

Загрузка базы данных

На сервере выберите сайт и нажмите "Базы данных", рядом с именем вашей базы, нажмите на иконку

В левом меню, выберите базу данных и нажмите "Импорт". Выберите загружаемую базу данный, расположенную в архиве, в папке database/iex_data.sql и нажмите кнопку "Импорт".

Теперь необходимо настроить сам сервер а для этого авторизуйтесь в терминале под учетной записью root, для выполнения команд.

Как открыть терминал?
sudo apt update
sudo apt upgrade
sudo apt install redis
sudo apt install build-essential php-pear php8.2-dev libevent-dev
sudo apt install php8.2-bcmath php8.2-gmp php8.2-intl php8.2-soap php-imagick php-ioncube php-redis php-yaml
pecl channel-update pecl.php.net
pecl install ev

echo "extension=ev.so" > /etc/php/8.2/mods-available/ev.ini
phpenmod ev

Выполните команду для открытия конфигурации лимитов.

nano /etc/security/limits.conf

Пролистайте вниз и добавьте несколько строк

имя_пользователя - замените на имя учетной записи на сервере.

Где найти путь к проекту и имя пользователя?
limits.conf
www-data	soft  nofile  10000
www-data	hard  nofile  10000
имя_пользователя    soft  nofile  10000
имя_пользователя    hard  nofile  10000

После добавления сохраните данные CTRL+X потом Y и далее Enter.

Для настойки конфигурации nginx выполните команду для открытия файла

nano /etc/nginx/nginx.conf

После строки pid /var/run/nginx.pid; добавьте несколько пунктов.

nginx.conf
worker_rlimit_nofile 10000;
 
events {
  worker_connections 10000;
  multi_accept on;
}

После добавления сохраните данные CTRL+X потом CTRL+Y и далее Enter.

Теперь необходимо перейдите по ссылке ниже, чтобы установить и настроить важный плагин для стабильной работы Supervisor.

Установка Supervisor

После установки Supervisor, выполните команду ниже

chown -R имя_пользователя: путь_к_проекту

Настройка доп. параметров

выполните в терминале команду, чтобы авторизоваться под учетной записью пользователя

su -l имя_пользователя

Перейдите в проект, выполните команду

cd /www/ваш_сайт

Для установки дополнительных таблиц и настройки, выполните команды

php artisan iex:update
php artisan key:generate
php artisan reverb:install

Если все прошло успешно, вернитесь на сервер и откройте .env файл

Пролистайте до конца, найдите и замените некоторые параметры:

.env
REVERB_HOST и замените "localhost" на ваш домен "Пример: test.ru"
REVERB_PORT замените 8080 на 443
REVERB_SCHEME - замените http на https

Финальные результаты:

.env
REVERB_HOST=test.ru
REVERB_PORT=443
REVERB_SCHEME=https

Далее, добавьте несколько параметров в конце:

.env
REVERB_SCALING_ENABLED=false
PULSE_SERVER_NAME=iexproject
PULSE_REDIS_CONNECTION=pulse
PULSE_INGEST_DRIVER=redis

Сохраните настройки

Теперь, на сервере откройте файл /config/reverb.php

Найдите 'allowed_origins' => ['*'] замените * на ваш домен (Пример: ваш_домен)

'apps' => [

        'provider' => 'config',

        'apps' => [
            [
                'allowed_origins' => ['ваш_домен'],
            ],
        ],

    ],

Сохраните настройки

Панель управления FastPanel

Действия в панели управления Fastpanel, выполняются только после создания сайта и загрузки файлов на сервер

На главной странице панели управления, слева нажмите кнопку "Сайты" - выберите сайт и на открывшейся странице, перейдите к разделу "Настройки"

Во вкладке "Директория сайта" измените так, как указано на скрине.

Теперь, вернитесь назад и перейдите в раздел "Ручная настройка"

Во вкладке "Frontend":

после

location / {

    proxy_pass http://127.0.0.1:81;
    proxy_redirect http://127.0.0.1:81/ /;
    include /etc/nginx/proxy_params;
}

добавьте код

location /app {

        proxy_http_version 1.1;
        proxy_set_header Host $http_host;
        proxy_set_header Scheme $scheme;
        proxy_set_header SERVER_PORT $server_port;
        proxy_set_header REMOTE_ADDR $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
 
        proxy_pass http://0.0.0.0:8080;
    }

Сохраните настройки

Настройка конфигурации

SSL Сертификат

Для создания SSL-Сертификата на сервере откройте сайт, нажмите "SSL Сертификаты".

Нажмите кнопку "Новый сертификат", выберите Самоподписанный и нажмите "Сохранить"

Доступ к панели управления

Доступ к панели управления по умолчанию: https://ваш_домен/iexadmin

Данный для входа

  • E-mail: user@iexbase.com

  • Password: Инструкция по сбросу пароль можете найти перейдя по ссылке ниже в блоке "Через терминал"

Для создания пароля, в терминале введите команду php artisan iex:resetpass и укажите ваш пароль

Как восстановить доступ к панели управления?

После установке скрипта, обязательно перезагрузите сервер.

Вопросы и Ответы

Не могу попасть в файловый менеджер fastpanel, что делать?

Закомментируйте в файле nano /etc/pam.d/login строку:

session optional pam_lastlog.so

И перезапустите службу ssh:

systemctl restart sshd

Как настроить конфигурацию для Nginx?

Если развертываете сайт на сервере, на котором работает Nginx, то вы можете использовать следующий конфигурационный файл в качестве отправной точки для настройки веб-сервера. Скорее всего, этот файл нужно будет настроить в зависимости от конфигурации вашего сервера.

Убедитесь, что, как и в конфигурации ниже, ваш веб-сервер направляет все запросы в файл public/index.php вашего приложения. Вы никогда не должны пытаться переместить файл index.php в корень вашего проекта, поскольку обслуживание приложения из корня проекта откроет доступ ко многим конфиденциальным файлам конфигурации из общедоступной сети Интернет:

nginx.conf
server {
    listen 80;
    listen [::]:80;
    server_name example.com;
    root /srv/example.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 = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }
 
    error_page 404 /index.php;
 
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
 
    location ~ /\.(?!well-known).* {
        deny all;
    }
}

Рекомендуемые ссылки

Настройка Cloudflare

Last updated