Debian / Ubuntu 搭建 Isso 评论系统教程
由于某说要关闭,某言对 HTTPS 支持不友好,某易必须登陆才可以且在国外访问卡出翔,剩下国产的服务都一般,而国外服务 Disqus 是个不存在的网站并且会加载一大堆追踪的 JS,对于有洁癖的博主来说,全世界第三方评论系统基本没有一个好用,所以我们可以考虑自己搭建 Isso 评论系统
Isso 是基于 Python 写的一套评论系统,用途就是代替以上说的第三方不靠谱平台,而官网的教程坑很多,新手没有接触过运维工作安装起来难度较大,所以我就整理一下基本的教程,尽量可以让所有用户都能自行搭建评论系统
本文所有操作均在 root 用户下进行,请自行切换
首先,更新系统
如果您用的 Debian 9.x 开启了 backports 也可以更新下
对应 Debian 8.x 命令如下
1、安装 PIP
pip (Python Package Index) 是 Python 软件包管理系统,简单方便省去自己编译安装的各种麻烦
首先,我们安装一些必要的工具包
然后直接安装 pip
如果 Debian 8.x 下提示
则使用 backports 进行安装
接着更新升级 pip
pip 的常见用法
安装 / 升级某软件
卸载某软件
搜索某软件
获取某软件信息
2、安装 Isso
一条命令即可
此时 isso 已经被完整安装在 /usr/local/bin/isso
了
3、安装 SQLite3
由于 Isso 用的是 SQlite3 数据库,我们需要安装
如果 Debian 8.x 开启了 Backports ,可以用如下命令
新建立一个数据库目录并设置权限
4、配置 Isso
新建立一个 conf 文件,比如 /etc/isso.conf
演示内容如下
按照官方的配置文件,我们来一条一条说明
[general]
是基本配置,必须填写
dbpath
就是数据库文件,刚才我们已经建立了 /var/lib/isso/
目录,所以他会自动生成 *必填
name
是这一个配置文件的名字,如果本地只搭建一个 Isso 的话可以忽略,搭建多个 Isso 的话需要设置 *可选
host
是你引用 Isso 的 JS 的网站站长聚集地下载,需要写全,如果有多个的话就多加几行,只有一个域名的话留下一个即可 *必填
notify
评论审核通知方式,如果不开启审核可以不设置,设置了 SMTP 就需要在下面的 [smtp]
设置邮件发送方式 *可选
log-file
记录日志,后续我们会提到,一般不需要开启
[server]
本地服务端设置
listen
需要监听的端口,可以自定义,这里我们用 8090 为例
[moderation]
是否开启评论审核,不需要的话可以写 enabled = false
purge-after
指定多少时间后删除还在审核队列里的评论
[markup]
是 Misaka Markdown 插件
options
可选 strikethrough
, superscript
, autolink
比如不需要自动加入超链接可以去掉 autolink
allowed-elements
评论开启 HTML 标签,默认允许的标签有 a
, blockquote
, br
, code
, del
, em
, h1
, h2
, h3
, h4
, h5
, h6
, hr
, ins
, li
, ol
, p
, pre
, strong
, table
, tbody
, td
, th
, thead
和 ul
可以根据自己情况修改
allowed-attributes
评论开启 HTML 标签的属性,默认只允许 align
和 href
[smtp]
审核评论发送邮件通知的设置,具体可以咨询你使用的邮件服务,按服务商提供的配置填写即可,不再详细描述
[guard]
开启评论防火墙,如不需要可以填写 enabled = false
ratelimit
每个访客一分钟最多可以评论的次数
direct-reply
评论回复次数
reply-to-self
是否可以回复自己的评论,需要配合 JS 引用,下面会说
require-author
是否要求写名字,需要配合 JS 引用,下面会说
require-email
是否要求写 Email 站长聚集地下载,需要配合 JS 引用,下面会说
[hash]
加密评论的身份方式,如 Email 站长聚集地下载,没有特殊需求可以忽略
详细的解释可以参考官方的文档,如果没有特殊的需求,也不需要审核评论,直接可以上一份最简单的配置文件,如下
保存这个文件之后,就可以启动 Isso 看输出消息是否正常
没有报错消息则说明你的配置文件木有问题,按 ctrl + c 停止 Isso
5、安装 Nginx 并配置
Ubuntu 下详见《Ubuntu 16.04 / Ubuntu 14.04 使用源安装 LEMP 教程》
Debian 下详见《Debian 9 / Debian 8 使用源安装 LEMP 教程》
然后安装 Nginx
Nginx 配置文件举例如下, Isso 会反代在 example.com/isso
目录
检查 Nginx 配置并重新加载
6、安装 Supervisor 并配置
Supervisor 是一款进程守护软件,目的是保持 Isso 在后台运行
因为前面已经安装了 pip,所以直接 pip 安装即可
生成一份 supervisord.conf
我们举例放在 /etc/supervisord.conf
修改 /etc/supervisord.conf
文件,在最后面加入
生成日志目录
然后启动 Supervisor
如果没有报错,则可以测试 Isso 是否正确运行
如果返回下面结果,则一切正常
如果返回的是 502 Bad Gateway
错误,那么你需要仔细检查日志 /var/log/supervisor/isso_error.log
以及所有的配置文件
接着把 Supervisor 加入开机运行,编辑 /etc/rc.local
文件,在 exit 0
前面加入一行 supervisord -c /etc/supervisord.conf
即可
7、在网站引用评论
根据官方文档,直接引用一段 JS 即可,具体参数根据需求自行调整
data-isso
Isso 安装的 URI
data-isso-css
使用默认的 CSS 如果需要自己改 CSS 则设置成 false
data-isso-lang
默认语言,参考 ISO 639-1 编码,可选语言列表在这儿
data-isso-reply-to-self
,data-isso-require-author
,data-isso-require-email
需按照 Isso 配置文件来,请保持一致
data-isso-max-comments-top
一页显示的评论数
data-isso-max-comments-nested
最多嵌套评论数
data-isso-reveal-on-click
超出评论数后点击显示的评论数
data-isso-avatar
显示头像
data-isso-avatar-bg
头像背景
data-isso-avatar-fg
头像颜色
data-isso-vote
开启评论的支持和反对
data-vote-levels
评论支持和反对的等级算法,具体请参考官方的文档
如果没有特殊需求,直接来一行
接着在你网站适当的位置加入一个 section
标签即可
如果你网站有多个域名,可以固定当前页面的 URI 和标题,很适合 WordPress 等程序的用户,只有一个域名的忽略即可
好了,大功告成,具体演示可以看本文的评论