安装Trac而不在Apache中设置VirtualHost?

我试图设置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:

  • 在你的trac安装中创build一个apache目录(mkdir / trac / apache)
  • 在/ trac / apache中为trac创build一个wsgi文件(下面列出)
  • 在trac安装中创build一个egg目录(mkdir / trac / eggs)
  • 添加以下到您的apache conf(使用包含文件的可读性)
  • 将trac的所有权更改为Web服务器(chown -R apache / 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。 应该添加一些修正

  1. 使用apt-get或yum来安装libapache2-mod-wsgi包
  2. Trac安装实质上是指你的trac-admin initenv所在的项目位置
  3. Apache conf(在Ubuntu中)存在于/etc/apache2/conf.d/文件夹中。 你需要创build一个文件,可以说trac,添加路由信息。 第一个语句定义了URL。 在这里给出的例子/ trac映射到/trac/apache/trac.wsgi这里/ trac将是你的web服务器的根。