资讯专栏INFORMATION COLUMN

开源评论系统 Isso 全攻略

张率功 / 2896人阅读

摘要:博客评论系统现状多说已经倒闭了,将于结束服务国内非常不稳定,虽然用了一段时间,但是发现最近好像有广告了,有很多乱七八糟的请求。我现在用的是这种方式,支持运行其他部署方式见文档优缺点优点自己对评论系统有完全的控制权。

博客评论系统现状:

多说已经倒闭了,将于 2017.6.31 结束服务

Disqus 国内非常不稳定,虽然用了一段时间,但是发现最近好像有广告了,有很多乱七八糟的请求。

畅言估计和多说差不了多少,没看到赢利点。

网易云跟帖,不能设置昵称,不能匿名评论,加了官方群,都是提问的,管理员不作为。

然后就找到了这个开源的评论系统:Isso

2017.5.1 update:新增微信审核评论的方法,见:微信审核开源评论系统 Isso 的评论

官网 https://posativ.org/isso/
Github https://github.com/posativ/isso/

安装

节选并翻译自官方文档:https://posativ.org/isso/docs/install/

使用 pip 安装

要求:

Python 2.6, 2.7 or 3.3+ (+ devel headers)

SQLite 3.3.8 +

C 编译器

先安装 python 和依赖

Debian/Ubuntu 系统:

~> sudo apt-get install python-dev sqlite3 build-essential

对于 Fedora/Centos 系统 :

~> sudo yum install python-devel sqlite
~> sudo yum groupinstall "Development Tools"

注:这个 Development Tools 我没有安装成功,但是没影响

安装 Isso
~> pip install isso

or

~> easy_install isso  

注:我是用 Python 2 安装的,在 Python 3 上面报 sqlite3 的错误,没法用。

使用操作系统的包管理器安装

Debian: https://packages.crapouillou.... – built from PyPi. Includes startup scripts and vhost configurations for Lighttpd,
Apache and Nginx [source]. #729218 is an ITP for Debian.

Gentoo: http://eroen.eu/cgit/cgit.cgi... – not yet available in Portage, but you can use the ebuild to build Isso.

Arch Linux: https://aur.archlinux.org/pac... – install with yaourt isso.

Fedora: https://copr.fedoraproject.or... — copr repository. Built from Pypi, includes a systemctl unit script.

Docker Image: https://registry.hub.docker.c...

注:上述方法我没有实验

从源码安装

要求:

Python 2.6, 2.7 or 3.3+ (+ devel headers)

Virtualenv

SQLite 3.3.8 or later

a working C compiler

Node.js, NPM and Bower(安装 nodejs 后 可以使用 npm 安装 Bower)

克隆仓库:

~> git clone https://github.com/posativ/isso.git
~> cd isso/

注:截止2017.3.30,最新版为 0.10.7-dev ,经测试没法用,各种404。后来从 github Release 下载的 0.10.5 和 0.10.6 均正常。

创建一个虚拟环境(推荐,我没用,我用的 pyenv):

~> virtualenv .
~> source ./bin/activate

安装 Isso 及其依赖:

~> python setup.py develop  # or `install`
~> isso run

安装 JavaScript 模块:

~> make init

优化前的 js:


压缩 js:

~> npm install -g requirejs uglify-js jade
~> make js
配置 服务端配置

详情见文档 https://posativ.org/isso/docs/configuration/server/

自己编写一个配置文件 : isso.conf

[general]
; 数据库位置,注意检查权限,如果没有会自动创建。
dbpath = /var/lib/isso/comments.db
; 博客的地址,可以添加多个,比如 http 和 https
host =
    http://localhost:4000/
    http://zhangnew.com/
    https://zhangnew.com/
; 评论通知,使用 smtp
notify = smtp

[server]
; 监听的地址和端口 : 0.0.0.0 代表任何人可以访问
listen = http://0.0.0.0:8001/

[smtp]
username = 
password = 
host = smtp.mxhichina.com
port = 25
security = none
to =
from = 
timeout = 

[guard]
enabled = true
ratelimit = 2
; 评论数量限制
direct-reply = 30
; 是否允许回复自己
reply-to-self = true
; 是否必须填写作者
require-author = false
; 是否必须填写邮箱
require-email = false
客户端配置

详情见文档 https://posativ.org/isso/docs/configuration/client/

使用

