最近,有读者留言让我推荐开源 CMS。我本想直接回复 WordPress,但是转念一想我玩 WordPress 是 2010 年左右的事情了,都过去十年了,它会不会有些过时呢?有没有新的、更好玩的开源 CMS 呢?

开源项目这玩意儿,一想心就躁,看见手就痒。借着这股劲儿,今天我就给大家带来 7 款称得上殿堂级的开源 CMS,它们中有老当益壮的 WordPress(PHP)、国人开发的 Halo(Java)、玩法丰富的 Ghost(JavaScript)、企业级 CMS 的 Django CMS(Python)、星数最多的 strapi(JavaScript) 等等。

下面,我会根据功能将项目分为:传统 CMS无头 CMS 两大类进行介绍,然后从 CMS 概念到具体项目的安装步骤,最后特点会用 粗体 醒目的标记出来,就算之前不知道 CMS、不会编程的读者,也可以放心地阅读。相信你看完这篇文章就会知道:什么是 CMS、什么是无头 CMS、它们能用来做什么,甚至可以头头是道地向别人介绍几款,让人眼前一亮的开源 CMS 呢!

闲话少叙,让我们直接开始今天的分享。

1. 传统 CMS

CMS 是内容管理系统的英文简称,它是用来管理和发布包括文章、图片、商品等内容的系统。最常见的 CMS 就是博客系统,作者登录管理后台写文章,点击发布后读者就可以访问指定网址,看到作者发布的内容啦。

不管你是不是程序员,如果你想快速构建一个网站,那么下面这些开源 CMS 一定能助你一臂之力。

1.1 halo

Star 数:24.4k|编程语言:Java(99.5%)

一款由国人开发的现代化开源 CMS,采用 Spring Boot+Vue.js 编写而成,代码开源完全免费,截止到本文发表时已经迭代了 80 多个版本。国人开发的好处是可轻松接入国内的云存储服务,而且文档、社区和操作界面全部是中文的

安装步骤,如下:

# 本地有 Java
1. 下载最新的 jar 包:https://dl.halo.run/release/halo-1.5.4.jar
2. 运行:java -jar halo-1.5.4.jar # Docker 运行
docker run -it -d --name halo-next -p 8090:8090 -v ~/halo-next:/root/halo-next --restart=unless-stopped halohub/halo-dev:2.0.0-beta.1

地址:https://github.com/halo-dev/halo

1.2 django-cms

Star 数:9k|编程语言:Python(59.7%)

Django 编写的企业级 CMS,它功能实用、安全可靠,支持拖拽上传图片、轮播图、Docker 部署等功能,可轻松进行二次开发,多用于构建企业官网,比如:国家地理等网站就是基于它开发而成。

安装步骤,如下:

$ git clone git@github.com:django-cms/django-cms-quickstart.git
$ cd django-cms-quickstart
$ docker compose build web && docker compose up -d database_default
$ docker compose run web python manage.py migrate && docker compose run web python manage.py createsuperuser
$ docker compose up -d
$ open http://127.0.0.1:8000

地址:https://github.com/django-cms/django-cms

1.3 WordPress

Star 数:16.8k|编程语言:PHP(62.5%)

作为全球最流行的 CMS,它的市场占有率一直处于独占鳌头那一档(64.2%)。我认为这些得益于它:傻瓜式的安装方式、丰富的主题和插件、十年如一日的更新迭代,以及优秀的商业模式。

有多少人的第一个博客是用它搞起来的?算我一个

地址:https://github.com/WordPress/WordPress

1.4 joomla-cms

Star 数:4.3k|编程语言:PHP(92.2%)

它是和 WordPress 同时期开源的 PHP CMS 项目,与 WordPress 不同的是Joomla! 更加灵活,但学习曲线也更陡峭。它具有较强的通用性,再加上丰富多元的扩展,可用来搭建商业网站、个人博客、信息管理系统、Web 服务等。作为开源至今已有 18 年历史的 CMS,肯定还是有点东西的。

地址:https://github.com/joomla/joomla-cms

这里顺带提一嘴:Drupal 也同样是 PHP 写的以复杂著称的 CMS,如果你需要一个处理大量请求、高度自定义的网站,可以考虑它。

2. 无头 CMS

无头 CMS 就是指:仅包含内容管理的后台,没有现成的前台展示,前台需要自己实现。

