2009年06月29日

mod_speedy導入手順FC6

Fedora Core 6 へのmod_speedyインストール手順 覚書

# yum install httpd-devel
# PATH=$PATH:/usr/sbin
# export PATH
# cpan
(初めてCPAN起動時はCPANの設定色々聞かれるが、地域の設定以外はEnter)
cpan> install CGI::SpeedyCGI
Compile mod_speedycgi (default no)? yes

エラーがでて終了するので、
cpan> quit
# cd /root/.cpan/build/CGI-SpeedyCGI-*/mod_speedycgi2
# emacs mod_speedycgi2.c

下記のー行を+行に書き換え

--- mod_speedycgi2/mod_speedycgi2.c.orig 2006-12-05 16:50:31.162344855 +0900
+++ mod_speedycgi2/mod_speedycgi2.c 2006-12-05 17:15:17.897326783 +0900
@@ -340,14 +340,14 @@
const char *buf;
apr_size_t len;
apr_status_t rv;
- APR_BRIGADE_FOREACH(e, bb) {
- if (APR_BUCKET_IS_EOS(e)) {
- break;
- }
+ /* broke down deprecated APR_BRIGADE_FOREACH() macro */
+ e = APR_BRIGADE_FIRST(bb);
+ while (e != APR_BRIGADE_SENTINEL(bb) && ! APR_BUCKET_IS_EOS(e)) {
rv = apr_bucket_read(e, &buf, &len, APR_BLOCK_READ);
if (rv != APR_SUCCESS) {
break;
}
+ e = APR_BUCKET_NEXT(e);
}
}

@@ -380,7 +380,7 @@
return DECLINED;
}

- argv0 = apr_filename_of_pathname(r->filename);
+ argv0 = apr_filepath_name_get(r->filename);
nph = !(strncmp(argv0, "nph-", 4));

if (!(ap_allow_options(r) & OPT_EXECCGI) && !is_scriptaliased(r))
@@ -436,7 +436,7 @@
if ((rv = default_build_command(&command, &argv, r, p)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, rv, r,
"don't know how to spawn child process: %s",
- apr_filename_of_pathname(r->filename));
+ apr_filepath_name_get(r->filename));
return HTTP_INTERNAL_SERVER_ERROR;
}

@@ -445,7 +445,7 @@
command, argv, r, p)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, rv, r,
"couldn't spawn child process: %s",
- apr_filename_of_pathname(r->filename));
+ apr_filepath_name_get(r->filename));
return HTTP_INTERNAL_SERVER_ERROR;
}

@@ -465,7 +465,10 @@
return rv;
}

- APR_BRIGADE_FOREACH(bucket, bb) {
+ /* broke down deprecated APR_BRIGADE_FOREACH() macro */
+ for (bucket = APR_BRIGADE_FIRST(bb);
+ bucket != APR_BRIGADE_SENTINEL(bb);
+ bucket = APR_BUCKET_NEXT(bucket)) {
const char *data;
apr_size_t len;


書き換え終了したら、
# make
# make install

これで、mod_speedycgi.soが作成される

speedycgi 本体のインストール
# cpan
cpan >install CGI::SpeedyCGI
modの作成はnoで

httpd.confの編集
# emacs /etc/httpd/conf/httpd.conf

AddHandler speedycgi-script .scgi
を適当なディレクティブに追記

apache再起動
/etc/init.d/httpd restart

scgiスクリプトの一行目を
#!/usr/bin/speedy --
に変更して試してみる

投稿者 syu1_s : 2009年06月29日 21:26 | トラックバック
コメント
コメントする









名前、アドレスを登録しますか?