# StartCMS **Repository Path**: simplestart/start-cms ## Basic Information - **Project Name**: StartCMS - **Description**: StartCMS是一个基于ThinkPHP6.0+、ElementUI、MicroApp的极速微应用开发框架 前端不限技术栈,支持Vue2、Vue3、Vite、React、Rangular... 后端不限制语言,支持PHP、Java、Node、Python、Go、C#... 始终秉承 开源 开放 自由的理念 让我们简单地开始! Simplestart! - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 2 - **Created**: 2023-02-01 - **Last Updated**: 2024-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 介绍 StartCMS是一个基于ThinkPHP6.0+、ElementUI、MicroApp的极速**微应用**开发框架 前端不限技术栈,支持Vue2、Vue3、Vite、React、Rangular... 后端不限制语言,支持PHP、Java、Node、Python、Go、C#... 始终秉承 开源 开放 自由的理念 永久免费 不限商用 Simplestart! ## 主要特性 - 大道至简:后端标准CMS分层设计,前端微应用架构,全新开发模式和开发规范给开发更好体验 - 框架独立:分离框架代码与应用代码,框架只保留核心功能,各类业务功能以应用形式实现 - 应用独立:每个应用都可以独立开发、独立运行、独立部署,再将这些小型应用融合为一个完整的应用 - 不限技术:前后端可以用任意语言任意技术栈开发,可以局部/增量升级,代码简洁、解耦、更易维护 - 不限架构:支持微应用架构的同时也兼容单体架构开发,不同应用的前端可分离也可在基座上直接开发 - 命令优化:完善的命令支持,一行命令即可启动前后端服务,无需再搭建本地站点开发 - 代码生成:内置高效代码生成器,一键生成优雅的CURD相关接口及接口文档 - 注解文档:集成[APIDOC](https://apidocjs.com)注解文档,一键生成可调试接口文档 - 注解权限:接口注释添加@super, @auth, @admin, @login等标签即可完成权限控制并生成前端路由 - 角色权限:内置完善的多角色功能权限控制,无限父子级权限分组 - 数据权限:基于组织架构的行数据权限控制,支持无限级组织架构设置 - 全站事件:跨应用事件分发,事件监听、事件订阅自动化完成,无需手动绑定 - 通用模型:内置快速关联查询,分页查询,列表查询,详情查询,数据更新及删除 - 通用服务:模型自动关联,内置快速分页查询,列表查询,详情查询,数据更新及删除 - 通用控制器:快速参数格式校验,安全验证可自动化完成CSRF安全验证 ## 环境要求 PHP >= 7.4.0 Mysql >= 5.6 Nginx 或 Apache 建议Nginx Nginx 或 Apache 都需要配置伪静态 启用函数 putenv proc_open(composer安装扩展时用到) ## 演示站点 - 演示地址:[http://demo.startcms.cn](http://demo.startcms.cn) - 账户密码:admin/admin ## 开发文档 - [点击访问](http://doc.startcms.cn) ## 下载安装 1. 下载 - [点击下载](https://github.com/simplestart-cn/start-cms/archive/refs/heads/master.zip) 纯净版(仅含框架代码,需要执行```composer install```) - [点击下载](https://github.com/simplestart-cn/start-cms/archive/refs/heads/demo.zip) 完整版(内置示例应用,已执行过```composer install```) - 命令下载 ```git clone git@github.com:simplestart-cn/start-cms.git``` 2. 安装:```composer install``` 3. 启动:```php start run``` 4. 访问:```http://localhost:8080``` > 如果composer install失败,请尝试在命令行进行切换配置到国内源,命令如下 > composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ ## 正式部署 > 一般内置服务已足以开发使用,当部署至服务器环境正式使用时需要进行如下配置 1. 将域名解析至系统根目录 2. 修改伪静态配置(请参考下方伪静态设置) 3. 修改环境安全配置(请参考下方安全配置) 4. 访问您的域名打开站点,填写数据库配置信息即可一键安装 ## 伪静态(必须) - Niginx - 修改nginx.conf配件文件,添加以下内容即可 ``` location / { index web index.html index.php if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } } location /web { try_files $uri $uri/ /web/index.html; } ``` - Apache - 确保已经启用Apache的伪静态,确保目录已经配置好权限,修改配置 - 把下面的内容保存为.htaccess文件放到根目录下 ``` Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] ``` - 把下面的内容保存到httpd.conf或者httpd-vhost.conf ``` AllowOverride All Allow from all Require all granted DirectoryIndex index.html index.php index.htm Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.html?/$1 [QSA,PT,L] ``` ## 安全配置(必须) - LNMP环境(Linux + Nginx + Mysql + PHP) - 修改nginx.conf配件文件,添加以下内容 ``` # 禁止访问的文件 location ~ ^/(\.env|\.user.ini|\.htaccess|\.git|\.svn|\.project) { return 404; } # 禁止访问的目录 location ~ ^/(?:build|tests|config|lib|vendor|extend)/ { deny all; } ``` - ... - LAMP环境(Linux + Apache + Mysql + PHP) - 把下面的内容保存到httpd.conf或者httpd-vhost.conf - ... ## 交流改进 请通过 [GitHub Issues](https://github.com/simplestart-cn/start-cms/issues) 反馈 bug 和 feature ## 相关项目 - [ApiDoc](https://apidocjs.com) - [MicroApp](https://micro-zoe.github.io/micro-app) - [ThinkPHP](https://www.kancloud.cn/manual/thinkphp6_0/1037479) - [ElementUI](https://element.eleme.cn/#/zh-CN) - [FormCreate](http://www.form-create.com/)