本文最后更新于:2024年11月18日 凌晨
一、waline介绍 在waline之前有一款评论系统叫做valine,valine 是一款样式精美,操作简单,部署高效的评论系统。它不含服务端,前端直接和 LeanCloud 存储服务交互,非常棒!但是valine它存在着一些问题:
源码不开放:在1.4.0版本之后,作者不再推送源代码;
XSS安全问题:评论的数据存在XSS安全问题,因为没有服务端,所以前端搞定XSS问题是治标不治本的;
隐私泄露:评论数据会泄露ip和邮箱;
统计数据篡改:可以通过开放接口修改统计数据;
在此基础上,waline就出现了,它包含完整的前端和服务端,解决了上面valine的问题,同时还有垃圾评论过滤和邮件通知等等新功能。
二、docker部署 安装docker,mysql过程省略;
1、初始化表结构 手动创建一个数据库waline_comment(名称随意),然后下载waline.sql文件 ,运行这个文件;
注意事项:因为 waline 使用了比较老的 mysql 密码认证方式,导致使用 mysql8 的时候,出现无法认证和无法创建用户的错误。mysql8的加密方式需要修改,或者新建个用户使用老的加密方式,大概是这样的:
1 2 3 4 5 6 CREATE USER 'waline' @'%' IDENTIFIED WITH mysql_native_password BY 'your_password' ; GRANT ALL PRIVILEGES ON waline_comment.* TO 'waline' ; flush privileges;
2、部署waline 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 docker pull lizheming/waline:latest docker run -d --name waline -p 8360:8360 \ -v /mydocker/waline/data:/app/data \ -e TZ="Asia/Shanghai" \ -e MYSQL_HOST="公网IP" \ -e MYSQL_DB="waline_comment" \ -e MYSQL_USER="waline" \ -e MYSQL_PASSWORD="数据库密码" \ -e AUTHOR_EMAIL="作者邮箱" \ -e SITE_NAME="kele blog" \ -e SENDER_NAME="博客留言" \ -e SMTP_SERVICE="QQ" \ -e SMTP_USER="您的邮箱" \ -e SMTP_PASS="授权码" \ -e DISABLE_USERAGENT="false" \ -e AVATAR_PROXY="https://avatar.75cdn.workers.dev" \ -e IPQPS="30" \ --restart always \ lizheming/waline:latest
mysql 的参数参考这里: 部署完成之后,访问http://ip地址:8360/ui/register 地址,便能看到注册界面
3、hexo博客fluid主题接入waline评论系统 修改配置文件 _config.fluid.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 post: banner_img_height: 60 updated: enable : true meta: views: enable : true source : "busuanzi" format: "{} 次" comments: enable : true type : waline waline: serverURL: '你的评论系统网址' path: window.location.pathname meta: ['nick' , 'mail' , 'link' ] requiredMeta: [] lang: 'zh-CN' emoji: ['https://cdn.jsdelivr.net/gh/walinejs/emojis/weibo' ] wordLimit: 0 pageSize: 10 reaction: true locale: {placeholder: 留下只言片语}
效果图:
参考链接: waline官方文档
其他文章