honeybee / honeybee-agavi-cmf-demo
基于Agavi和Honeybee CQRS库构建内容管理应用(CMS)的演示项目。
Requires
- php: >=5.5.0
- ext-imagick: *
- lib-curl: *
- lib-iconv: *
- lib-icu: *
- lib-libxml: *
- lib-openssl: *
- lib-pcre: *
- lib-xsl: *
- honeybee/honeybee: master@dev
- honeybee/honeybee-agavi-cmf-vendor: master@dev
- honeybee/trellis: master@dev
- roave/security-advisories: master@dev
- sensiolabs/security-checker: ^3.0
- shrink0r/workflux: master@dev
Requires (Dev)
- phpmd/phpmd: 2.2.*
- phpunit/phpunit: 4.8.*
- sami/sami: 3.*
- satooshi/php-coveralls: 0.6.*
- sebastian/phpcpd: 2.0.*
- squizlabs/php_codesniffer: 2.3.*
This package is auto-updated.
Last update: 2024-09-05 18:13:03 UTC
README
Honeybee-Agavi内容管理框架(CMF)基于Honeybee CQRS和事件源库,该库包括对Agavi MVC框架的框架绑定。它提供模块化和可扩展的应用程序基础设施,以促进构建复杂的内容管理系统(CMS),同时支持领域驱动设计(DDD)方法。
此项目正在积极开发中。在提供发布版之前,更改可能会很频繁。
#安装 您可以按照提供的说明直接从本项目仓库安装应用程序。
此演示应用程序是从honeybee-agavi-cmf-project仓库创建的。
##在虚拟机内安装应用程序 这些说明详细说明了在虚拟机(VM)上启动应用程序的步骤。虚拟机将被配置并预置,以提供Honeybee应用程序所需的运行环境。
###先决条件
VirtualBox
- https://www.virtualbox.org/wiki/Downloadsgit
- https://git-scm.cnvagrant
- http://downloads.vagrantup.comcomposer
- https://getcomposer.org.cn/download- 一个用于您应用程序的GitHub账户和仓库
- 了解Agavi MVC框架是有益的
###创建新项目 使用composer
创建项目将引导您配置项目和虚拟机以用于新应用程序。我们忽略平台要求,因为项目将安装在虚拟机内。
# replace the last argument with your chosen folder name if required
composer create-project -sdev --ignore-platform-reqs --no-install \
honeybee/honeybee-agavi-cmf-demo honeybee-agavi-cmf-demo
将克隆仓库并执行一个后安装脚本,该脚本将提示您回答一些简单的配置问题。
- 当被问及GitHub仓库时,您应该选择一个您有写入权限且虚拟机可以访问的仓库名称。您的应用程序需要推送到此仓库,以便虚拟机可以启动、克隆和安装。
- 当被问及配置虚拟机时,您应该回答
yes
- 当被问及主机名时,您可以根据您的仓库名称接受默认设置,或者选择另一个HTTPS URL,在虚拟机内托管您的应用程序。
- 当
composer
询问您是否要保留VCS文件时,您可能回答no
###初始化您的仓库 您的应用程序现在已配置完毕,准备好提交到您自己的仓库。有关在Github上从源创建新仓库的详细说明,请参阅这里。我们已将命令总结如下:
# first create repository at github cd honeybee-agavi-cmf-demo git init git add . git commit -m 'Initialising project' # replace the following Github repository url with your own git remote add origin git@github.com:honeybee/honeybee-agavi-cmf-demo.git git push -u origin master
###启动虚拟机 当您的全新仓库公开后,虚拟机即可启动。当虚拟机首次初始化时,它将克隆您刚刚创建的Github仓库。您可以使用以下命令启动机器:
cd honeybee-agavi-cmf-demo/dev/box vagrant up # please wait, the virtual machine will be downloaded and installed # provisioning can take up to 30 minutes depending on resources
您将看到控制台输出,显示机器镜像正在下载和配置。在配置过程中,您可能需要输入,但在所有情况下都可以接受默认值。
###完成安装 当您的虚拟机启动并运行后,您可以通过执行以下命令完成安装:
vagrant ssh cd /srv/www/honeybee-agavi-cmf-demo.local composer install # when prompted you should accept the project installation sudo service nginx restart
应用程序将安装所有依赖项并构建所有必需的资源。这可能需要几分钟时间。
###访问CMS 当应用程序成功设置后,应在以下位置访问:
https://honeybee-agavi-cmf-demo.local/
到这一点,它已准备好使用和开发,但此时不会包含任何数据。如果您以前从未创建过Honeybee应用程序,我们建议您查阅烹饪书。烹饪书将指导您从头开始创建演示应用程序,解释您在构建此框架上的应用程序时需要了解的许多概念。
或者,您可能希望按照此处的解释从头开始初始化应用程序。
###挂载源
- Mac OSX
- 在Finder菜单中
- 选择 连接到服务器... (⌘K)
- 输入以下地址:
nfs://honeybee-agavi-cmf-demo.local/srv/www/
- 在Finder菜单中
- Ubuntu/Linux
mount honeybee-agavi-cmf-demo.local:/srv/www/ /home/${USER}/projects/honeybee-agavi-cmf-demo
###控制系统服务 在虚拟机上运行以下主要服务,并通过systemd
进行控制:
- Couchdb
- Elasticsearch
- Converjon
为了启动/停止服务或获取状态,请在虚拟机内使用相应的sudo
命令。
sudo service couchdb status|start|stop|restart
开启/关闭虚拟机
尽可能使用以下命令停止服务器:
vagrant suspend
然后使用以下命令唤醒它:
vagrant resume
这将使服务器进入休眠状态,而不是完全关闭,从而运行速度更快。但是,不会重新配置服务器的网络接口。为此,需要完全重新启动虚拟机,可以通过调用以下命令来完成:
vagrant reload # is the same as: vagrant halt && vagrant up
##本地安装 即将推出...
##初始化 当Honeybee CMF项目首次安装时,数据库尚未初始化,系统中没有数据。
###初始化存储库 提供系统迁移以创建管理用户。我们可以使用以下命令执行所有挂起的迁移并初始化数据存储:
composer migration-run -- --all
完成后,您将看到已执行哪些迁移的摘要。此时,系统中没有数据。
###创建管理用户 我们可以使用以下命令创建管理用户。
composer user-create
命令将提示输入用户名和电子邮件地址。按照命令指示输入您的选择,然后按照设置密码的指示操作。您可以使用新创建的账户在 https://honeybee-agavi-cmf-demo.local/ 登录系统。
######用户注册和电子邮件服务 在正常的用户注册流程中,用户会收到账户验证电子邮件。在开发环境中,邮件服务被模拟,实际上不会发送电子邮件。