0

Diazo テーマを適用するように Apache をセットアップしようとしていますが、ある時点で処理チェーンが停止し、空のファイルが生成され、エラーが発生するようです (エラーFilterChain THEMEは構成に行が表示されている場合にのみ表示されるため、テーマの適用に関連していると確信しています)。

これまでのところ、次の手順を適用しました。

最初に、自分の rules.xml を diazocompile でコンパイルして、ファイルを作成しました/home/elmolino/buildout/src/djangolino-theme/theme.xsl

次に、Apache 構成ファイルを次のように更新しました。

WSGIPythonHome /home/elmolino/buildout/env
LoadModule transform_module /usr/lib/apache2/modules/mod_transform.so
LoadModule filter_module /usr/lib/apache2/modules/mod_filter.so

<VirtualHost  *:80>
ServerName elmolino.usecm.com
ServerAdmin xxx@xxx.com

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !/wsgi/
RewriteCond %{REQUEST_FILENAME} !/site_media/
RewriteCond %{REQUEST_FILENAME} !/static/
RewriteRule ^(.*)$ /wsgi/django.wsgi/$1 [QSA,PT,L]

LogLevel info
ErrorLog  /home/elmolino/buildout/var/error_log
CustomLog /home/elmolino/buildout/var/access_log common

FilterDeclare THEME
FilterProvider THEME XSLT resp=Content-Type $text/html

TransformOptions +ApacheFS +HTML +HideParseErrors
TransformSet /home/elmolino/buildout/src/djangolino-theme/theme.xsl
# TransformCache /home/elmolino/buildout/src/djangolino-theme/theme.xsl /etc/apache2/theme.xsl

# Paths to el molino site
Alias /wsgi/ /home/elmolino/buildout/src/elmolino/apache/
<Directory /home/elmolino/buildout/src/elmolino/apache>
    Options ExecCGI
    SetHandler wsgi-script
    FilterChain THEME

    Order allow,deny
    Allow from all

    AuthType Basic
    AuthName "ElMolino FrontEnd"
    AuthUserFile /etc/apache2/authorization-users
    Require valid-user
</Directory>

# serve media files
Alias /site_media "/home/elmolino/buildout/var/media"

# serve static files
Alias /static "/home/elmolino/buildout/var/static"
</VirtualHost>

その後、自分のサイトのホームページにアクセスしようとすると、ブラウザに「データが受信されていません」というエラーが表示されます

Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.

エラー ログには、次のメッセージが表示されます。

info [client 213.97.51.211] mod_wsgi (pid=32415, process='', application='elmolino.usecm.com|/wsgi/django.wsgi'): Loading WSGI script '/home/elmolino/buildout/src/elmolino/apache/django.wsgi'.
error [client 213.97.51.211] mod_transform::libxml2_error: /home/elmolino/buildout/src/djangolino-theme/theme.xsl:1: 
error [client 213.97.51.211] mod_transform::libxml2_error: parser 
error [client 213.97.51.211] mod_transform::libxml2_error: error : 
error [client 213.97.51.211] mod_transform::libxml2_error: Document is empty\n
error [client 213.97.51.211] mod_transform::libxml2_error: \n
error [client 213.97.51.211] mod_transform::libxml2_error: ^\n
error [client 213.97.51.211] mod_transform::libxml2_error: /home/elmolino/buildout/src/djangolino-theme/theme.xsl:1: 
error [client 213.97.51.211] mod_transform::libxml2_error: parser 
error [client 213.97.51.211] mod_transform::libxml2_error: error : 
error [client 213.97.51.211] mod_transform::libxml2_error: Start tag expected, '<' not found\n
error [client 213.97.51.211] mod_transform::libxml2_error: \n
error [client 213.97.51.211] mod_transform::libxml2_error: ^\n
error [client 213.97.51.211] mod_transform: XSLT: Loading of the XSLT File has failed

助けていただければ幸いです。マールテン

4

1 に答える 1

0

TransformCache オプションを使用すると、うまくいくようです。変更したことを書き留めておきます (この解決策は現在の理解に基づいているため、まだ正しくない可能性があります)。TransformCache を使用する場合、最初の引数はキャッシュされたファイルの名前 (この名前のファイルは作成されないため、実際にファイルとして使用されるかどうかは疑問です)、2 番目の引数は入力ファイルの名前です。キャッシュ ファイルの名前を TransformSet に渡す必要があります。

TransformOptions +ApacheFS +HTML +HideParseErrors
TransformSet /etc/apache2/elmolino.xsl
TransformCache /etc/apache2/elmolino.xsl /home/elmolino/buildout/src/djangolino-theme/theme.xsl
于 2012-02-01T18:13:24.337 に答える