好处是内容和展示完全分离,不依赖或不需要特定的前端框架,可以根据自己喜好选择前端框架、接入静态站点生成器或 APP,创建丰富的展示体验。

缺点是需要懂技术的开发人员,开发周期大概需要一周左右。

2.1 wagtail

Star 数:13.4k|编程语言:Python(79.3%)

基于 Python 知名 Web 框架 Django 实现的无头内容管理系统,拥有清爽的 UI 和简洁易用的编辑器。独特的 StreamField 技术,可以让内容排版灵活又不失结构,再加上强大的多语言系统,让它在众多开源 CMS 中脱颖而出。

安装步骤,如下:

pip install wagtail
wagtail start mysite
cd mysite
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

地址:https://github.com/wagtail/wagtail

2.2 ghost

Star 数:41.7k|编程语言:JavaScript(79.4%)

一款用 Node.js 编写,功能强大的无头 CMS。它的强大之处在于提供了丰富、免费、可自定义的主题,用户可以自由搭配轻松建站。专业的会员订阅和数据可视化功能,让内容创作者可以围绕内容,尝试发展商业化业务。除此之外,它还拥有先进的所见即所得编辑器。

安装步骤,如下:

npm install ghost-cli -g
ghost install local

地址:https://github.com/TryGhost/Ghost

2.3 strapi

Star 数:49.5k|编程语言:JavaScript(99.6%)

一款完全免费、基于 JavaScript 构建的无头内容管理系统,它拥有开箱即用的 API 和友好的管理面板,自带权限管理、默认安全、SEO 友好等特点。该项目做为 GitHub 上 Star 数最多的开源内容管理系统,目前已成为多家世界 500 公司的首选 CMS。

安装步骤,如下:

yarn create strapi-app my-project --quickstart
或者
npx create-strapi-app my-project --quickstart

地址:https://github.com/strapi/strapi

3. 最后

如果,你要挑一个开源 CMS:

  • 不会编程:首选 WordPress 因为它成熟简单,编程相关的东西都被藏在了背后。
  • 会 Python:django-cms 容易接受,wagtail 则更新、势头更猛。
  • 会前端:推荐 strapi 它背后有商业化公司支持,吃透了可以谋个远程全职。
  • 不会前端,但懂后端:推荐 Ghost,它玩法多、社区活跃、有免费主题。

以上就是本文的所有内容了,由于篇幅问题没有写静态网站生成器相关的开源项目,后面我会专门再做一期。

如果您觉得这期内容还不错:求赞、求收藏、求转发,您的支持就是对我最大的鼓励!️

7 款殿堂级的开源 CMS(内容管理系统)的更多相关文章

  1. 30 个很棒的 PHP 开源 CMS 内容管理系统

    本文汇集了30个优秀的开源CMS建站系统,采用PHP开发.以下列表不分先后顺序. 1. AdaptCMS AdaptCMS Lite 是一个开源的CMS系统,主要特点是易用,而且可以轻松和其他系统接驳 ...

  2. 推荐八款.Net优秀的开源CMS 内容管理系统

    1,老牌内容管理系统SiteServer CMS  推荐指数:5 SiteServer CMS 是.NET平台的CMS系统,也是一款拥有十年历史与广泛知名度的CMS系统,2017年5月初迈出了自成立以 ...

  3. 贝云cms内容管理系统(thinkphp5.0开源cms管理系统)

    byCms包含文章,图片,下载,视频模型,基于thinkphp5.0.9,可无缝升级至thinkphp.1.0,是一套简单,易用的内容管理系统,旨在帮助开发者节约web应用后台开发时间和精力,以最快的 ...

  4. 基于thinkphp3.2.3开发的CMS内容管理系统 - ThinkPHP框架

    基于thinkphp3.2.3开发的CMS内容管理系统 thinkphp版本:3.2.3 功能: --分类栏目管理 --文章管理 --用户管理 --友情链接管理 --系统设置 目前占时这些功能,更多功 ...

  5. 基于thinkphp3.2.3开发的CMS内容管理系统(二)- Rbac用户权限

    基于thinkphp3.2.3开发的CMS内容管理系统 thinkphp版本:3.2.3 功能: --分类栏目管理 --文章管理 --商品管理 --用户管理 --角色管理 --权限管理 --友情链接管 ...

  6. 新能力 | 云开发CMS内容管理系统,5分钟搞定小程序管理后台

    小程序·云开发的云调用能力,让用户可以免鉴权快速调用微信的开放能力,极大节约了开发成本.现在,大家期待已久的云开发 CMS 内容管理系统,终于上线啦!顺便提示,接下来还可以二次开发哦! 云开发 CMS ...

  7. 开源丨CloudBase CMS 内容管理系统!简单易用企业内容管理流

    背景 云开发CloudBase CMS 是云开发推出的一站式云端内容管理系统,助力企业的数据运营管理工作. 开发者可以直接在云开发扩展能力中一键安装 CloudBase CMS,免费使用 CloudB ...

  8. .Net Core 3.0开源可视化设计CMS内容管理系统建站系统

    简介 ZKEACMS,又名纸壳CMS,是可视化编辑设计的内容管理系统.基于.Net Core开发可跨平台运行,并拥有卓越的性能. 纸壳CMS基于插件式设计,功能丰富,易于扩展,可快速创建网站. 布局设 ...

  9. 八大CMS内容管理系统推荐

    cms系统哪个好 感谢 64320 的投递 时间:2015-03-05 来源:http://www.iisp.com/ztview/ID_16129.html?s=bios 耐思尼克 很多新手站长初次 ...

  10. 初次认识dedecms和帝国cms内容管理系统

    近乎完美的内容模块管理 强大的内容管理系统,细致入微 其原理都是 先建立一个 模板系统 然后动态生成静态页面 注意各个板块和栏目的设置  在迁移网站的时候 尤其需要注意的是 系统参数的 根目录 需要及 ...

