个人博客评论诉求

  • 能简单的在页面看到评论即可
  • 能找到评论人的邮箱
  • 评论可以折叠
  • 能私有化部署 之前用过twikoo,个人体验没有isso丝滑简洁

私有化安装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
    

验证

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