congraph / cms
Congraph CMS 项目。
Requires
- php: ^7.1.3
- fideloper/proxy: ^4.0
- laravel/framework: 5.6.*
- laravel/tinker: ^1.0
Requires (Dev)
- filp/whoops: ^2.0
- fzaninotto/faker: ^1.4
- mockery/mockery: ^1.0
- nunomaduro/collision: ^2.0
- phpunit/phpunit: ^7.0
- dev-master
- v5.6.33
- v5.6.21
- v5.6.12
- v5.6.7
- v5.6.0
- 5.5.x-dev
- v5.5.28
- v5.5.22
- v5.5.0
- 5.4.x-dev
- v5.4.30
- v5.4.23
- v5.4.21
- v5.4.19
- v5.4.16
- v5.4.15
- v5.4.9
- v5.4.3
- v5.4.0
- 5.3.x-dev
- v5.3.30
- v5.3.16
- v5.3.10
- v5.3.0
- 5.2.x-dev
- v5.2.31
- v5.2.29
- v5.2.27
- v5.2.24
- v5.2.23
- v5.2.15
- v5.2.0
- 5.1.x-dev
- v5.1.33
- v5.1.11
- v5.1.4
- v5.1.3
- v5.1.1
- v5.1.0
- 5.0.x-dev
- v5.0.22
- v5.0.16
- v5.0.1
- v5.0.0
- v4.2.11
- v4.2.0
- v4.1.27
- v4.1.18
- v4.1.0
- v4.0.9
- v4.0.8
- v4.0.7
- v4.0.6
- v4.0.5
- v4.0.4
- v4.0.0
- v4.0.0-BETA4
- v4.0.0-BETA3
- dev-cms
- dev-develop
This package is auto-updated.
Last update: 2024-08-29 04:48:49 UTC
README
安装
Congraph CMS 安装分为三个部分:Laravel API 安装、NodeJS 管理端安装和 Nuxt 前端应用安装。您的文件夹结构应该是
/projects-folder
---- /new-project
--------- /new-project-api
--------- /new-project-admin
--------- /new-project-app
api 文件夹用于 Laravel 应用,admin 文件夹用于管理端应用,app 文件夹用于前端 Nuxt 应用
Laravel API
使用 Composer 安装版本 dev-master
composer create-project congraph/cms [folder-name] [version]
composer create-project congraph/cms new-project-api dev-master
这应该在您的计算机上拉取所有文件并安装所有 PHP 依赖项
接下来,您应该设置数据库,建议数据库名称以 'cg_' 前缀开头,并使用 utf8_general_ci 排序规则
一旦您设置了数据库,您应该编辑 .env 文件。前往您的 new-project-api 文件夹根目录并找到 .env 文件,如果出于某种原因该文件不存在,您可以复制 .env.example 文件并将其命名为 .env。在这里您可以找到所有环境设置。在继续之前需要设置的设置包括
DB_DATABASE- 您的 MySQL 数据库名称DB_USERNAME- 访问 MySQL 数据库的凭据DB_PASSWORD- 该用户的密码(如果您不使用密码,则留空)USING_ELASTIC- 用于使用 Elasticsearch 数据库的标志,如果您正在使用它,则将其设置为false。如果您在项目中使用 Elasticsearch,您应该在 app 配置/config/app.php中取消注释 EntityElasticServiceProvider。
现在我们需要在 CMD/Terminal 中运行几个 artisan 命令
- 首先,我们想要为新应用程序生成一个随机 App Key
php artisan key:generate
- 我们想要为 Laravel 生成一个优化的加载器
php artisan optimize
- 接下来,我们想要运行 Congraph 初始化脚本,该脚本将 a) 迁移数据库表。b) 运行初始化数据库数据的种子器。c) 为 Congraph 创建 2 个新的客户端应用。
php artisan congraph:init
此命令应打印出 2 个应用的设置(管理应用,前端应用)。您应该将这些设置复制到某个文件或笔记中。稍后您可以在数据库中找到它们。
设置 WAMP 服务器为 Laravel API
- 为您的 API 选择一个 URL,建议的 URL 应以 'api.' 开头,例如
http://api.new-project.com|http://api.new-project.test|http://api.new-project.localhost用于本地开发 - 更改主机文件:您可以在
C:\Windows\System32\drivers\etc中找到它 - 在主机文件中添加新行并写入您的新 URL
127.0.0.1 api.new-project.localhost
- 更改 Apache 配置虚拟主机,您可以在
C:\wamp64\bin\apache\apache2.4.33\conf\extra配置文件httpd-vhosts.conf中找到它 - 添加新的虚拟主机
<VirtualHost *:80>
ServerName api.new-project.localhost
DocumentRoot "${INSTALL_DIR}/www/new-project/new-project-api/public"
<Directory "${INSTALL_DIR}/www/new-project/new-project-api/public">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
- 重启 WAMP 服务器
- 在浏览器中尝试访问该 URL - 您应该看到一个带有 "Laravel 5" 标题的空白页面
NodeJS 管理端应用
我们将通过从 GitHub 克隆存储库来安装管理端应用
git clone git@github.com:congraphcms/admin.git [directory]
git clone git@github.com:congraphcms/admin.git new-project-admin
克隆存储库后,我们想要转到管理项目文件夹并运行 npm 安装程序
npm install
这应该在本地环境中安装所有依赖项
我们需要设置环境,就像在 Laravel 项目中一样。首先,我们需要复制 .env.example 文件并将其命名为 .env。
cp .env.example .env
现在我们可以更改 .env 文件。需要设置的设置包括
APP_URL通常为 'localhost:8080',但您可以将其设置为任何端口或自定义 URL。注意:如果您使用的是非 localhost 的自定义 URL,则需要将 ngnix 或 Apache 设置为代理请求到您的应用程序。对于本地开发,建议坚持使用 localhost 方案。APP_PORT应与APP_URL中的端口相同APP_HOST应与APP_URL中的主机相同CG_URLURL,其中可以找到 Congraph API(包括 URL 结尾的/)CG_CLIENT_ID从 Laravel APP 粘贴 Administration App ID 的值CG_CLIENT_SECRET从 Laravel APP 粘贴 Administration App SECRET 的值NODE_ENV设置为 'local' 用于本地开发环境或 'production' 用于生产服务器
设置这些参数后,我们可以运行 Administration App
npm run start
应用应在您指定的位置可用,默认为 https://:8080 您应使用以下凭据成功登录:电子邮件:john.doe@example.com 密码:secret
故障排除
- 如果在尝试登录时遇到 CORS 策略错误(检查 DevTools 控制台),请转到您的 Laravel API 项目文件夹,然后转到
/vendor/congraph/api/Http/routes.php文件。取消注释第 5 行header('Access-Control-Allow-Origin: *');再次尝试登录。
Nuxt 前端应用
我们将通过从 GitHub 克隆仓库来安装前端应用
git clone git@github.com:congraphcms/nuxt-starter.git [directory]
git clone git@github.com:congraphcms/nuxt-starter.git new-project-app
在克隆仓库后,我们希望移动到前端项目文件夹并运行 npm 安装程序
npm install
这应该在本地环境中安装所有依赖项
我们需要设置环境,就像在 Laravel 项目中一样。首先,我们需要复制 .env.example 文件并将其命名为 .env。
cp .env.example .env
现在我们可以更改 .env 文件。需要设置的设置包括
CG_URLURL,其中可以找到 Congraph API(包括 URL 结尾的/)DEFAULT_LOCALE应用默认使用的代码示例:en_US
设置这些参数后,我们可以运行前端应用
npm run dev
部署
信息
3 个应用需要部署
- API 应用程序(api)
- 管理应用(admin|cms)
- 前端应用
API 部署
要求
- MySQL | MariaDB 已安装
- Elasticsearch 已安装
- PHP ^7.0 已安装
步骤
- 复制文件
- 配置
- 数据库种子
复制文件
- 复制所有压缩在 .zip 文件中的文件,包括 "vendor" 文件夹(如果服务器上没有 composer)。
- 通过 ssh 在服务器上解压缩文件。
- 设置文件权限。Hokosoft 服务器
chown -R {$domain}:www /usr/local/www/data/{$domain}
chmod -R 750 /usr/local/www/data/{$domain}
配置
- 更改 .env 文件(mysql 设置、es 设置、索引名称、应用密钥等)
- 如果使用 Apache 服务器,请将以下内容添加到 /public 文件夹中的 .htaccess 文件
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
- 更改 /config 文件夹中的 app.php 文件中的域名
数据库种子
- 上传空的 Congraph 数据库到服务器并导入它
- 检查 /database/seeds 文件夹中的 DefaultWorkflowSeeder.php 和 OAuthSeeder.php,如果数据对于此设置是正确的,则运行种子
- 使用以下命令运行种子
php artisan db:seed --class=DefaultWorkflowSeeder
php artisan db:seed --class=OAuthSeeder
管理应用部署
要求
- 服务器上已安装 node 和 npm
- 最好在服务器上安装 pm2