horde/bundle

horde安装的基础项目

维护者

详细信息

github.com/horde/bundle

源代码

问题

安装: 166

依赖者: 0

建议者: 0

安全: 0

星星: 2

关注者: 3

分支: 8

开放问题: 0

类型:项目

1.0.2 2023-10-25 14:44 UTC

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