设置 trac wiki

来自 Alpine Linux

本文档描述了如何设置 trac.edgewall.org trac wiki。

本教程中的值和示例

本教程中使用的值 tracadminexample.comsecret 以及各种路径和项目名称仅为示例。在大多数情况下,您可以将它们更改为适合您的内容。

基本的 Trac 安装和配置

安装 Trac

更新 apk 仓库并安装 trac

# apk add trac

创建项目环境

我们需要初始化一个新的环境

# trac-admin /var/lib/trac/myproject initenv

  • 在提示时输入一些项目名称
  • 保留默认 sqlite DB(只需按回车键)

配置身份验证/安全性

创建密码文件

最初,您需要手动创建一个包含此信息的密码文件

# echo -n "tracadmin:example.com:" > /var/lib/trac/myproject/users.htdigest

  1. echo -n "tracadmin:example.com:secret"

如果您好奇文件看起来是什么样子,请运行以下命令

# cat /var/lib/trac/myproject/users.htdigest

(您应该看到类似 tracadmin:example.com:72842d9ffe3f4f63306a06756d2953ee 的内容)

分配管理员权限

接下来是为您的 tracadmin 帐户授予管理员权限

# trac-admin /var/lib/trac/myproject permission add tracadmin TRAC_ADMIN

测试独立服务器

让我们测试一下您的密码文件和其他配置是否按预期工作。
如果出现问题,此测试将为您提供有关问题所在的提示。

# tracd --port 80 --auth=*,/var/lib/trac/<i>myproject</i>/users.htdigest,<i>example.com</i> /var/lib/trac/<i>myproject</i>

尝试使用 Web 浏览器连接到 trac,地址为 http://ip.of.the.box

如果它按预期工作,您可以终止上述命令(在启动命令的终端中使用 CTRL+C)并继续阅读本教程。

配置/启动

启动配置

需要编辑 /etc/conf.d/tracd 以便 tracd 启动。

内容 /etc/conf.d/tracd

... TRACD_PORT="8000" TRACD_OPTS="--auth=*,/var/lib/trac/<i>myproject</i>/users.htdigest,<i>example.com</i> /var/lib/trac/<i>myproject</i>"
注意: 如果您想在端口 80(或低于 1024 的其他端口)上运行 tracd,您需要修改上述配置,以便 tracd 以“root”身份运行。
提示: 可以通过执行此命令编辑文件:vi /etc/conf.d/tracd

文件/文件夹权限

tracd 用户设置文件/文件夹权限。

# chown -R tracd:tracd /var/lib/trac

手动启动

现在是启动您的 trac 的时候了。

# rc-service tracd start

