基于 Solo 的离线多功能版 Bolo 博客,专为程序员设计
菠萝当前版本:v1.0 稳定版
对应 Solo 原版版本号:v3.6.7(即支持 Solo v3.6.7即以下的用户轻松迁移/迁回)
- v1.0 稳定版发布啦!bolo-solo 稳定版支持 Docker、Tomcat 部署,多种部署方法请看下方的《bolo-solo 多种安装方法》指引 👇
- 稳定版可持续使用,欢迎你的体验、反馈、PR!
如果你也使用 bolo-solo 驱动你的博客,欢迎向本 README 提出 Pull Request ~
Bolo
是 Solo
的修改版,我们始终支持 B3log 生态,支持与黑客派同步文章、评论、联系方式,使用社区图床。
- 核:基于强大的 Solo 进行修改,解析快、占用资源少
- 根:本地化环境,数据存储于本地服务器。使用本地账号登录 / 评论
- 稳:更适合求稳、专心写文的博主:如非必要,不必升级 bolo-solo
- 易:轻松在 Solo / Bolo 之间切换
- 能:强化分类功能,每个文章只拥有一个分类,分类功能独立
- 跨:支持 Tomcat / Jetty / Docker 部署 Bolo(原版Solo v3.6.7 及以上已更新至 Latke 框架,不再支持 Tomcat / Jetty)
- 选:bolo-solo 支持 B3log 体系,可选支持黑客派的 B3log Key 实现图床及社区文章评论、联系方式同步功能
- 随:跟随 原版 Solo 同步更新版本号及功能,同步支持最新版本 Solo / Bolo 之间切换
- 安:完全去除对 GitHub 的支持, bolo-solo 是完全独立的博客,B3log Key 也仅是调用 API:除你自己,没人能操作你的博客,确保数据的安全
- 兼:版本更新不会去掉已有大功能(例如:本地H2数据库、Servlet框架等),保证对旧版本用户的友好,确保旧版本用户可流畅更新至最新版本
- 听:与官方保持更新的同时,更新人性化、简洁、实用的小功能,感谢你提出各种BUG、建议、意见
- 教:bolo-solo 将全面更新 bolo-solo 迁移、新建、管理的教学视频(对小白十分友好)及文档,解决你遇到的绝大部分问题(2020年之前完成)
👷 | 👷 | 👷 |
---|---|---|
@88250 | @csfwff | @InkDP |
Solo 原作者 | Bolo 测试、Logo 绘制、前端技术支持 | 默认皮肤 solo-nexmoe 原作者 |
- 进入 bolo-solo 所在目录,备份
WEB-INF/classes/local.properties
和WEB-INF/classes/latke.properties
- 清空目录
- 从上方安装地址下载最新版 bolo-solo
- 解压至目录
- 将备份的两个文件替换回去
- 完成!
先克隆 bolo-solo 的源代码:
git clone https://github.com/AdlerED/bolo-solo
再进入到 bolo-solo 项目的根目录,构建 Docker 镜像:
docker build -t "bolo" .
最后,每次输入下面的命令启动 bolo-solo:
docker run -it -d -p8080:8080 --env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="root" \
--env JDBC_PASSWORD="123456" \
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://192.168.2.253:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
--rm \
bolo --listen_port=8080 --server_scheme=http --server_host=192.168.2.253
将 JDBC_USERNAME
修改为你的 MySQL数据库用户名
JDBC_PASSWORD
修改为数据库密码
修改 JDBC_URL
下的 192.168.2.253
为你服务器的域名(如没有域名,填写IP地址)
server_host
也需要改为你的域名(或IP地址)
-p8080:8080
和 --listen_port=8080
为端口参数,把三个8080改为你想设置的端口即可。
记得要先在 MySQL 数据库中创建空的 solo
数据库哦~
如果启动后无法访问,可以去掉命令中的 -d
参数,使 bolo-solo 在前台运行,这样你就可以看到日志了!
下载最新的 bolo-solo 压缩包解压,进入解压目录执行:
Windows: java -cp "WEB-INF/lib/*;WEB-INF/classes" org.b3log.solo.Starter
Unix-like: java -cp "WEB-INF/lib/*:WEB-INF/classes" org.b3log.solo.Starter
视频教程公开在云存储
中,请点击这里在线观看。
为防出现意外,请先备份原来的数据库
- 修改 Bolo 的数据库配置文件
local.properties
,使 Bolo 连接至数据库; - 清空(只清空数据,不删除表本身)
b3_solo_user
、b3_solo_category
和b3_solo_category_tag
表; - 执行SQL语句,在用户表中新建一个管理员用户:
INSERT INTO `b3_solo_user` (
`oId`,
`userName`,
`userURL`,
`userRole`,
`userAvatar`,
`userB3Key`,
`userGitHubId`
)
VALUES
(
'default',
'{管理员用户名}',
'{管理员的个人主页网址}',
'adminRole',
'{管理员的头像网址}',
'{管理员密码}',
'none'
);
如果你修改了b3_solo_user
的表名,请记得在 SQL 语句中也加以修改(第一行)。
将 SQL 语句中的{管理员用户名}
、{管理员的个人主页网址}
、{管理员的头像网址}
、{管理员密码}
修改。
启动 Bolo ,迁移完成~
- 清空(只清空数据,不删除表本身)
b3_solo_category
和b3_solo_category_tag
表; - 确定
b3_solo_user
表中的userName
列用户名,和你的 GitHub 账户用户名相同,如果不同,请直接修改; - 启动 Solo;
- 登录,在
管理后台 - 工具 - 用户管理
中,更新管理员账号的B3log Key为黑客派中的B3log Key。 - 大功告成~
如果不会操作,欢迎联系我~(请看我名片中的联系方式)
由于特性原因,Bolo 不支持原版皮肤。但我们会在官方皮肤的基础上修改皮肤,并附带到 Bolo 当中。
预计很快就能移植绝大部分皮肤。
- Bolo 使用 solo-nexmoe 作为默认皮肤。
- Bolo 皮肤已自带,不需要额外下载。
目前移植的皮肤:
- solo-nexmoe → bolo-solo-nexmoe
正在加班加点努力移植... 推荐你先使用当前版本的 bolo-solo,等待你需要的皮肤更新后,直接提取 skins 文件中的皮肤,放到你的 skins 文件夹下即可~
- 本地登录
- 提供持续的WAR包支持,支持Tomcat部署
- 和黑客派社区同步文章、评论、个人联系方式、使用社区图床
- 本地评论功能(无需登录)
- 分类功能优化(解除分类与标签的关联,超级好用)
- 评论频率限制(60秒/次)
- 自定义主页存档显示数量
- 本地化JS,防止CDN造成的加载失败
- 自定义主页显示存档数量
- 皮肤显示文章日期跟随“启用文章更新提示”选项
- 本地自定义社交按钮
- 代码显示行号功能
- 自定义评论频率限制
- 评论审核功能
- 关闭搜索功能(1.国内备案管局不允许个人建站带有搜索功能 2.节约服务器资源)
Solo V4 版本将会有很大的变动,其将主要支持静态化页面。
届时 Bolo 不会完全更新 Solo V4 版本的内容,Bolo 会始终保持旧版本 Bolo 用户的平滑更新升级。
Bolo 在 Solo V4 版本之后仍会跟随 Solo 的版本号同步更新,同时引入 Solo V4 的新功能与特性,但为了维持大家的使用习惯,Bolo 的更新内容将不会激进。