2

Trac 1.0我刚刚安装了using的副本easy_install-2.6,但在解读安装文档的“Deploy Trac”部分时遇到了麻烦。

发出后easy_install-2.6 Trac=1.0,我就这样创建了我的环境:

trac-admin /www/virtualhosts/trac initenv

接下来,我设置权限:

chown -R apache.apache /www/virtualhosts/trac/

我的/etc/httpd/conf.d/trac.conf文件如下所示:

<Location /trac>
   SetHandler mod_python
   PythonHandler trac.web.modpython_frontend
   # "/www/virtualhosts/svn/trac" is the folder you gave to trac-admin initenv earlier
   PythonOption TracEnv /www/virtualhosts/trac
   # "/trac" is the same as the Location above
   PythonOption TracUriRoot /trac
   # "/tmp" should be some writable temporary directory
   SetEnv PYTHON_EGG_CACHE /tmp 
   # "trac" can be any string, but must be the same for all
   # Trac instances on the same Apache install
   PythonInterpreter trac
</Location>
<Location /trac/login>
   AuthType Basic
   AuthName "Trac User"
   AuthUserFile /www/virtualhosts/trac/conf/trac.htpasswd
   Require valid-user
</Location>

我重新加载了 httpd 配置:

service httpd reload

没有看到任何错误,我通过将浏览器指向http://my.site/trac/. Trac 应用程序加载正常。

在文档中,有一个关于Deploying Trac的部分。这是我有点模糊的地方。我的 trac 安装是否尚未部署?或者这是一个额外的步骤?

其次,在Mapping Static Resources下,文档解释了如何给两个目录取别名:chrome 和 site。在Apache ScriptAlias示例的开头,文档提供了以下命令:

trac-admin /var/trac/env deploy /path/to/trac/htdocs/common

我的系统上没有 /var/trac/env。我找不到这个目录是在哪里创建的,除非它应该是在 Trac 1.0 的初始安装期间设置的。

有人可以解释创建 chrome/site 目录需要做什么吗?我知道这些是 Apache 的别名,但我没有得到上面引用的命令,其中 trac-admin 在 /var/trac/env 中使用了一些东西。该目录不存在,因此我无法发出该部署命令。

我需要 chrome/site 别名才能安装插件。

4

2 回答 2

4

一方面,不要使用 mod_python。它不再被维护,并且存在一些已知问题。 设置您的服务器以使用 WSGI将为您提供更好的体验。

特别是关于deploy命令,Trac 文档确实可以更清楚一点。我相信这两个目录路径都只是占位符,到目前为止与文档中使用的路径没有任何关系。它们只是为了匹配后面的配置文件示例中使用的路径。

根据您提供的信息和我设置 Trac 系统时的笔记,请尝试以下命令:

trac-admin /www/virtualhosts/trac deploy /www/virtualhosts/trac/deploy

这应该deploy在您的 Trac 目录中创建一个子目录,并使用“cgi-bin”和“htdocs”子文件夹填充它。从那里,只需根据您正在执行的部署类型修改您的 Apache 配置文件(有关FastCGIWSGI页面的更多详细信息)。

于 2012-10-05T23:17:26.373 回答
2

/var/trac/env的意思是/path/to/trac-env,在您的情况下转换为/www/virtualhosts/svn/trac- 您的“Trac 环境”在光盘上的真实位置。

deploy指令实际上创建了新目录并将静态内容提取到其中,如您所知,Trac 以及 Trac 插件资源。每当您更新trac/htdocs内容时,您都可以重复调用它。您甚至可以将这样的一种trac/htdocs/common用于由同一 Trac 版本提供的多个 Trac 环境。只需确保检查目录权限以确保来自 Web 服务器进程的读取访问权限。

chrome/site根本不是真正的目录,只是对目录的引用<trac-env>/htdocs

仍然有一些插件需要解压才能正常工作,所以你也需要设置一个缓存目录

于 2012-10-05T23:16:58.700 回答