/cms

Feehi CMS based on yii2

Primary LanguagePHPOtherNOASSERTION

FeehiCMS (English) 首款编写单元测试、功能测试、验收测试的yii2开源系统

基于yii2的CMS系统,运行环境与yii2(php>=5.4)一致。FeehiCMS旨在为yii2爱好者提供一个基础功能稳定完善的系统,使开发者更专注于业务功能开发。 FeehiCMS没有对yii2做任何的修改、封装,但是把yii2的一些优秀特性几乎都用在了FeehiCMS上,虽提供文档, 但FeehiCMS提倡简洁、快速上手,基于FeehiCMS开发可以无需文档,反倒FeehiCMS为yii2文档提供了最好的实例

Latest Stable Version License Build Status

演示站点

演示站点后台 用户名:feehicms 密码123456

帮助

  1. 开发文档http://doc.feehi.com

  2. QQ群 936448696

  3. 微信
    微信

  4. Email job@feehi.com

  5. bug反馈

功能

  • 多语言
  • 单元测试
  • 功能测试
  • 验收测试
  • RBAC权限管理
  • restful api
  • 文章管理
  • 操作日志
  • 适配手机

FeehiCMS提供完备的web系统基础通用功能,包括前后台菜单管理,文章标签,广告,banner,缓存,网站设置,seo设置,邮件设置,分类管理,单页...

使用Docker

1.下载镜像

    $ docker pull registry.cn-hangzhou.aliyuncs.com/feehi/cms #FQ后建议直接使用docker pull feehi/cms

2.创建容器

    $ docker run --name feehicms -h feehicms -itd -v /path/to/data:/data -e DBDSN=sqlite:/data/feehi.db -e TablePrefix=feehi_ -e AdminUsername=admin -e AdminPassword=123456 -p 8080:80 feehi/cms

以上命令将会自动初始化FeehiCMS,并导入数据库(默认数据库为sqlite)
如果需要更使用其他数据库,比如mysql,执行:

    $ docker run --name feehicms -h feehicms -itd -e DBDSN=mysql:host=mysql-ip;dbname=feehi -e DBUser=dbuser -e DBPassword=dbpassword -e TablePrefix=feehi_ -e AdminUsername=admin -e AdminPassword=123456 -p 8080:80 feehi/cms

如果需要使用postgresql则将DBDSN改为pgsql:host=pgsql-ip

也可以仅初始化FeehiCMS,然后通过web在线安装

    $ docker run --name feehicms -h feehicms -itd -p 8080:80 feehi/cms -o start

然后访问http://ip:port/install.php,根据提示选择数据库类型,填写数据库用户名、数据库密码、后台管理员用户名、密码完成安装。

以上方式启动的容器只能用作开发环境,容器启动命令最终调用为php -S 0.0.0.0:80,如果用作production,可以执行

    $ docker run --name feehicms -h feehicms -itd -p 8080:80 feehi/cms -m start

容器将启动php-fpm,并监听9000端口,配合nginx使用。nginx配置大致为

    location ~ \.php$ {
        ...
        fastcgi_pass fpm-ip:9000;
        fastcgi_param  SCRIPT_FILENAME  /usr/local/feehicms/frontend/web$fastcgi_script_name;
        ...
    }

因为yii2会生成js/css,以及新上传的文件(图片)需要nginx webroot使用php fpm容器同一个文件夹:/usr/local/feehicms/frontend/web

安装

前置条件: 如未特别说明,本文档已默认您把php命令加入了环境变量,如果您未把php加入环境变量,请把以下命令中的php替换成/path/to/php

无论是使用归档文件还是composer,都有相应阶段让您填入后台管理用户名、密码

  1. 使用归档文件(简单,适合没有yii2经验者)

    1. 下载FeehiCMS源码 点击此处下载最新版
    2. 解压到目录
    3. 配置web服务器web服务器配置
    4. 浏览器打开 http://localhost/install.php 按照提示完成安装(若使用php内置web服务a器则地址为 http://localhost:8080/install.php )
    5. 完成
  2. 使用composer (推荐使用此方式安装)

    composer的安装以及国内镜像设置请点击 此处

    以下命令默认您已全局安装composer,如果您是局部安装的composer:请使用php /path/to/composer.phar来替换以下命令中的composer

    1. 使用composer创建FeehiCMS项目

          $ composer create-project feehi/cms webApp //此命令创建的FeehiCMS项目不能平滑升级新版本(目录结构简单,目前主力维护版本)
    2. 依次执行以下命令初始化yii2框架以及导入数据库

      $ cd webApp
      $ php ./init --env=Development #初始化yii2框架,线上环境请使用--env=Production
      $ php ./yii migrate/up --interactive=0 #导入FeehiCMS sql数据库,执行此步骤之前请先到common/config/main-local.php修改成正确的数据库配置
    3. 配置web服务器web服务器配置

    4. 完成

运行测试

  1. 仅运行单元测试,功能测试(不需要配置web服务器)
   cd /path/to/webApp
   vendor/bin/codecept run
  1. 运行单元测试,功能测试,验收测试(需要配置完web服务器)
    1. 分别拷贝backend,frontend,api三个目录下的tests/acceptance.suite.yml.example到各自目录,并均重名为acceptance.suite.yml,且均修改里面的url为各自的访问url地址
    2. 与上(仅运行单元测试,功能测试)命令一致

项目展示