English | Русский
- PHP 7.3+ (проверено на 8.3/8.4) с расширениями
mysqli,gmp/bcmath(дляclass/viz_keys.php); - MySQL / MariaDB;
- nginx (или другой веб-сервер) с проксированием всех запросов на
index.php; - доступ к публичной JSON-RPC ноде VIZ.
Минимальный вариант: если серверные витрины (аккаунты на продаже, платные подписки) не нужны, БД и cron можно не поднимать — кошелёк работает и без них.
-
Скопировать код в корень сайта (пример развёрнут в корне домена
https://wallet.viz.world/). -
Создать конфигурацию. Скопируйте пример и заполните значения:
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_nodeURL JSON-RPC ноды VIZ. -
Создать таблицы БД (только если нужны витрины):
mysql -u <login> -p <database> < tables.sql
-
Настроить nginx. Возьмите за основу nginx.example.conf: все запросы, не соответствующие файлу/директории, переписываются на
index.php,*.phpобрабатываются через php-fpm. -
Настроить cron для обновления витрин (только если нужны витрины):
*/10 * * * * php /var/www/wallet.viz.world/updater.php > /dev/null 2>&1
Периодичность — на ваше усмотрение (например, раз в 10 минут).
-
Проверить админку. Откройте
/admin.php, войдите под логином/паролем из$users_arr, убедитесь, что видны разделы витрин.
- Никогда не коммитьте
config.phpи приватные ключи..gitignoreуже защищаетconfig.php,*.wif,*.key,*.pem. - Пароль админа в
config.phpхранится в открытом виде — используйте отдельный сильный пароль и ограничьте доступ кadmin.phpна уровне сервера при необходимости. - В репозитории не должно быть инструментов вроде Adminer и т.п.: они дают прямой доступ к БД.