Установка ПО

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

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

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

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

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

В этой инструкции описаны предварительные шаги для выбора сервера а также установки продукта iEXExchanger.

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

  • PHP 8.2 (не ниже)

  • MySQL 5.7 и выше

  • ioncube 13

  • Supervisor

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

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

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

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

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

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

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

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

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

Откройте на сервере файл .env, и пропишите соединение с базой (Данные к соединению с базой находится в файле, которую скачали при создании сайта)

.env
DB_HOST=
DB_PORT=
DB_USERNAME=
DB_PASSWORD=

Необходимо в .env добавить еще несколько строк

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

SESSION_DRIVER=file
SESSION_DOMAIN=ваш_домен
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=Сгенерированный пароль

Для регистрации ключа, под реферальную систему, в .env файле, добавьте 15-значный ключ в формат которого должен быть: A-z, 0-9

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

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

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

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

Лицензионный ключ

Информацию о получении файлов проекта и лицензии, прочитайте перейдя по ссылке ниже

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

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

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

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

Рекомендуемая операционная система Debian 12

Перед началом загрузки файлов на сервер, необходимо настроить сам сервер а для этого авторизуйтесь в терминале под учетной записью 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, выполните команду ниже

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

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

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

sudo -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;
    }
}

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

Last updated