Hexo博客搭建HashOver评论系统


2020-11-15 更新:之前看fast.io每月100GB,就把图片迁移过去,谁知道取消了(填坑中...)。博客取消HashOver评论。


一、前言

​ 最近无意中看到免费开源的HashOverPHP评论系统,看着不错,就试着自搭建评论系统。由于我的是静态博客,所以得安装php环境(PHP > 5.3.3 )。


二、HashOver安装和配置

1.安装

文件下载

下载之后解压在blog/source文件下,文件夹重命名为hashover。即路径为blog/source/hashover

2.配置

2.1配置域名、图片、数据库等

在blog\source\hashover\backend\classes\sensitivesettings.php

#需要使用MySQL数据库,需要$dataFormat 改为sql
// Primary settings
	public $dataFormat		= 'sql';			// Format comments will be stored in; options: xml, json, sql
	public $defaultName		= 'Anonymous';			// Default name to use when one isn't given

# 域名配置
	// External domains allowed to remotely load HashOver scripts
	public $allowedDomains = array (
		// '*.example.com',
		// '*.example.org',
		// '*.example.net'
		'*.fungit.org'
	);

2.2数据库连接、用户登录信息配置

在blog\source\hashover\backend\classes\secrets.php

# 这个需要更改默认的配置
// Unique encryption key (case-sensitive)
	protected $encryptionKey = 'KKKKKKK';

	// Login name to gain admin rights (case-sensitive)
	protected $adminName = 'admin';

	// Login password to gain admin rights (case-sensitive)
	protected $adminPassword = 'pwassd';

# 数据库配置
// OPTIONAL SQL INFORMATION

	// Type of database, sqlite or mysql
	protected $databaseType = 'mysql';

	// Database name
	protected $databaseName = 'hashover';

	// SQL database host name
	# 如果在同一台,建议优先用localhost
	protected $databaseHost = 'localhost';

	// SQL database port number
	protected $databasePort = '3306';

	// SQL database login user
	protected $databaseUser = 'hashover';

	// SQL database login password
	protected $databasePassword = 'un8932&&R(Mi#*RDU(IE))';

	// SQL database character set
	protected $databaseCharset = 'utf8';

三、Hexo博客启用HashOver

1.1修改站点配置文件

skip_render	跳过指定文件的渲染。匹配到的文件将会被不做改动地复制到 public 目录中。您可使用 glob 表达式来匹配路径。	

修改站点配置文件blog/_config.yml,添加/修改skip_render: “”。跳过对hashover文件夹文件的渲染

skip_render: ‘hashover/**/*’

2.2启用hashover评论

比如我的在blog\themes\default\layout_partial\article.ejs下添加js

js方式

  <div id="hashover-body" class="mdui-m-t-5">
    <script type="text/javascript" src="https://fungit.org/hashover/comments.php"></script>
  </div>

异步加载

<div id="hashover-body" class="mdui-m-t-5">
    <div id="hashover"></div>
	<script type="text/javascript">(function() { var s = 			document.createElement('script'), t = document.getElementsByTagName('script')[0]; s.type = 'text/javascript'; s.async = true; s.src = "https://fungit.org/hashover/comments.php"; t.parentNode.insertBefore(s, t); })();
	</script>
</div>

ps:注意,路径问题。src=“”,我填的是绝对路径

四、邮件通知

按照教程配置的smtp,不知道为什么没有成功。目前评论没有邮件通知功能。由于vps功能受限,就不折腾了

现在已经正常邮件回复,之前使用office 365,估计还不支持starttls加密协议。使用gmail,要勾选使用不安全应用登录,要不会阻止登录

邮件搭建参考:

posted @ 2020-03-29 19:30  Fungit  阅读(226)  评论(0编辑  收藏  举报