1

Windows Server 2008、Apache httpd 2.2、およびtrac 0.11を備えたシステムがあります。mod_wsgiを使用しているため、Apache サーバーが Web サーバーの仕事をしています。

このサイトを読んだ後、Trac との統合が最も適切な解決策であることがわかりました (httpd.conf に次の行がありますInclude conf/extra/httpd-trac.conf) 。

httpd-trac.conf

LoadModule wsgi_module modules/mod_wsgi.so

WSGIDaemonProcess tracs processes=3 threads=25 maximum-requests=1000

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/trac/([^/]+)
RewriteCond c:\Project\Services\Trac\%1\conf\trac.ini !-f
RewriteRule . - [F]

RewriteCond %{REQUEST_URI} ^/trac/([^/]+)
RewriteRule . - [E=trac.env_path:c:\Project\Services\Trac\%1]

WSGIScriptAliasMatch ^/trac/([^/]+) c:\Project\Trac\trac.wsgi

<Directory c:\Project\Trac>
    WSGIProcessGroup tracs
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

私が遭遇する問題は次のとおりです。

C:\Project\Apache\bin>httpd.exe -k start
C:/Project/Apache/conf/extra/httpd-trac.conf の 3 行目の構文エラー: 無効なコマンド 'WSGIDaemonProcess' です。サーバー構成に含まれていないモジュール

目的:

私の目的は、異なる認証情報を持つ複数の trac プロジェクトを持つことです。これ以外の解決策がある場合は、教えてください =)

ご協力ありがとうございました。

4

1 に答える 1

3

Windowsはmod_wsgiのデーモンモードをサポートしていません。WSGIDaemonProcess/WSGIProcessGroupディレクティブを削除してみてください。これにより、すべてのTracインスタンスが同じプロセスで実行されます。ほとんどの場合、それは問題ないはずです。

于 2010-05-10T22:28:50.437 に答える