Запуск сервера TRAC с несколькими независимыми проектами

Я использую сервер TRAC (сервис tracd) с настроенными 3 независимыми проектами. Каждый проект имеет свой собственный файл паролей, чтобы управление пользователями было независимым. TRAC запускается как служба Windows, как описано на https://trac.edgewall.org/wiki/0.11/TracStandalone Кажется, что запуск сервера TRAC не работает, если длина строки ключа AppParameters в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\tracd\Parameters слишком длинный. Максимальная длина ключа составляет около 260 символов.

Сервер TRAC может быть успешно запущен с помощью следующей клавиши "AppParameters":

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, потому что строка слишком длинная. Известна ли эта проблема? Есть ли обходной путь?

1 ответ

Решение

Вы также можете сократить свою команду, используя опцию -e для указания родительского каталога среды Trac, вместо явного перечисления каждого пути среды.

Более обширное решение:

Вы можете запустить сервис с NSSM.

  1. Установите nssm и поместите его на свой путь. Я установил с помощью шоколадного менеджера пакетов: choco install -y nssm,
  2. Создать командный файл, run_tracd.bat:

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

  3. Бежать nssm install tracd:

  4. Бежать nssm start tracd

Вам не нужно делать это в точности так. Вы могли бы избежать bat файл и введите параметры в графический интерфейс nssm. Я не эксперт по Windows, но мне нравится иметь bat файл, потому что его легче редактировать. Тем не менее, могут возникнуть проблемы с безопасностью, о которых я не знаю, или может быть более надежно поместить параметры в графический интерфейс nssm (вам не нужно беспокоиться о случайном удалении файла bat). Следующее также работает для меня:

Другие вопросы по тегам