Я пытаюсь настроить Trac, чтобы проверить его функциональность, и единственные руководства, которые я могу найти в Интернете, рассказывают о настройке VirtualHost. Прямо сейчас у меня сложилось впечатление, что мне нужен доступ к DNS-серверу для правильного использования директивы VirtualHost, и по разным причинам у меня нет доступа к нему. Можно ли настроить Trac без настройки VirtualHost? Мне не повезло. Если я запускаю сайт с помощью tracd, он работает - это означает, что по крайней мере часть его настроена правильно.
Прямо сейчас все, что у меня есть, это директива каталога Apache, указывающая на / pathToTracSite / htdocs /, и когда я посещаю местоположение трассировки, все, что я получаю при просмотре сайта из браузера, - это пустой каталог (что имеет смысл, потому что htdocs / пуст ).
На моем сервере работает Apache2
Я знаю, что мне здесь многого не хватает, потому что я не очень хорошо понимаю систему Apache Trac - любая помощь будет принята с благодарностью.
Если вы хотите, чтобы trac работал быстрее, используйте mod_wsgi (который быстрее, чем mod_python, оба из которых быстрее, чем CGI). Его можно установить как модуль apache из исходного кода или из двоичного пакета (см. Yum или apt-get). При установке MoinMoin я обнаружил, что разница между mod_python и wsgi значительна. Вы только что заметили, что вашим камнем преткновения является то, что веб-приложения Python должны быть настроены в Apache, прежде чем они будут запущены (это не работает как приложение PHP или CGI).
Чтобы настроить trac для WSGI:
Конфигурация Apache
WSGIScriptAlias /trac /trac/apache/trac.wsgi
## This is required if you plan to use HTTP authorization. Without it the
## user name won't be passed
WSGIPassAuthorization On
<Directory /trac/apache >
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
AuthName "Trac at My Company"
AuthType Basic
AuthUserFile /var/secure/authfiles/trac-authfile
Require valid-user
</Directory >
trac.wsgi
import sys
sys.stdout = sys.stderr
import os
os.environ['TRAC_ENV'] = '/trac'
os.environ['PYTHON_EGG_CACHE'] = '/trac/eggs'
import trac.web.main
application = trac.web.main.dispatch_request
Чтобы настроить Trac для mod_python, вы можете следовать инструкциям на TracModPython, скопировано сюда для вашего удовольствия от чтения:
<Location /projects/myproject>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/trac/myproject
PythonOption TracUriRoot /projects/myproject
</Location>
Trac также отлично работает в / Location
Вам не нужно вносить изменения в DNS, чтобы использовать виртуальный хост, /etc/hosts
запись на вашем клиентском компьютере также будет работать нормально. Вам также не нужно запускать Apache; tracd отлично справится с этой задачей для целей тестирования.
Отличный совет !! У меня были проблемы с запуском Trac на mod_python, и я использовал эти инструкции, чтобы изменить его на mod_wsgi. Но все же внесу некоторые исправления