python - 启动具有多个独立项目的 TRAC 服务器

标签 python authentication trac tracd

我正在运行 TRAC 服务器(tracd 服务),并配置了 3 个独立项目。每个项目都有自己的密码文件,以保持用户管理的独立性。 TRAC 作为 Windows 服务启动,如 https://trac.edgewall.org/wiki/0.11/TracStandalone 中所述。 如果 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\tracd\Parameters 中的键“AppParameters”的字符串长度太长,则启动 TRAC 服务器似乎不起作用。最大 key 长度似乎约为 260 个字符。

可以使用以下“AppParameters”键成功启动 TRAC 服务器:

C:\Python27\Scripts\tracd-script.py -p 80 --auth=',C:\Trac\Moisture\conf\.htpasswd,mt.com' --auth=',C:\Trac\Balances\conf\.htpasswd,mt.com' --auth=',C:\Trac\Weights\conf\.htpasswd,mt.com' C:\Trac\Moisture C:\Trac\Balances C:\Trac\Weights

TRAC 服务器不使用以下“AppParameters”键启动:

C:\Python27\Scripts\tracd-script.py -p 80 --auth='Moisture,C:\Trac\Moisture\conf\.htpasswd,mt.com' --auth='Balances,C:\Trac\Balances\conf\.htpasswd,mt.com' --auth='Weights,C:\Trac\Weights\conf\.htpasswd,mt.com' C:\Trac\Moisture C:\Trac\Balances C:\Trac\Weights

如果我添加第四个项目,则无法再启动 TRAC 服务器,因为字符串太长。这个问题已知吗?有解决办法吗?

最佳答案

您还可以使用 -e option 来缩短命令用于指定 Trac 环境父目录,而不是显式列出每个环境路径。

更广泛的解决方案:

您可以使用 nssm 运行该服务.

  1. 安装 nssm 并将其放在您的路径中。我使用 chocolatey 安装包管理器:choco install -y nssm
  2. 创建批处理文件,run_tracd.bat:

    C:\Python27-x86\Scripts\tracd.exe -p 8080 env1

  3. 运行nssm install tr​​acd:

    enter image description here

  4. 运行nssm start tracd

你不必完全像这样做。您可以避免使用 bat 文件并在 nssm GUI 中输入参数。我不是 Windows 专家,但我喜欢 bat 文件,因为它更容易编辑。但是,可能存在我不知道的安全问题,或者将参数放在 nssm GUI 中可能会更可靠(您不必担心意外删除 bat 文件)。以下也适用于我:

enter image description here

关于python - 启动具有多个独立项目的 TRAC 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49412064/

相关文章:

python - 用时间戳分割字符串

c# - 登录成功后授权页面重定向回登录

linux - 从一个系统无密码登录多台 linux 机器的 Shell 脚本

php - Symfony2 已登录但未在探查器中进行身份验证

windows - Windows 上的脚本 Trac 安装

python - 用于 python 日志级别和调试级别的 Google api 客户端不起作用

python - 通过 Lua 从 Redis 获取与键模式匹配的所有值

python - 通过使用django orm操作MySQL数据库,有一些闲置的mysqld。如何关闭它们?

apache - 为什么选择 mod_dav_svn 而不是 svnserve 和存储库浏览器?

git receive-pack 以 0000 停止