最近,有读者留言让我推荐开源 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. [WPF] 使用 HandyControl 的 CirclePanel 画出表盘刻度

    1. 前言 最近需要一个 WPF 的表盘控件,之前 Cyril-hcj 写过一篇不错的博客 <WPF在圆上画出刻度线>,里面介绍了一些原理及详细实现的代码: double radius = ...

  2. Javaweb__Jquery

    今日内容 1. JQuery 基础: 1. 概念 2. 快速入门 3. JQuery对象和JS对象区别与转换 4. 选择器 5. DOM操作 6. 案例 JQuery 基础: 1. 概念: 一个Jav ...

  3. 类的常成员const

    成员数据 以Human为例: 类中: 传统的初始化方式:                                                                        ...

  4. 第六章:Django 综合篇 - 9:序列化 serializers

    Django的序列化工具让你可以将Django的模型'翻译'成其它格式的数据.通常情况下,这种其它格式的数据是基于文本的,并且用于数据交换\传输过程. 一.序列化数据 Django为我们提供了一个强大 ...

  5. Jenkins 运行权限问题

    yum安装的Jenkins 配置文件默认位置/etc/sysconfig/jenkins 默认jenkins服务以jenkins用户运行,这时在jenkins执行maven脚本时可能会发生没有权限操作 ...

  6. 初试 Prometheus + Grafana 监控系统搭建并监控 Mysql

    转载自:https://cloud.tencent.com/developer/article/1433280 文章目录1.Prometheus & Grafana 介绍1.1.Prometh ...

  7. NSIS V3.08 简体中文增强版

    说明: 该3.08版本属本人业余时间集成修改制作,首发博客园,欢迎反馈安装与使用中出现的BUG,转载请注明出处! 本版本母版源自NSIS(Nullsoft Scriptable Install Sys ...

  8. Java之POI导出Excel(二):多个sheet

    相信在大部分的web项目中都会有导出导入Excel的需求,之前我也写过一篇导出单个sheet工作表的文章,没看过的小伙伴可以去看哈,链接也给大家放出来了:导出单个sheet 但是在我们日常的工作中,需 ...

  9. 关于docker-环境部署及拉取镜像创建容器的过程记录

    背景:因安全部门要求对特定几台应用主机的进行漏洞及脆弱性扫描,使用的工具需要基于docker环境,即他们提供镜像,让我们创建成容器,于是将整个环境安装及创建docker容器的过程记录于此 1.还是先得 ...

  10. P1399 [NOI2013] 快餐店 方法记录

    原题题面P1399 [NOI2013] 快餐店 题目描述 小 T 打算在城市 C 开设一家外送快餐店.送餐到某一个地点的时间与外卖店到该地点之间最短路径长度是成正比的,小 T 希望快餐店的地址选在离最 ...