# 程序安装
[TOC]
## 程序授权
本程序为授权使用,一个授权资格只能应用一台搭建宝塔面板的服务器,请确保服务器具备公网访问能力
授权地址:[https://auths.yum6.cn](https://auths.yum6.cn)
活动通知:btHost预览版可长期免费授权,解释权归属作者!
授权模式:静默授权,授权域名处填写 **`服务器公网IP`**,不要填写域名!!!
离线授权码:`授权站用户中心` => `授权列表` => `点击显示` => `复制授权码`
>[warning] 授权更换IP、续费授权码都会变动,删除`/application/extra/auth.php`文件,或修改`code`参数为空,重新请求即可在线授权获取离线授权码
>[info] 如服务器无固定公网IP,且公网IP频繁变动请等待后续优化
## 安装包获取
>[success] 程序授权后,授权列表右侧按钮进行下载
## 环境要求
~~~
PHP >= 7.1 且 < 7.3 (推荐PHP7.2版本,禁opcache插件)
Mysql >= 5.5.0 (需支持innodb引擎)
Apache 或 Nginx 或 IIS
PDO PHP Extension
MBstring PHP Extension
CURL PHP Extension
禁用防篡改
~~~
## 程序部署
>[danger] 本程序仅支持部署到运行宝塔面板的服务器中,不支持外部web空间安装和使用
### **常规部署**
1. 上传源代码包到网站根目录中(必须安装在宝塔面板服务器中)
2. 解压到网站根目录
3. 设置运行目录为public
![](https://img.kancloud.cn/6b/61/6b61427191d49128ed933a085b496ed9_594x333.png)
>[warning] 请打开防跨站开关
4. 设置伪静态为thinkphp
![](https://img.kancloud.cn/dc/46/dc463ecf16912f42196bf1572abeff8a_681x436.png)
5. 设置PHP版本 PHP >= 7.1 且 < 7.3
### **一键部署**
1. 找到宝塔面板中的软件管理
2. 点击一键部署
3. 搜索项目名称`bthost`
4. 点击一键部署
5. 填写域名、选择PHP版本号等信息后提交
## 程序安装
#### **在线安装**
程序安装地址:`/install.php`
1. 填写数据库信息
2. 填写宝塔API密钥、宝塔面板端口、面板Url协议
>[info] 宝塔API密钥获取地址:`宝塔面板` - `面板设置` - `API接口` - `接口密钥`
> 将`127.0.0.1`和服务器公网IP加入IP白名单中保存并开启API接口
> ![](https://img.kancloud.cn/a1/65/a165b3fc9a8070a8c5e42cfd9f2a4c55_512x399.png)
>>[danger] `1.3.0`版本请注意:如已添加127.0.0.1还是提示该错误,请删除`/runtime`目录重试即可
>[warning] 如遇授权检查失败,请多次尝试授权即可,也可以在授权中获取离线授权码进行授权
3. 填写管理员信息
4. 填写网站信息
#### **手动安装**
- 手动导入数据库文件,位于`application\admin\command\Install\bthost.sql`(使用phpMyAdmin可能还是会超时502,建议使用第三方数据库管理工具进行导入,如`/adminer.php`,`Navicat`,`SQL_Front`等等
- 手动写入数据库连接配置,位于`application\database.php`
![](https://img.kancloud.cn/3b/be/3bbe7f24bd99358fefc855f8209db1f1_560x211.png)
- 手动写入安装锁文件,位于`application\admin\command\Install`创建一个空文件`install.lock`
- 手动配置离线授权码,位于`application\extra\auth.php`,填写授权站获取的离线授权码
以上操作可完成程序安装,安装后进入后台`/admin.php`,初始帐号密码如下
帐号:`admin`
密码:`admin000`
进入后台后,请尽快按照 [初始化](初始化.md) 流程进行服务器配置(要不然会提示连读20次验证失败封禁一小时),即可正常使用!
## 常见问题
1. 如果提示`当前权限不足,无法写入配置文件application/database.php`,请检查`database.php`是否可读,还有可能是当前安装程序无法访问父目录,请检查PHP的`open_basedir`配置,请检查是否已禁用`防篡改`
2. 如果提示`找不到bthost.bth_admin`表或表不存在,请检查你的MySQL是否开启了支持`innodb`
3. 更多问题请移步 [常见问题](常见问题.md)