2003-07-23 19:11:27

RT 與 Apache 2 和 FastCGI

偉大的 PM hc 叫我要寫, 所以我就寫了.

Apache 2 + mod_perl 2 + RT 實在是太難設, 問題太多了, 所以請完全拋棄它吧. 我們有更好的選擇, 也就是 FastCGI.

在 FreeBSD 上, 請安裝以下的 port. 記得要開啟 WITH_APACHE2 的設定:

fcgi-devkit
mod_fastcgi
p5-FastCGI

然後在 Apache 2 的 httpd.conf 裡使用這樣的設定:

<VirtualHost *>
  ServerName rt.plasma.idv.tw
  DocumentRoot /opt/rt3/share/html
  AddDefaultCharset UTF-8
  AddHandler    fastcgi-script fcgi

FastCgiServer /opt/rt3/bin/mason_handler.fcgi
ScriptAlias / /opt/rt3/bin/mason_handler.fcgi/

ScriptAliasMatch (.*/)$ /opt/rt3/bin/mason_handler.fcgi$1
ScriptAliasMatch (.*\.html)$ /opt/rt3/bin/mason_handler.fcgi$1
</VirtualHost>

我這裡的設定是使用 named virtual host. 你可視需要修改.

由 plasma 於 07:11 PM 所發表 | 迴響 (1)

2003-07-17 10:40:13

RT 與 Apache2

在 Apache2 的 config 檔裡加上
PerlOptions +GlobalRequest
根本一點用都沒有!!! 你需要的是在 bin/webmux.pl 裡加上這個 patch:
--- /home/plasma/mywork/elixus/depot/RT/rt/bin/webmux.pl.in     Thu Jun 12 10:07:14 2003
+++ webmux.pl   Tue Jul  1 14:25:34 2003
@@ -33,7 +33,17 @@
     $ENV{'IFS'}    = '' if defined $ENV{'IFS'};
 }

+require Apache::RequestUtil;
+no warnings 'redefine';
+my $sub = *Apache::request{CODE};
+*Apache::request = sub {
+    my $r;
+    eval { $r = $sub->('Apache'); };
+    # warn $@ if $@;
+    return $r;
+};
+
 use RT;

 package RT::Mason;
由 plasma 於 10:40 AM 所發表 | 迴響 (1)