“泡泡”(PaoPao)开源社区宝塔安装教程(超详细)
有小伙伴在社区留言希望出个在宝塔环境下安装PaoPao的教程,考虑到国内使用宝塔面板的用户群体还蛮庞大的,我今天特意采购了一台云主机给大家完整演示一下宝塔下的安装过程。
PaoPao官网: https://www.paopao.info
PaoPao源码: https://github.com/rocboss/paopao-ce
1. 购买云主机
首先,你得有台服务器(已经有的忽略该章节)。我去腾讯云买了一台最低配(2核2G)的香港轻量云主机(ubuntu20),一共32元一个月,性价比爆棚,作为演示主机最合适不过了。

2. 安装宝塔面板
参考 https://www.bt.cn/new/download.html
安装成功后,可以获取宝塔面板的默认地址、账户密码(注意后续修改)

3. 安装软件
进入宝塔面板后,去软件商店下载如下软件: Nginx、MySQL5.7、Redis、PM、Docker、Supervisor

PM安装后需要设置node.js版本,这里选择v14.18.0

安装成功后,通过node -v查看版本(若没有,重新登录终端即可)

由于宝塔面板软件里面并没有Go的安装入口,所以我们需要手动下载go并安装,这里使用go1.17版本:
分别执行以下命令
root@VM-4-9-ubuntu:~# cd ~
root@VM-4-9-ubuntu:~# wget https://golang.google.cn/dl/go1.17.10.linux-amd64.tar.gz
root@VM-4-9-ubuntu:~# tar -C /usr/local -xzf go1.17.10.linux-amd64.tar.gz
root@VM-4-9-ubuntu:~# export PATH=$PATH:/usr/local/go/bin
root@VM-4-9-ubuntu:~# go version

我们通过Docker安装 Zinc 全文检索服务器
root@VM-4-9-ubuntu:~# mkdir data
root@VM-4-9-ubuntu:~# chmod -R 777 data
root@VM-4-9-ubuntu:~# docker run -d -v /root/data:/data -e DATA_PATH="/data" -p 4080:4080 -e ZINC_FIRST_ADMIN_USER=admin -e ZINC_FIRST_ADMIN_PASSWORD=admin --name zinc public.ecr.aws/h9e2j3o7/zinc:latest
安装成功后,访问 http://IP:4080 即可看到zinc的web管理页面(注意开放安全组防火墙端口)

4. 安装泡泡
4.1 克隆代码
root@VM-4-9-ubuntu:~# git clone https://github.com/rocboss/paopao-ce.git

4.2 编译后端
root@VM-4-9-ubuntu:~# cd paopao-ce/
root@VM-4-9-ubuntu:~/paopao-ce# go mod download
root@VM-4-9-ubuntu:~/paopao-ce# go build -o paopao-api .
root@VM-4-9-ubuntu:~/paopao-ce# chmod +x paopao-api
注意:若
go mod download一直卡着很慢,可以尝试切换国内镜像,参考 https://goproxy.cn/
编译成功后,可以在项目根目录看到生成了新文件 paopao-api
4.3 修改后端配置
需要先将项目根目录的 paopao.sql 文件导入数据库,我们先在宝塔建立一个 MySQL数据库及账户密码

然后导入数据库(你也可以用其他可视化工具导入)
root@VM-4-9-ubuntu:~/paopao-ce# mysql -u paopao -pzfwkZrNWhdZxTKHT paopao < paopao.sql
导入MySQL数据库后,接下来就是编辑 config.yaml 配置文件,我们直接在宝塔文件管理里面编辑

注意: 您需要先完成阿里云OSS的bucket创建,同时需要去聚合数据(https://www.juhe.cn/docs/api/id/54)申请短信通道
若没有短信通道,可以先跳过,后续成功注册用户后,手动将手机号修改至p_user表中的phone字段
4.4 启动后端
这里我们通过宝塔的supervisor软件来启动并守护泡泡后端进程,如图:


4.5 配置后端域名
泡泡后端服务默认端口 8008,这里假设我们使用的后端域名是 api.test.com,在宝塔面板-网站里面添加站点

然后,点击 设置-反向代理,配置代理地址127.0.0.1:8008

强烈建议这里配置完后,在设置里配置SSL并开启HTTPS访问
4.6 编译前端
先编辑 paopao-ce/web 目录下的 .env 文件,将上面的后端服务域名地址填进去(注意http或https协议)
root@VM-4-9-ubuntu:~/paopao-ce# cd web
root@VM-4-9-ubuntu:~/paopao-ce/web# vim .env
root@VM-4-9-ubuntu:~/paopao-ce/web# npm i -g yarn
root@VM-4-9-ubuntu:~/paopao-ce/web# yarn
root@VM-4-9-ubuntu:~/paopao-ce/web# yarn build
提示:若build时出现FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory错误,可以使用如下命令后再次编译:
root@VM-4-9-ubuntu:~/paopao-ce/web# export NODE_OPTIONS="--max-old-space-size=1024"
4.7 配置前端域名
这里我们使用 test.com 域名,创建过程同后端域名创建,创建成功后,拷贝编译产出至网站根目录
root@VM-4-9-ubuntu:~/paopao-ce/web# cp -R dist/* /www/wwwroot/test.com/
大功告成

演示地址:https://www.paopao.info
http://uukc.cn/
