个人博客评论诉求
- 能简单的在页面看到评论即可
- 能找到评论人的邮箱
- 评论可以折叠
- 能私有化部署 之前用过twikoo,个人体验没有isso丝滑简洁
私有化安装isso
官网
- https://isso-comments.de/
- https://github.com/isso-comments/isso
部署方法
服务端安装python, pip
通过以下命令安装isso
sudo apt install python3-pip sqlite3 build-essential
pip install --upgrade pip
pip install isso
pip install gevent
建立目录
mkdir /home/ubuntu/isso
新增配置 isso.cfg
- 支持新新评论发送邮箱提醒 个人目前没用 有新评论输出到本地日志 可以在浏览器看到所有评论信息
- 本地存储路径/home/ubuntu/isso/isso.cfg
[general]
# 数据库文件位置
dbpath = /home/ubuntu/isso/comments.db
# 你准备部署的主机域名,多个域名用换行隔开,例如
host = https://becool.vip
# 部署多个 isso 需要用到,不然可以删除
# 允许用户修改/删除评论的最长时间
max-age = 5m
# 新评论提醒方式,默认为 stdout,我这里选择通过邮件提醒,后面需要设置 smtp 信息
notify = stdout
# 日志文件,可以不开启
log-file = /home/ubuntu/isso/isso.log
# 使用 Gravatar 头像,如果评论者没有设置邮箱会随机生成
gravatar = true
gravatar-url = https://cn.gravatar.com/avatar/{}?d=identicon
[moderation]
# 是否开始评论审核,以及多少天未审核的评论自动删除
enabled = false
purge-after = 30d
[server]
# 需要监听的地址
listen = http://localhost:8080/
[smtp]
# smtp 设置,如果前面未选择可以删除
username =
password =
host =
port =
security =
to =
from =
timeout =
[guard]
# 开启 Spam 过滤
enabled = true
# 每分钟最多评论数
ratelimit = 2
# 评论最多回复次数
direct-reply = 3
# 能否回复自己的评论
reply-to-self = false
# 评论必须输入用户名
require-author = true
# 评论必须输入邮箱
require-email = true
[hash]
# 加密邮箱地址的方式
salt = Eech7co8Ohloopo9Ol6baimi
algorithm = pbkdf2
[admin]
# 是否开启后台管理,开启后通过 your-url/admin 访问
enabled = true
password = 密码
启动
nohup /home/ubuntu/.local/bin/isso -c /home/ubuntu/isso/isso.cfg run >/home/ubuntu/isso/isso.log 2>&1 &
nginx代理配置
- 修改nginx配置 在server配置中加入以下内容
- location /isso {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Script-Name /isso;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8080;
}- 重启nginx
- sudo systemctl restart nginx
验证
- 浏览器打开 https://becool.vip/isso/ 有下面提示说明成功
- Bad Request
missing uri query - 浏览器打开 https://becool.vip/isso/admin/ 输入密码可以管理评论
hugo配置
主题
- 个人使用的papermod主题,如果你是从头搭建,也想用papermod主题
- 建议直接git clone https://github.com/xyming108/sulv-hugo-papermod 然后直接使用即可
集成isso
- 在你主题能够生成评论的地方 放入以下内容 我这边
- yourBlogDir/layouts/partials/comments.html 注意替换域名
- <div>
<script data-isso="https://becool.vip/isso/"
data-isso-id="thread-id"
data-isso-css="true"
data-isso-lang="zh"
data-isso-reply-to-self="false"
data-isso-require-author="true"
data-isso-require-email="true"
data-isso-max-comments-top="10"
data-isso-max-comments-nested="5"
data-isso-reveal-on-click="5"
data-isso-avatar="true"
data-isso-avatar-bg="#f0f0f0"
data-isso-avatar-fg="#9abf88 #5698c4 #e279a3 #9163b6 ..."
data-isso-vote="true"
data-isso-vote-levels=""
src="https://becool.vip/isso/js/embed.min.js"></script>
<section id="isso-thread"></section>
</div>- 用hugo命令 重新生成静态网页即可
- cd YourBlogDir;
sudo /home/ubuntu/shell/hugo --buildDrafts
大致效果
- 评论效果
- 管理界面
评论数据存放位置及日志
- 配置文件有指定对应db目录
- /home/ubuntu/isso
txy>ll
total 32K
-rw-r--r-- 1 ubuntu root 24K Jul 19 17:36 comments.db
-rw-r--r-- 1 ubuntu root 1.5K Jul 19 17:18 isso.cfg
-rw-r--r-- 1 ubuntu root 2.0K Jul 19 17:37 isso.log