宝塔面板安装服务
宝塔面板安装服务
如果应用启动失败,请查看对应文件夹权限 chmod 777 -R [file|filePath] 或 面板中使用root用户启动服务
注意:
- 必须为没装过其它环境如 Apache/Nginx/php/MySQL 的新系统,推荐使用 centos 7.X 的系统安装宝塔面板;
- 安装前请确保是 【全新的机器】,没有安装其他任何环境,否则会影响您的业务使用!
- 系统兼容性顺序:Centos7.x > Debian10 > Ubuntu 20.04 > Centos8 stream > Ubuntu 18.04 > 其它系统
- Centos官方已宣布在2020年停止对Centos6的维护更新,各大软件开发商也逐渐停止对Centos6的兼容,新服务器不建议使用Centos6
1. 宝塔安裝
https://www.idcnote.com/
官网:https://www.bt.cn/new/index.html
安装:https://www.bt.cn/new/download.html
为方便记忆用户名、密码可配置为:admin/123456; 忘记用户名和密码可通过bt命令进行修改
# CentOS安装脚本 yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec # 根据提示进行操作 …… Congratulations! Installed successfully! ================================================================== 外网面板地址: http://218.4.104.66:30070/34d9664f 内网面板地址: http://192.168.10.31:30070/34d9664f username: p3tg1p3g password: 6b6ed78e If you cannot access the panel, release the following panel port [30070] in the security group 若无法访问面板,请检查防火墙/安全组是否有放行面板[30070]端口 ================================================================== # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld
2. 宝塔初始化
1. 初始化面板
具体访问链接、默认账号密码,参看安装脚本控制台输出提示;或输入bt命令查看
2. 注册并绑定宝塔账号
3. 安装套件
关闭https:
4. MySQL配置
MySQL数据库创建用户root@%,授权允许远程登录
# 一、在Linux上以root账号登录主机
# 二、在主机上登录MySQL
mysql -uroot -p123456
# 三、先删除原来的 root@% 用户(若之前没有创建,则跳过此步骤)
drop user 'root'@'%';
# 四、删除成功了,再创建用户 root@%
create user 'root'@'%' identified with mysql_native_password by '123456';
# 五、接着授权
grant all on *.* to 'root'@'%' with grant option;
# 六、刷新配置
flush privileges;
# 七、退出
exit;
# 关闭授权(拓展)
revoke all on *.* from dba@localhost;
5. 防火墙配置(开放端口访问)
防火墙默认开启
需要开放对应端口供外接访问或关闭防火墙
- 远程客户端链接mysql服务
6. bt命令
可以通过bt命令进行一下配置
3.Zendao安装
1. 18.1版本
下载 [PHP源码包]
- https://www.zentao.net/dynamic/zentaopms18.1-82069.html
安装
- https://www.zentao.net/book/zentaopmshelp/40.html <宝塔面板安装禅道>
设置管理员用户名和密码:如 admin/123456
访问:http://IP:PORT/index.php
关闭弱口令
- 修改密码
禅道管理员密码忘记了,怎么找回? 登录禅道数据库ztuser 表,找到用户的记录,把password 的值改成e10adc3949ba59abbe56e057f20f883e ,登录密码就是123456 。 存在的问题是,一键安装后远程无法连接数据库,登陆不了数据库,没有办法处理这个问题
2. 20.3.0版本
下载: https://www.zentao.net/downloads.html
上传文件并解压
- 新建站点
- 配置
- 安装
环境检查
系统已开启了CSRF的防御,如需关闭,请联系管理员到/www/wwwroot/ZenTaoPMS-20.3.0-php7.2_7.4/zentaopms/config/config.php文件中手动关闭。
- 安装扩展+session配置
刷新页面 -> 下一步
配置数据库 (先创建数据库)
- 允许弱口令
4. TPShop项目部署
V2 和 v3版本有点差别
V3:php版本:7.0
1. 上传项目文件
2. 设置文件权限
# 控制面板解压缓慢,使用命令进行解压
unzip TPShop-v3.0.zip
mv html tpshop_v3
# 移除安装标识
cd /xxxxx/tpshop_v3/install
rm -rf install.lock
3. php版本问题修复
4. 项目初始化
访问:http://IP:9002
5. mysql配置(项目需要)
# 配置sqlmode语法校验规则
[mysqld]
# sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
6. 安装成功
7. 访问链接
- 手机端:http://IP:PORT/mobile/Index/index.html
- PC前台:http://IP:PORT/index.php
- 后台:http://IP:PORT/index.php/Admin/Admin/login.html (admin/123456)
8. nginx 伪静态配置
# 因为登陆/注册没有添加index.php前缀需要添加才能访问
# !!!删除网站根目录生成的index.html,使用项目的index.php!!!
# 不添加此配置接口调用需要添加index.php/
location / {
index index.html index.htm index.php;
if (!-e $request_filename){
# index.php/
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
9. 错误修复
- 关闭跨站攻击
清空缓存,刷新页面 (F12+(Shift+F5))
10. 关闭默认页面
11. 验证码修改
代码路径
xxx/TPShop-v3.0/html/thinkphp/library/think/Verify.php
class Verify { protected $config = array( // 验证码字符集合 //'codeSet' => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY', 'codeSet' => '8888', //改为8888 ) }
12. 开启限时抢购
13. 会员充值
5. YAPI部署
5.1 环境要求
nodejs(^12.+)
mongodb(2.6+)
配置远程访问、开启授权
或使用管理页面
使用navicat连接mondo
提示:创建其他数据库,并新增用户,需要新建集合并新增数据才给用户分配角色
管理员(超级管理员)创建
# 创建一个 admin 管理员账号: mongo use admin db.createUser({ user: 'root', pwd: 'admin', roles: [ { role:"root", db:"admin"}, ] }); db.auth('root','admin')
创建数据库
# 新开mongo窗口 进入 MongoDB 的 mongo cli 后,执行以下语句进行初始化库表 # 创建 yapi 数据库 use yapi; # 创建给 yapi 使用的账号和密码,限制权限 db.createUser({ user: 'yapi', pwd: 'yapi', roles: [ { role: "dbAdmin", db: "yapi"}, { role: "dbOwner",db: "yapi" }, { role: "enableSharding", db: "yapi" }, { role: "read",db: "yapi" }, { role: "readWrite",db: "yapi" }, { role: "userAdmin",db: "yapi" } ] }); db.auth('yapi','yapi') # 创建集合数据库才会保存 db.createCollection('a') # 退出 Mongo Cli exit
- 先新增管理员,再修改配置[可选]
5.2 NPM安装yapi
- [root@localhost ~]# npm install -g yapi-cli --registry https://registry.npm.taobao.org
- yapi server
- 访问路径:IP:9090, 日志有提示
- 部署成功
启动项目
修改端口
- 运行用户使用root用户,不然启动不起来(可能是权限问题,可以给wwwlogs授权 chmod 777 -R wwwlogs)。
5.3 yapi使用
https://hellosean1025.github.io/yapi/index.html
- 添加分组
添加项目
添加成员
添加接口分类与接口
5.4 mock数据
- 运行需要插件cross-request
- git clone https://github.com/YMFE/cross-request
- 安装插件
- 或者安装 Yapi-X插件
6. 二级域名访问虚拟机配置
使用工具
- nginx
- switchhost
1. nginx
nginx下载
http://nginx.org/en/download.html
nginx安装
绿色安装,解压即可使用
nginx配置
1. 默认配置在 conf 目录下的 nginx.conf 文件 2. 修改nginx.conf配置 末行添加配置文件目录,引用目录下的所有conf格式的配置 include My-DIY-Conf/*.conf; 3. conf目录下新建My-DIY-Conf文件夹 4. My-DIY-Conf文件夹下新建配置文件: testing.conf
testing.conf配置
server { listen 80; # 禅道需要关闭csrf server_name zentao.lxtao.com; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://192.168.10.31:9001/; } } server { listen 80; server_name mall-v2.lxtao.com; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://192.168.10.31:9002/; } } server { listen 80; server_name mall-v3.lxtao.com; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://192.168.10.31:9003/; } } #vue-cli搭建的环境,用nginx做代理服务器,访问时显示:Invalid Host header #经查是因为新版的webpack-dev-server出于安全考虑,默认检查hostname,如果hostname不是配置内的就不能访问。这样有2中方法,一种是设置跳过host检查,一种是直接host设置成你的地址。 #1、关闭host检查 #可以在build目录下的webpack.dev.conf.js文件,devServer下添加disableHostCheck: true,跳过检查 #同样的原理,可以在package.json文件修改scripts命令:webpack-dev-server --disableHostCheck=true #2、设置成你的host,加入你的host是xxx.com,同样2中方法,修改配置文件,和script命令 #在config目录下修改index.js文件的host,这个默认是localhost,可修改成 xxx.com #package.json的script语句: webpack-dev-server --host=xxx.com或者--public=xxx.com server { listen 80; server_name oa.lxtao.com; #proxy_set_header Host $host:$server_port; #proxy_set_header X-Real-IP $remote_addr; #proxy_set_header REMOTE-HOST $remote_addr; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://192.168.10.31:9191/; } }
nginx常用命令
- 也可以把nginx目录放到path环境变量中,避免切换目录的麻烦
假设安装在E:\server\nginx-1.20.0目录下 cmd命令进入安装文件 1. 启动 E:\server\nginx-1.20.0>start nginx 或 E:\server\nginx-1.20.0>nginx.exe 注意:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。 2. 停止 E:\server\nginx-1.20.0>nginx.exe -s stop 或 E:\server\nginx-1.20.0>nginx.exe -s quit 注意:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息 3. 重启nginx E:\server\nginx-1.20.0>nginx.exe -s reload 当配置信息修改,可以使用此命令重启nginx 4. 重新打开日志文件 E:\server\nginx-1.20.0>nginx.exe -s reopen 5. 查看nginx版本 E:\server\nginx-1.20.0>nginx -v 6. 查看所有可执行的命令 E:\server\nginx-1.20.0>nginx -h
禅道循环登陆问题
最新版本已经增加了一个 CSRF 的开关: 通过在 config/config.php(修改$config->framework->filterCSRF = false) 或者 config/my.php用户配置文件($config->framework->filterCSRF = false;)
2. host文件配置
- 下载SwitchHost
- https://github.com/oldj/SwitchHosts/tags