一、安装相关依赖
pacman -S gcc python-pip python-virtualenvwrapper
sudo su
apt update && apt-get upgrade && apt-get install python3-pip python3-virtualenvwrapper
二、安装数据库
pacman -S mariadb
启动 MariaDB 服务并设置开机启动
systemctl start mariadb
systemctl enable mariadb
初始化数据库
mariadb-install-db --user=mysql --basedir=/usr --datadir=/srv/mysql
修改数据库数据目录
nano -w /etc/my.cnf.d/server.cnf
[mysqld]
datadir = /srv/mysql
nano -w /etc/my.cnf.d/mysql-clients.cnf
[mysql]
password = password
重新启动MariaDB
systemctl restart mariadb
进入系统修改密码
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password');
创建数据库
mysql> CREATE DATABASE marzban-shop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql> GRANT ALL PRIVILEGES ON marzban-shop.* TO 'marzban'@'localhost' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
三、安装Marzban-shop
安装虚拟环境
cd /srv
/usr/bin/virtualenvwrapper.sh marzban_env
/usr/bin/python -m venv /srv/marzban_env
/srv/marzban_env/bin/pip install --upgrade pip
git clone https://github.com/gunsh1p/marzban-shop.git
cd marzban-shop
四、修改配置文件
mv goods.example.json goods.json
mv .env.example .env
nano -w .env
BOT_TOKEN=6112851231:AAEXjiyZQgZv_rT3X_j1NgFjcsAHkHRaPl8
SHOP_NAME=VVVPN
PROTOCOLS=vmess
TEST_PERIOD=false
PERIOD_LIMIT=3
ABOUT=What do you want to know about Queen?
RULES_LINK=https://mmbox.store
SUPPORT_LINK=https://mmbox.store
YOOKASSA_TOKEN=
YOOKASSA_SHOPID=
EMAIL=catislands002@gmail.com
CRYPTO_TOKEN=
MERCHANT_UUID=
DB_NAME=marzban-shop
DB_USER=marzban
DB_PASS=queen1337
DB_ROOT_PASS=cz_lib_8011
DB_ADDRESS=localhost
PANEL_HOST=http://localhost:8000
PANEL_GLOBAL=https://us.6us.xyz
PANEL_USER=zeno
PANEL_PASS=CZ_hr_801101
WEBHOOK_URL=https://webhook.another-one-bites-the-dust.vpn
WEBHOOK_PORT=8080
nano -w goods.json
[
{
"title": "VPN For Semi-Annually",
"price": {
"en": 10,
"ru": 100
},
"callback": "simple_vpn",
"months": 6
}
]
五、安装依赖并且运行
cd marzban-shop
/srv/marzban_env/bin/pip install -r requirements.txt
/srv/marzban_env/bin/pybabel compile -d locales -D bot
增加环境变量的导入
nano -w migration/env.py
import os
from logging.config import fileConfig
from dotenv import load_dotenv
from sqlalchemy import engine_from_config
from sqlalchemy import pool
from alembic import context
from db.models import Base
# this is the Alembic Config object, which provides
# access to the values within the .ini file in use.
config = context.config
load_dotenv()
执行数据库创建
cd bot
/srv/marzban_env/bin/alembic upgrade head
运行起来
/srv/marzban_env/bin/python3 main.py