我试图设置Trac来testing它的function,而我可以在网上find的唯一的指南讨论有关设置VirtualHost。 现在我的印象是,我需要访问一个DNS服务器来正确使用VirtualHost指令,由于各种原因,我不能访问一个。 是否可以设置Trac而不设置VirtualHost? 我没有运气。 如果我用tracd运行这个站点的话,它就可以工作 – 这意味着至less它的一部分是正确的。
现在我所拥有的是一个指向/ pathToTracSite / htdocs /的Apache Directory指令,而当我访问trac位置时,从浏览器查看站点时得到的所有内容都是一个空目录(这很有意义,因为htdocs /是空的)。
我的服务器正在运行Apache2
我知道我错过了很多,因为我不太了解Apache的Trac系统 – 任何帮助,将不胜感激。
如果你想让trac运行得更快,使用mod_wsgi(比mod_python快,两者都比CGI快)。 这可以从源代码或二进制包安装为apache模块(请参阅yum或apt-get)。 当安装MoinMoin时,我发现mod_python和wsgi之间的差异是显着的。 刚刚注意到,你的绊脚石是python web应用程序必须在Apache中configuration才能运行(它不能像PHP或CGI应用程序那样工作)。
TRAC
为WSGI设置trac:
Apache conf
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
要为mod_python设置Trac,您可以按照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将为testing目的而做好工作。
伟大的提示! 我在mod_python上运行Trac时遇到了问题,我使用这些指令将其更改为mod_wsgi。 应该添加一些修正