horde / bundle
horde安装的基础项目
Requires
- composer-plugin-api: ^2.0
- horde/horde: ^6 || dev-FRAMEWORK_6_0
- horde/horde-installer-plugin: ^2.5.1 || dev-FRAMEWORK_6_0 || dev-master
- horde/hordectl: ^1 || dev-FRAMEWORK_6_0 || dev-master
- horde/routes: ^3 || dev-FRAMEWORK_6_0
- pear/console_color2: ^0.1.2
- pear/console_table: ^1.3
Requires (Dev)
- horde/test: ^3 || dev-FRAMEWORK_6_0 || dev-master
This package is auto-updated.
Last update: 2024-09-11 14:16:16 UTC
README
一个由composer部署的horde套件
版本
- FRAMEWORK_6_0: 基于FRAMEWORK_6分支的horde基础,有版本化的/标记的发布(目前为alpha)
- FRAMEWORK_6_0_GROUPWARE: 带有版本化/标记的发布的设置(目前为alpha)。包含ansel(照片)、content(标签)、imp(网页邮件)、ingo(邮件过滤器)、kronolith(日历)、mnemo(笔记)、nag(任务)、passwd(更改密码)、timeobjects(其他数据源)、turba(联系人)
目录结构
- web/目录包含可读的网页内容、安装的horde应用程序、javascript和主题
- web/js包含由horde-library或horde-application类型composer包公开的所有javascript链接
- web/themes包含安装的主题链接。不要将它们放入web/horde/themes,因为它们在升级时将被删除
- web/horde/static包含自动生成的、可读的网页内容,如缓存的CSS。在composer升级时将会丢失
- vendor/目录由composer管理。它将包含库和工具
- presets/目录包含启动horde应用程序的配置,以便在安装或更新时立即启动。这些文件将被复制到var/config/$app目录,但其中的更改不会被复制回。警告:在当前composer2安装程序的状态下,您将在安装或升级时丢失web/$app/config文件
- var/包含一些默认的位置,用于备份变量数据
- var/config/包含管理员或自动化工具设置的持久配置。这些将被链接到传统的web/$app/config/位置。任何直接存储在web/$app/config中的自定义文件或修改在包升级时将会丢失。
- var/cache/用于任何基于文件系统的缓存文件
- var/log/默认的日志配置位置(horde日志、同步日志等)
- var/sessions/默认的会话数据存储位置(您应该更愿意使用PHP内建的或DHT)
- var/vfs/$app默认的位置用于任何VFS数据,以防您使用文件系统驱动程序
使用方法
git clone https://github.com/maintaina-com/horde-deployment.git horde
cd horde
composer install
然后将主horde配置文件复制到指向web/子目录的web服务器根目录
对于CI/CD场景,最好是分支并自定义您的部署
自定义
添加官方horde应用程序
通过在部署目录中命令行要求安装应用程序
此示例安装了ansel照片应用程序
composer require horde/ansel
或编辑部署的composer.json并运行
composer update
然后转到horde管理屏幕并创建conf.php或提供预制的conf.php
最后,通过使用UI按钮或运行创建数据库模式
$deployment/web/horde/bin/horde-db-migrate ansel up
安装程序将自动将horde.local.php添加到应用程序的配置目录,并添加一个注册片段以便horde找到应用程序。
添加自定义应用程序
添加自定义应用程序与官方应用程序类似。然而,除非应用程序可在packagist上获得,否则您需要添加应用程序的仓库。然后您可以像官方horde应用程序一样要求它
对于托管在公司内部gitlab安装上的自定义应用程序“lunch”,这将是这样
composer config repositories.lunch vcs https://git.mysite.com/development/lunch.git
composer require horde/lunch
Using version dev-master for horde/lunch
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing horde/lunch (dev-master d4e8bbd): Cloning d4e8bbdf0a from cache
horde/lunch suggests installing horde/activesync (^2.4)
horde/lunch suggests installing horde/backup (^1)
horde/lunch suggests installing horde/test (^2)
Writing lock file
Generating autoload files
自定义应用程序可能需要在您的horde基础中注册。为了实现这一点,您可以手动将片段放入registry.d,或将它添加到应用程序的doc/registry.d/路径,以便安装程序自动将其复制到您的horde/config/registry.d
应用程序必须至少有name键,可以提供API或定义其菜单位置。
请参阅horde维基以获取更多详细信息。
示例片段
lunch> cat doc/registry.d/app-lunch.php
<?php
$this->applications['lunch']['name'] = _('Lunch');
$this->applications['lunch']['provides'] = 'lunch';
安装程序将自动将horde.local.php添加到应用程序的配置目录,并添加一个注册片段以便horde找到应用程序。
预制的配置
您可以为您的应用程序提供预制的配置,以便在安装/更新时将其拉入您的部署。
创建一个预设/app 目录,并将文件如 prefs.local.php 或为您的场景准备好的可运行的 conf.php 放在那里。
现有配置不会被覆盖。
示例:为 passwd 应用程序部署预制的后端文件
presets/passwd/backends.local.php