Congraph CMS 项目。

安装: 75

依赖者: 0

建议者: 0

安全: 0

星级: 1

关注者: 3

Forks: 23,942

类型:项目


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。在这里您可以找到所有环境设置。在继续之前需要设置的设置包括

  1. DB_DATABASE - 您的 MySQL 数据库名称
  2. DB_USERNAME - 访问 MySQL 数据库的凭据
  3. DB_PASSWORD - 该用户的密码(如果您不使用密码,则留空)
  4. USING_ELASTIC - 用于使用 Elasticsearch 数据库的标志,如果您正在使用它,则将其设置为 false。如果您在项目中使用 Elasticsearch,您应该在 app 配置 /config/app.php 中取消注释 EntityElasticServiceProvider。

现在我们需要在 CMD/Terminal 中运行几个 artisan 命令

  1. 首先,我们想要为新应用程序生成一个随机 App Key
php artisan key:generate
  1. 我们想要为 Laravel 生成一个优化的加载器
php artisan optimize
  1. 接下来,我们想要运行 Congraph 初始化脚本,该脚本将 a) 迁移数据库表。b) 运行初始化数据库数据的种子器。c) 为 Congraph 创建 2 个新的客户端应用。
php artisan congraph:init

此命令应打印出 2 个应用的设置(管理应用,前端应用)。您应该将这些设置复制到某个文件或笔记中。稍后您可以在数据库中找到它们。

设置 WAMP 服务器为 Laravel API

  1. 为您的 API 选择一个 URL,建议的 URL 应以 'api.' 开头,例如 http://api.new-project.com | http://api.new-project.test | http://api.new-project.localhost 用于本地开发
  2. 更改主机文件:您可以在 C:\Windows\System32\drivers\etc 中找到它
  3. 在主机文件中添加新行并写入您的新 URL
127.0.0.1 api.new-project.localhost
  1. 更改 Apache 配置虚拟主机,您可以在 C:\wamp64\bin\apache\apache2.4.33\conf\extra 配置文件 httpd-vhosts.conf 中找到它
  2. 添加新的虚拟主机
<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>
  1. 重启 WAMP 服务器
  2. 在浏览器中尝试访问该 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 文件。需要设置的设置包括

  1. APP_URL 通常为 'localhost:8080',但您可以将其设置为任何端口或自定义 URL。注意:如果您使用的是非 localhost 的自定义 URL,则需要将 ngnix 或 Apache 设置为代理请求到您的应用程序。对于本地开发,建议坚持使用 localhost 方案。
  2. APP_PORT 应与 APP_URL 中的端口相同
  3. APP_HOST 应与 APP_URL 中的主机相同
  4. CG_URL URL,其中可以找到 Congraph API(包括 URL 结尾的 /
  5. CG_CLIENT_ID 从 Laravel APP 粘贴 Administration App ID 的值
  6. CG_CLIENT_SECRET 从 Laravel APP 粘贴 Administration App SECRET 的值
  7. NODE_ENV 设置为 'local' 用于本地开发环境或 'production' 用于生产服务器

设置这些参数后,我们可以运行 Administration App

npm run start

应用应在您指定的位置可用,默认为 https://:8080 您应使用以下凭据成功登录:电子邮件:john.doe@example.com 密码:secret

故障排除

  1. 如果在尝试登录时遇到 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 文件。需要设置的设置包括

  1. CG_URL URL,其中可以找到 Congraph API(包括 URL 结尾的 /
  2. DEFAULT_LOCALE 应用默认使用的代码示例:en_US

设置这些参数后,我们可以运行前端应用

npm run dev

部署

信息

3 个应用需要部署

  • API 应用程序(api)
  • 管理应用(admin|cms)
  • 前端应用

API 部署

要求

  • MySQL | MariaDB 已安装
  • Elasticsearch 已安装
  • PHP ^7.0 已安装

步骤

  • 复制文件
  • 配置
  • 数据库种子

复制文件

  1. 复制所有压缩在 .zip 文件中的文件,包括 "vendor" 文件夹(如果服务器上没有 composer)。
  2. 通过 ssh 在服务器上解压缩文件。
  3. 设置文件权限。Hokosoft 服务器
chown -R {$domain}:www /usr/local/www/data/{$domain}
chmod -R 750 /usr/local/www/data/{$domain}

配置

  1. 更改 .env 文件(mysql 设置、es 设置、索引名称、应用密钥等)
  2. 如果使用 Apache 服务器,请将以下内容添加到 /public 文件夹中的 .htaccess 文件
    RewriteCond %{HTTP:Authorization} ^(.*)
    RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
  1. 更改 /config 文件夹中的 app.php 文件中的域名

数据库种子

  1. 上传空的 Congraph 数据库到服务器并导入它
  2. 检查 /database/seeds 文件夹中的 DefaultWorkflowSeeder.php 和 OAuthSeeder.php,如果数据对于此设置是正确的,则运行种子
  3. 使用以下命令运行种子
php artisan db:seed --class=DefaultWorkflowSeeder
php artisan db:seed --class=OAuthSeeder

管理应用部署

要求

  • 服务器上已安装 node 和 npm
  • 最好在服务器上安装 pm2