随机推荐

  1. python数据精度问题

    一.python运算时精度问题: 1.运行时精度问题在Python中(其他语言中也存在这个问题,这是计算机采用二进制导致的),有时候由于二进制和十进制之间对应问题会导致数值的精度问题,比如无法用有限个 ...

  2. HBase集群部署与基础命令

    HBase 集群部署 安装 hbase 之前需要先搭建好 hadoop 集群和 zookeeper 集群.hadoop 集群搭建可以参考:https://www.cnblogs.com/javammc ...

  3. 导出DNS服务器上的记录

    近日遇到一个需求,需要将DNS服务器上的所有记录都导出. 试了一下,如果从DNS管理单元里直接选择导出列表,那么子域的DNS记录是不会被导出的.这样显然不行,需要寻找其它方法.本来想用Export-D ...

  4. UEC++ 代理/委托

    代理: 代理可以帮助我们解决一对一或是一对多的任务分配工作.主要可以帮助我们解决通知问题.我们可以通过代理完成调用某一个对象的一个函数,而不直接持有该对象的任何指针. 代理就是为你跑腿送信的,你可以不 ...

  5. 基于深度学习的文本分类案例:使用LSTM进行情绪分类

    Sentiment classification using LSTM 在这个笔记本中,我们将使用LSTM架构在电影评论数据集上训练一个模型来预测评论的情绪.首先,让我们看看什么是LSTM? LSTM ...

  6. ProxySQL(7):详述ProxySQL的路由规则

    文章转载自:https://www.cnblogs.com/f-ck-need-u/p/9300829.html 关于ProxySQL路由的简述 当ProxySQL收到前端app发送的SQL语句后,它 ...

  7. KubeOperator版本升级后有关nexus组件的密码问题说明

    KO升级后,会覆盖原版本的nexus持久化文件,nexus密码会还原为默认密码admin123 在KO升级成功并用默认密码登录成功后,若想修改nexus密码,采用如下方式 1.先用默认密码登录nexu ...

  8. 【Ceph】Ceph学习理解Ceph的三种存储接口:块设备、文件系统、对象存储

    文章转载自:https://blog.51cto.com/liangchaoxi/4048519

  9. Kubernetes生态架构图

    图片来源于:https://gitbook.curiouser.top/ 一.kubernetes 集群架构图 二.Openshift or Kubernetes 集群架构图 三.常见的 CI/CD ...

  10. Centos7搭建 KVM 环境

    注意:使用KVM管理虚拟机分命令行和图形化界面两种方式,这里最后一步安装的工具是图形化管理工具 安装前准备 验证CPU是否支持KVM 如果结果中有vmx(Intel)或svm(AMD)字样,就说明CP ...