Skip to content

Latest commit

 

History

History
66 lines (47 loc) · 3.27 KB

setup.md

File metadata and controls

66 lines (47 loc) · 3.27 KB

English | Русский

Установка и развёртывание

Требования

  • PHP 7.3+ (проверено на 8.3/8.4) с расширениями mysqli, gmp/bcmath (для class/viz_keys.php);
  • MySQL / MariaDB;
  • nginx (или другой веб-сервер) с проксированием всех запросов на index.php;
  • доступ к публичной JSON-RPC ноде VIZ.

Минимальный вариант: если серверные витрины (аккаунты на продаже, платные подписки) не нужны, БД и cron можно не поднимать — кошелёк работает и без них.

Шаги

  1. Скопировать код в корень сайта (пример развёрнут в корне домена https://wallet.viz.world/).

  2. Создать конфигурацию. Скопируйте пример и заполните значения:

    cp config.example.php config.php

    config.php игнорируется git (см. .gitignore) и не должен попадать в репозиторий — там пароль админа и доступ к БД. Параметры:

    Ключ Описание
    $users_arr Логины/пароли для входа в admin.php.
    server_timezone Часовой пояс сервера.
    db_host / db_login / db_password / db_base Доступ к MySQL.
    jsonrpc_node URL JSON-RPC ноды VIZ.
  3. Создать таблицы БД (только если нужны витрины):

    mysql -u <login> -p <database> < tables.sql
  4. Настроить nginx. Возьмите за основу nginx.example.conf: все запросы, не соответствующие файлу/директории, переписываются на index.php, *.php обрабатываются через php-fpm.

  5. Настроить cron для обновления витрин (только если нужны витрины):

    */10 * * * * php /var/www/wallet.viz.world/updater.php > /dev/null 2>&1

    Периодичность — на ваше усмотрение (например, раз в 10 минут).

  6. Проверить админку. Откройте /admin.php, войдите под логином/паролем из $users_arr, убедитесь, что видны разделы витрин.

Безопасность

  • Никогда не коммитьте config.php и приватные ключи. .gitignore уже защищает config.php, *.wif, *.key, *.pem.
  • Пароль админа в config.php хранится в открытом виде — используйте отдельный сильный пароль и ограничьте доступ к admin.php на уровне сервера при необходимости.
  • В репозитории не должно быть инструментов вроде Adminer и т.п.: они дают прямой доступ к БД.