logo

2011年3月アーカイブ

MTをインストールしようとファイルを設置して管理画面にアクセスしたら
Got an error: Can't locate object method "install_properties" via package "MT::Tag" (perhaps you forgot to load "MT::Tag"?)
とエラーが出たのでパーミッションか?と思ったらperlのバージョンでした。

mt-check.cgiで確認したところ何やらバージョンがダメっぽいこと言われたので
perl5.8.0を5.8.8にしたら大丈夫でした。

必要インストール環境と、ブラウザ動作環境 を見たら
Perl 5.8.1 以上と書かれてました。よかった。
#perl -MCPAN -e shell
>install ~

でモジュールをインストールしようとしたけど、何やら下記のエラーが

LWP failed with code[500] message[LWP::Protocol::MyFTP: connect:timeout]

>o conf urllist
で表示されるURLからダウンロードできないらしいので下記でURL追加

>o conf urllist unshift ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/

んで追加されたか確認
>o conf urllist

もっかいインストール
>install ~

できたー!
管理画面にいつものようにBasic認証をかけていたら検索にも認証がかかっていた!
どうやらコメントやトラックバックもだ。。

検索用のCGIがmt.cgiと同ディレクトリにあるためだ。
mt.cgiを介した時だけbasic認証をかけたい。

では.htaccessの設定はどのようにしたらよいか?
下記の通りです。

<Files mt.cgi>
AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
order deny,allow
</Files>

こんな風に書いてやることでmt.cgiを介する管理画面には認証がかかります。
これで検索したときにアクセスするmt-search.cgi等は大丈夫!

参考:
http://hyper-text.org/archives/2008/07/mt_basic_authentication.shtml
MTテンプレート内で変数にMTタグ情報を格納するときの方法が2種類ありました。
今まではSetVarBlockとか一生懸命使ってたけどモディファイアが存在してたのね。。


こう書いていたものが、
<MTSetVarBlock name="last5">
<MTEntries lastn="5">
    <MTEntryTitle>
</MTEntries>
</MTSetVarBlock>

↓↓↓

servarモディファイアを使ってこう書ける
<MTEntries lastn="5" setvar="last5">
    <MTEntryTitle>
</MTEntries>

ソースが汚くならずに済みますね!

参考:
http://www.movabletype.jp/documentation/appendices/modifiers/setvar.html


MTの動きが重たいので、高速化してみる。手始めにFastCGIを導入して動かしてみる。

まずはCPANでモジュールをインストール

#perl -MCPAN -e shell
> install FCGI
> install CGI


httpd-develのインストールをyumコマンドで行います

# yum install httpd-devel



FastCGIライブラリ(fcgi)のインストール

以下のページからダウンロードを行います。
http://www.fastcgi.com/

ダウンロード
# wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz

tarballの伸張
# tar zxvf fcgi-2.4.0.tar.gz -C /usr/local/src
# cd /usr/local/src/fcgi-2.4.0

configureの実行
# ./configure

make, make installの実行
# make
# make install


mod_fcgidのインストール

以下のページからダウンロードを行います。
http://httpd.apache.org/mod_fcgid/

ダウンロード
# wget http://ftp.riken.jp/net/apache/httpd/mod_fcgid/mod_fcgid-2.3.5.tar.gz

tarballの伸張
# tar zxvf mod_fcgid-2.3.5.tar.gz -C /usr/local/src/
# cd /usr/local/src/mod_fcgid-2.3.5/

DSOとしてインストールするためにconfigure.apxsを実行します。
# ./configure.apxs

make, make installの実行
# make
# make install


FastCGIの設定

設定ファイルを新しく作成します。
# vi /etc/httpd/conf.d/fcgid.conf

設定ファイル(通常)
<IfModule mod_fcgid.c>
    AddHandler fcgid-script .fcgi
    SocketPath /tmp/fcgid_sock/
    IPCConnectTimeout 20
    MaxProcessCount 8
    DefaultMaxClassProcessCount 2
    TerminationScore 10
    SpawnScore 80
    IdleTimeout 300
</IfModule>

設定ファイル(make installで正しく設定出来なかった場合)
通常はmake install時に自動的に/etc/httpd/conf/httpd.confにmod_fcgid.soの情報が追記されますが、追記されない場合は下記のように明示的にLoadModule行を指定してください。

LoadModule fcgid_module /usr/lib/httpd/modules/mod_fcgid.so

<IfModule mod_fcgid.c>
    AddHandler fcgid-script .fcgi
    SocketPath /tmp/fcgid_sock/
    IPCConnectTimeout 20
    MaxProcessCount 8
    DefaultMaxClassProcessCount 2
    TerminationScore 10
    SpawnScore 80
    IdleTimeout 300
</IfModule>


MTの設定方法

設定をMTディレクトリ内だけで行う方法

「MTの設定方法(その1)」と違い、Apacheの設定変更を必要しないという利点があります。

FastCGIでMTを動かすため、拡張子を"cgi"から"fcgi"に変更します。
# cd /var/www/cgi-bin/mt/
# cp -a mt.cgi mt.fcgi
# cp -a mt-comments.cgi mt-comments.fcgi
# cp -a mt-tb.cgi mt-tb.fcgi
# cp -a mt-search.cgi mt-search.fcgi
# cp -a mt-ftsearch.cgi mt-ftsearch.fcgi
# cp -a mt-cp.cgi mt-cp.fcgi (Community Solution を利用する場合)

FastCGIで起動するようにMTの設定ファイル「mt-config.cgi」を修正する必要があります。
# vi /var/www/cgi-bin/mt/mt-config.cgi

mt-config.cgiの最後に追加してください。
AdminScript mt.fcgi
CommentScript mt-comments.fcgi
TrackbackScript mt-tb.fcgi
SearchScript mt-search.fcgi (もしくは mt-ftsearch.fcgi)
ViewScript mt-view.fcgi
CommunityScript mt-cp.fcgi (Community Solution を利用する場合)
httpdサービスの再起動

設定の変更とモジュールの読み込みを行うためhttpdをリスタートします。
# service httpd restart

以上

JavaScript Journal | JavaScript総合情報サイト

このアーカイブについて

このページには、2011年3月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2011年2月です。

次のアーカイブは2011年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。