(此时您应该能够使用指向 http://ip.of.the.box 的 Web 浏览器浏览您的 tracd)

在下次启动时自动启动

使其在启动期间启动。

# rc-update add tracd

保存您的配置

现在是确保您的配置保持永久性的好时机。您不会希望在下次重启时丢失所有内容。
根据您设置 alpine 主机的方式,此过程会有所不同。

从 CD 运行时

如果您是从 CD 运行 alpine (就像我在编写本教程时一样),您可能需要将您的配置保存到 USB 存储器。
但是为了备份 /var/lib/trac 项目,您需要告诉 apk 复制正在运行的项目。(有关如何创建此类脚本的详细信息,请参阅Alpine local backup#Execute a script as part of a backup

简而言之:我们创建了具有以下内容的 /etc/lbu/pre-package.d/tracd

内容 /etc/lbu/pre-package.d/tracd

#!/bin/sh TRACPATH=/var/lib/trac BACKUPPATH=/etc/trac/backup mkdir -p ${BACKUPPATH} for i in $(ls ${TRACPATH}); do trac-admin ${TRACPATH}/${i} hotcopy ${BACKUPPATH}/${i} done

然后我们使脚本可执行

# chmod +x /etc/lbu/pre-package.d/tracd

从 HDD 安装运行时

当使用 HDD 安装的 alpine 时,所有内容都写入 HDD,因此您无需采取任何额外的步骤来永久保存它(除非您可能想要进行备份以防 HDD 损坏)

完成基本 trac 系统的安装

如果您只想拥有一个基本的 trac 系统,那么您现在已经达到了目标。
从现在开始的一切或多或少都是可选的。
如果您不太着急,我建议您继续阅读下文 - 您可能会发现一些有用的东西!

提示: 继续阅读本教程!

备份

要创建活动 TracEnvironment 的备份,只需运行

# trac-admin /var/lib/trac/myproject hotcopy /path/to/backupdir

其他配置和修改

高级设置

/var/lib/trac/myproject/conf/trac.ini 包含您可能想要浏览的各种设置。
为了使这些更改生效,您需要重启 tracd

# rc-service tracd restart

运行单个或多个项目

多个项目

按照上面 创建项目环境配置身份验证/安全性 部分中提到的步骤来创建一个新项目。
您可能还需要更改新创建的项目的权限 - 有关详细信息,请参阅 文件/文件夹权限 部分。

接下来,您需要修改 /etc/conf.d/tracd 以便在您的 trac 服务器上运行多个项目。
我个人只是添加了一行新的 TRACD_OPTS 指向我的新项目

内容 /etc/conf.d/tracd

... TRACD_OPTS="--auth=*,/var/lib/trac/<i>myproject</i>/users.htdigest,<i>example.com</i> /var/lib/trac/<i>myproject</i>" TRACD_OPTS="$TRACD_OPTS --auth=*,/var/lib/trac/<i>myproject2</i>/users.htdigest,<i>example.com</i> /var/lib/trac/<i>myproject2</i>" <nowiki>}} ==== 单个项目 ==== 如果您知道您只需要一个项目,您可以将 <code>--single-env</code> 添加到 {{path|/etc/conf.d/tracd}} 配置文件中。<BR> 修改 <code>TRACD_OPTS</code> 参数,添加 </code>--single-env</code> 值到其中(请参阅以下示例): {{cat|/etc/conf.d/tracd|<nowiki>... TRACD_OPTS="--single-env --auth=*,/var/lib/trac/<i>myproject</i>/users.htdigest,<i>example.com</i> /var/lib/trac/<i>myproject</i>" ...

当以 single-env 运行时,您将自动路由到您的 trac 项目,而不是显示可用项目的列表。

安装有用的插件 (trac hacks)

先决条件

为了安装 trac-hacks,您需要安装一些额外的应用程序。

# apk add py-setuptools subversion python-dev

提示: 当您完成安装各种 trac-hacks 后,您可以尝试使用 apk del 卸载上述软件包以释放内存。
如果某些其他程序需要它们,您会注意到并且您将被阻止卸载该软件包。
安装期间

在安装 trac hack 期间,您可能会收到有关某些证书有效性的提示。接受它以继续安装。

应用 trac hack 之后

当安装 trac hack 后,您需要重启 tracd,然后才能开始配置和使用它。

# rc-service tracd restart

配置 trac hack

当 trac hack 安装完成并且 tracd 重启后,您可以浏览到 tracd 并使用您的 tracadmin 帐户登录。
您应该在菜单中看到一个 [Admin] 选项。
从“Admin”控制台中,您将在“Administration”菜单中找到“Plugins”。

开始管理您的插件(在修改/配置各种 trac hacks 时,您很可能需要查阅 https://trac-hacks.org

Account Manager 插件

Account Manager 插件用于通过使用 tracd 界面来管理帐户,而不是像安装 trac 时那样手动修改 users.htdigest 文件 (https://trac-hacks.org/wiki/AccountManagerPlugin)

# easy_install-2.7 https://trac-hacks.org/svn/accountmanagerplugin/0.11

TracGit

用于 Trac 0.12 的 GIT 版本控制插件 (https://trac-hacks.org/wiki/GitPlugin)

# easy_install-2.7 https://github.com/hvr/trac-git-plugin/tarball/master

TracTags

用于标记各种页面/工单/等的有用插件。您可以使用“标签”来查找和排序您的信息 (https://trac-hacks.org/wiki/TagsPlugin)

# easy_install-2.7 https://trac-hacks.org/svn/tagsplugin/tags/0.6

在您安装插件、重启 tracd 并激活插件组件后,您需要通过发出以下命令来升级您的项目

# trac-admin /var/lib/trac/myproject upgrade

其他

很多 各种插件。
查看 https://trac-hacks.org/wiki#Hacks 以找到适合您需求的东西。

版本控制

Trac 可以使用 subversion 或 git 进行版本控制。

Subversion 仓库

待办事项: “Subversion 仓库”部分尚不完整。它需要一些额外的测试和文档。


我们需要安装 subversion

# apk add subversion

创建一个 svn 仓库

# mkdir /var/lib/subversion # svnadmin create /var/lib/subversion/<i>myproject</i>

接下来,我们需要告诉 trac 查看/显示此仓库。