sym 社区版搭建

Sym
下一代的网站系统,为未来而构建

简介

Symphony([ˈsɪmfəni],n. 交响乐)是一个现代化的网站平台,因为它:

  • 实现了面向内容讨论的网站
  • 实现了面向知识问答的网站
  • 包含了面向用户分享、交友、游戏的社交网络
  • 100% 开源

欢迎到 Sym 官方讨论区了解更多。

动机

很多网站系统:

  • 界面风格老式,没有跟上时代发展的步伐
  • 缺少创新、好玩的特性,缺少现代化的交互元素和用户体验
  • 缺乏考虑实际运营需求,管理功能过于单一
  • 细节不够精致、缺乏长期维护

客户案例

网站版:

商业版:

功能

界面

以下截图来自 Sym 商业版。

首页

index

列表

list

帖子

article

发帖

post

用户

home

安装

先在 MySQL 中手动建库(库名 symphony,字符集使用 utf8mb4,排序规则 utf8mb4_general_ci),然后按照如下方式之一启动服务。

war 包启动

下载最新的 Sym 包解压,进入解压目录执行:

  • Windows: java -cp "WEB-INF/lib/*;WEB-INF/classes" org.b3log.symphony.Starter
  • Unix-like: java -cp "WEB-INF/lib/*:WEB-INF/classes" org.b3log.symphony.Starter

也可以将 war 包部署到 Servlet 容器中启动。

Docker 部署

获取最新镜像:

docker pull b3log/symphony

启动容器:

docker run --detach --name sym --network=host \
    --env RUNTIME_DB="MYSQL" \
    --env JDBC_USERNAME="root" \
    --env JDBC_PASSWORD="123456" \
    --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
    --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/symphony?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
    b3log/symphony --listen_port=8080 --server_scheme=http --server_host=localhost 

为了简单,使用了主机网络模式来连接主机上的 MySQL。

启动参数说明:

  • --listen_port:进程监听端口
  • --server_scheme:最终访问协议,如果反代服务启用了 HTTPS 这里也需要改为 https
  • --server_host:最终访问域名或公网 IP,不要带端口号

完整启动参数的说明可以使用 -h 来查看。

文档

授权

  • 网站版:使用 AGPLv3 开源,如果你选择使用网站版,则必须完全遵守 AGPLv3 的相关条款
  • 商业版:提供完整源码以便二开,报价 ¥20000,请联系 QQ 845765 进行细节咨询

关于商业版和网站版的对比请看这里,企业网站、经营性网站、以营利为目的或实现盈利的网站请购买商业版。

网站

鸣谢

  • jQuery:前端 JavaScript 工具库
  • Vditor: 浏览器端的 Markdown 编辑器
  • Highlight.js:前端代码高亮库
  • pjax:pushState + ajax = pjax
  • MathJax:前端数学公式渲染引擎
  • Sass:前端 CSS 处理工具
  • jsoup:Java HTML 解析器
  • flexmark:Java Markdown 处理库
  • Apache Commons:Java 工具库集
  • Jodd:Java 工具库集
  • Latke:以 JSON 为主的 Java Web 框架

安全方面特别感谢: