在没有在Apache中设置VirtualHost的情况下安装Trac?

Modified on: Sun, 11 Aug 2019 19:20:03 +0800

我正在尝试设置Trac来测试它的功能,我在网上找到的唯一指南就设置VirtualHost进行了讨论。现在我的印象是我需要访问DNS服务器以正确使用VirtualHost指令,并且由于各种原因我无权访问。是否可以在不设置VirtualHost的情况下设置Trac?我没有运气。如果我使用tracd运行该站点,它可以工作 - 这意味着至少部分设置正确。

现在我所拥有的是一个指向/ pathToTracSite / htdocs /的Apache Directory指令,当我访问trac位置时,从浏览器查看站点时我得到的只是一个空目录(这是有意义的,因为htdocs /是空的。)

我的服务器正在运行Apache2

我知道我在这里错过了很多,因为我不太了解Apache的Trac系统 - 任何帮助都会受到赞赏。

作者:jobu1324

最佳答案

如果你想让trac运行得更快,可以使用mod_wsgi(比mod_python更快,两者都比CGI快)。这可以从源代码或二进制包安装为apache模块(请参阅yum或apt-get)。安装MoinMoin时,我发现mod_python和wsgi之间的区别很大。刚刚注意到,你的绊脚石是必须在Apache运行之前在Apache中配置python web应用程序(它不像PHP或CGI应用程序那样工作)。

Trac

为WSGI设置trac:

  • 在trac install(mkdir / trac / apache)
  • 中创建一个apache目录
  • 在/ trac / apache(下面列出)
  • 中为trac创建一个wsgi文件
  • 在你的trac安装中创建一个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>

作者:,Walter

相关问答

添加新评论