1

私は apache/mod_wsgi (SSL なし) を使用して trac をデプロイしました (CGI で直面している問題はパフォーマンスであるため、望ましいです)。SVN 統合なしで正常に動作します。しかし、実際には SVN が必要なので、リポジトリ パスを構成すると (つまり、repository_dir = c:/projects/svn/my_project)、プロジェクトの TRAC でそのページを開くことさえできません。

Mozilla Firefox では白いページが表示され、MS-IE ではサーバーが「タイムアウト」したかのように「ページを表示できません」というエラーが表示されます。

mod_python (3.3.1) で試してみましたが、まったく同じ問題が発生します。ただし、CGI では問題なく動作します。

また、認証の競合である可能性があると考えて、SVN認証を無効にしようとしました(Apache Basic Authを使用しています)。

環境:

  • Win 2000 Server SP 4;
  • アパッチ 2.2.10;
  • Python 2.5.2;
  • mod_wsgi リビジョン 1018 2.3、py25_apache22;
  • トラック 0.12dev;
  • サブバージョン 1.5.3。

構成ファイル:

  • Apache httpd.conf の抜粋:
WSGIScriptAlias /trac "c:/projects/apache/trac.wsgi"

<Directory c:/projects/apache>
  WSGIApplicationGroup %{GLOBAL}
  Order deny,allow
  Allow from all
</Directory>
  • trac.wsgi:
import sys
sys.stdout = sys.stderr

import os
os.environ['TRAC_ENV_PARENT_DIR'] = 'c:/projects/trac'
os.environ['PYTHON_EGG_CACHE'] = 'c:/projects/eggs'

import trac.web.main

application = trac.web.main.dispatch_request
  • trac.ini の抜粋:
repository_type = svn
repository_dir = c:/projects/svn/my_project

何か案は???

4

2 に答える 2

1

実際、Subversionリポジトリを変更した後、さらに問題が発生しました。同じ動作で、再び動作を停止しました。そこで、(キャッシュとは異なるリビジョンに関するログメッセージがあったため)「再同期」を試みましたが、何もしませんでした。

そこで、すべてをアンインストールして再インストールし(Apacheを含む)、上記の手順に従ってPLUSを実行しました。

  • プロジェクトで再同期(trac-admin c:\ projects \ myproject resync)を実行します。
  • 「c:\ Python25 \ Lib \ site ... \libsvn」から「Win32用のPython2.5バインディングインストーラ」によってインストールされたSubversionのdllを消去し、「c:\ svn-win32-1.5.5\bin」からsubversionのdllをコピーしました。それ。

それは(これまでのところ)機能しました。

変更があれば通知します。

于 2009-03-05T17:56:58.720 に答える
1

解決しました!

Apache と Python で使用される SVN の dll バージョンを、ここで利用可能なバージョンに合わせました: http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100 また、ここで説明されている SVN の指示に従いました: http:// trac.edgewall.org/wiki/TracInstall#VersionControlSystem

ステップバイステップ:

  1. Subversion を v1.5.5、Apache 2.2.x 用の Win32 バイナリに更新しました ( http://subversion.tigris.org/files/documents/15/44589/svn-win32-1.5.5.zipで入手可能)。

    1. 私の古い転覆を消去し、新しいものを拡張しました。
    2. 新しいものをシステムパスに配置して、Apache が SVN dll を認識できるようにします。
    3. 「mod_dav_svn.so」と「mod_authz_svn.so」を Apache のモジュール ディレクトリにコピーしました。
  2. Win32 上の Subversion の Python 2.5 バインディングを更新しました ( http://subversion.tigris.org/files/documents/15/44591/svn-win32-1.5.5_py.zipで入手可能)。

    1. ファイルを「\libsvn」から「c:\Python25\Lib...\libsvn」にコピーしました
    2. libsvn/*.dll ファイルの名前を .pyd に変更する手順に従いました (python 2.5 は dll を読み取らなくなったため)。
  3. Win32 用の Python 2.5 バインディング インストーラーを更新しました ( http://subversion.tigris.org/files/documents/15/44597/svn-python-1.5.5.win32-py2.5.exeで入手可能)。

    1. 「exe」をインストールしました。
  4. ウィンドウを再起動します。

念のために言っておきますが、この順序で正確に起こったわけでも、平和的に起こったわけでもありません。私は一日中、さまざまな .zips/.exes/.dlls/.sos と格闘してきました。そのため、その解決策をあきらめる前に、SVN をすべての巻き込み部分に合わせてください。

結果: うまくいき、Trac/SVN のパフォーマンスが劇的に向上しました。

于 2009-03-04T21:17:58.497 に答える