导入 Disqus 或 Wordpress 的评论,这一点很好。可怜了多说用户。

isso -c /path/to/isso.conf import disqus-or-wordpress.xml

运行命令:

isso -c /path/to/isso.conf run
部署

文档: https://posativ.org/isso/docs/extras/deployment/

gevent
pip install gevent
isso -c my.cfg run
uWSGI

安装 :

~> apt-get install build-essential python-dev
~> pip install uwsgi

配置文件:

[uwsgi]
http = :8080
master = true
; set to `nproc`
processes = 4
cache2 = name=hash,items=1024,blocksize=32
; you may change this
spooler = /tmp/isso/mail
module = isso.run
; uncomment if you use a virtual environment
; virtualenv = /path/to/isso
env = ISSO_SETTINGS=/path/to/isso.cfg

运行:

~> mkdir /tmp/isso/mail
~> uwsgi /path/to/uwsgi.ini

注:该方法运行失败,有一个 status code 报错。

gunicorn

我现在用的是这种方式,支持 https

$ pip install gunicorn

运行:

$ export ISSO_SETTINGS="/path/to/isso.cfg"
$ gunicorn -b 0.0.0.0:8001 -w 4 --certfile=certificate.crt --keyfile=private.key --preload isso.run
其他部署方式

见文档:

mod_wsgi

mod_fastcgi

Openshift

优缺点 优点

自己对评论系统有完全的控制权。

缺点

不支持回复评论时通知评论作者, Isso 的作者在考虑要不要 merge 这个 pull request(我根据这个 pr 实现了该功能)。

avatar 头像不能关联 gravatar.com 的头像(自己实现了)。

评论不好管理,常规方法可以通过邮件提醒里面的链接来删除评论。非常规方法就要修改数据库了,sqlite 进入命令行:

ATTACH "comments.db" as isso;
SELECT id,author,text from isso.comments;
DELETE FROM isso.comments WHERE id=87;

转载自我的博客 https://zhangnew.com

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/108578.html

相关文章

  • 开源评论系统 Isso 攻略

    摘要:博客评论系统现状多说已经倒闭了,将于结束服务国内非常不稳定,虽然用了一段时间,但是发现最近好像有广告了,有很多乱七八糟的请求。我现在用的是这种方式,支持运行其他部署方式见文档优缺点优点自己对评论系统有完全的控制权。 博客评论系统现状: 多说已经倒闭了,将于 2017.6.31 结束服务 Disqus 国内非常不稳定,虽然用了一段时间,但是发现最近好像有广告了,有很多乱七八糟的请求。 ...

    Lin_YT 评论0 收藏0
  • 爬取博客园首页数据进行数据分析

    摘要:目标选取了博客园,爬取了首页的前页文章,但是数据放在那一直没去分析。为了避免对博客园造成压力,爬虫代码不公开。注数据来源是年月日至月的博客园首页文章。谁是博客园最爱的用户最爱的用户,在这里是按文章上首页的数量来判断的。 前言 之前折腾了一小段时间scrapy,觉得使用起来异常简单,然后打算练练手。目标选取了博客园,爬取了首页的前200页文章,但是数据放在那一直没去分析。趁着现在有闲心,...

    zilu 评论0 收藏0
  • 蠎周刊 : 2013最赞

    摘要:译发蠎周刊最赞这周咱们作点儿不同的本文根据大家过去对周刊文章的点击量分析出的年度顶级项目希望大家喜欢如果怕我们错过年的最佳项目请及时邮件知会一下次周我们将恢复期周刊新年新折腾我们发布了现在开始到一月底使用优惠码发布职位信息可以获得的折扣才 译发: 蠎周刊 : 2013最赞 Hi Pythonistas! 这周咱们作点儿不同的 ;-) 本文根据大家过去对周刊文章的点击量分析出的 ...

    lavnFan 评论0 收藏0
  • 程序员练级攻略(2018):技术资源集散地

    摘要:,美国著名程序员风险投资家博客和技术作家。,从年以来,获奖的计算机科学方面的论文收集。截至年月,已收集超过万篇预印本。其中的分类可以认为也是一个论文的集散地。 showImg(https://segmentfault.com/img/bVbjVFa?w=1142&h=640); 这个是我订阅 陈皓老师在极客上的专栏《左耳听风》,我整理出来是为了自己方便学习,同时也分享给你们一起学习,当...

    Lorry_Lu 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<