計画は繊細に行動は大胆に!

Categories

Translate

Page view

ラベル MovableType の投稿を表示しています。 すべての投稿を表示
ラベル MovableType の投稿を表示しています。 すべての投稿を表示

2007/06/09

Movable Type 4.0 インストール


見る人が見ればすぐにばれてしまいますが、私のHPはMovableTypeを利用しています。今は3.35だったかな。とりあえず、新しいものが出たタイミングで更新させて頂いています。

そんな中、MovableType 4.0が登場したようです。第3四半期にはGPLライセンスになるとの話もあり、他BLOGツールとの競合を意識しているような感もあります。
#もともとPERLだからソースは色々な人に見られていて、変更とかされているとは思うのですが。

で、現状は4.0はΒフェーズでサポートなどなし状態なので移行はもう少し先かなと思っています。というと、実も蓋もないので、新規にインストールしてみて、新しいMTに触れて見る事にしました。

とりあえず、ソースコードをダウンロード
ややこしい登録などが必要ないので、気軽に出来る。

CGIが動作する場所にソースコードを置いて、mt.cgiにアクセス。まずはmt-staticのURL設定。
MT3系を触っていた人は理解しやすいと思いますが、MTを構成する静的な画像パーツやスタイルシートなどを格納する場所。

 

次に環境設定が正しいかのチェックスクリプトが走ります。
私の環境では問題なく動作しました。下のDisplay list of optional modules
を選択すると基本モジュール以外の状況が見れます。

 

お次はDB.私はMYSQLを利用しているので、MYSQLを選択。
DBサーバはGGIが動作しているサーバと同居しているならloalhostで問題ない。
DatabaseNameは新規で私は作成したため3系のものとは別指定。
そのDBにMySQLの管理ツールでユーザ作成、Grantで権限委譲。
Test ConnectionでDBとの接続確認が行えるので、確認しておきます。

 

DBの設定が問題なければ次のような画面がでました。

 

 

 

お次はメールサーバの設定。
環境に合わせて選べばいいのですが、SMTPでメールが飛ばせるならSMTPサーバを指定。
これもテストメール飛ばせたはずです。

 

 ここまでで一通りの設定完了。

 

 

お次に新規アカウントを作ります。
このアカウントはとりあえず管理権限を持ちます。

 

 

ユーザ作ると、DBが作成され始めます。

 

というわけでインストール完了。
設定ファイルを直接編集することなく導入完了しました。

とはいえ、以前のものと大幅に変わったという印象はありません。
必要な項目は入れないと仕方がないので、この辺りが限界なのかもしれませんが。

作成したサイトは暫くの間

http://hibiki.dnip.net/mt4/index.html

とりあえず、移行の時に楽そうなので環境は残しておくということで。



2007/05/23

Movable Typeでコメント投稿が遅い現象


コメント投稿が遅くなったのを改善できるかもです。
私も感じてました一人だったりしますが。

参照:コメントの投稿が急に遅くなりました

Q. コメントを投稿すると、以前に比べて非常に長い時間がかかります。10 秒以上待たされたり、タイムアウトが発生する場合もあります。

A. 標準プラグイン「SpamLookup」がデフォルトで参照しているサーバーのひとつ、「opm.blitzed.org」が停止したため、コメントの投稿の際、非常に長い時間がかかったり、タイムアウトとなる現象が発生しています。

以下、英文のページとなりますが、「opm.blitzed.org」の停止についてのアナウンスが公開されています。ご参照ください。

詳細の対処方法は参照元リンクにゆずります。
結局、ブラックリストをひとつ削るのですが、代わりにSPAMLOOKUPの以下を追加してもいいようです。

opm.blitzed.org(削除対象)
zen.spamhaus.org(追加対象)
このあたりは好みでどうぞ。


2007/02/26

MovableTypeのSPAM対策


無駄にmt-tb.cgiなんかにアクセスしてくるホストが結構ある。
1週間あまりで100件を超えるホストは以下の通り、

$ip_as{'61.238.244.86'} = 100
$ip_as{'200.21.85.205'} = 103
$ip_as{'66.132.158.88'} = 103
$ip_as{'203.247.145.10'} = 104
$ip_as{'213.30.141.186'} = 110
$ip_as{'202.83.206.37'} = 115
$ip_as{'62.150.130.26'} = 116
$ip_as{'209.212.20.250'} = 119
$ip_as{'67.15.199.16'} = 122
$ip_as{'87.117.234.160'} = 124
$ip_as{'85.114.241.23'} = 128
$ip_as{'203.158.221.227'} = 130
$ip_as{'194.176.125.7'} = 131
$ip_as{'80.50.82.90'} = 132
$ip_as{'131.114.190.90'} = 132
$ip_as{'66.204.165.81'} = 134
$ip_as{'203.247.156.16'} = 136
$ip_as{'24.253.53.37'} = 141
$ip_as{'210.17.149.157'} = 143
$ip_as{'88.214.193.26'} = 144
$ip_as{'200.31.42.3'} = 147
$ip_as{'61.246.216.86'} = 147
$ip_as{'200.29.137.217'} = 151
$ip_as{'195.77.186.113'} = 158
$ip_as{'62.101.75.14'} = 162
$ip_as{'217.174.21.19'} = 167
$ip_as{'206.82.130.210'} = 171
$ip_as{'193.69.180.120'} = 176
$ip_as{'211.76.175.227'} = 177
$ip_as{'212.227.80.22'} = 182
$ip_as{'210.87.251.107'} = 183
$ip_as{'64.71.177.84'} = 184
$ip_as{'210.87.251.41'} = 201
$ip_as{'129.41.250.20'} = 204
$ip_as{'61.120.200.163'} = 207
$ip_as{'203.201.252.148'} = 208
$ip_as{'72.32.59.213'} = 230
$ip_as{'203.144.144.164'} = 239
$ip_as{'12.45.169.249'} = 240
$ip_as{'211.233.70.163'} = 240
$ip_as{'203.144.144.163'} = 247
$ip_as{'66.192.59.18'} = 288
$ip_as{'200.88.223.98'} = 345
$ip_as{'66.165.172.163'} = 356
$ip_as{'80.237.140.233'} = 398
$ip_as{'200.88.46.58'} = 465
$ip_as{'220.226.63.254'} = 585
$ip_as{'121.1.6.130'} = 683

一番多いホストで683アクセス orz。
これだけCGIを無駄に回されていると思うと、なんかむなしい。
とりあえず、アクセスログからmt-tbに100件以上アクセスすると.htaccessではじくように自動化してみる。
ただし、自宅サーバなどでCRONを回せる人限定かもしれないけども。

#!/usr/bin/perl

#apacheのアクセスログ指定
$access_log="/var/log/httpd/access_log"

#.htaccessを設置したい場所
$htaccess= "/var/www/mt/.htaccess"

#mt-tbにアクセスしてくる閾値
$limit=100;

open(FILE,$access_log) or die "$!"

my @all_log = ();

while(<FILE>){
@log = split(/\s/, $_);
if(/.+mt-tb.+ | .+mt-comment.+/){
#push ( @all_log , $log[0] );
$ip_as{$log[0]} = 0 unless defined $ip_as{$log[0]};
$ip_as{$log[0]}++;
}
}
close (FILE);

open(HTACCESS, "> $htaccess") or die "$!"

print HTACCESS "order allow,deny\n"
print HTACCESS "allow from all\n"

foreach $key ( sort {$ip_as{$a} <=> $ip_as{$b}} keys %ip_as) {
if( $ip_as{$key} > $limit ){
print HTACCESS "deny from $key\n"
}
}

これ動かすと自動的に以下のようなファイルを生成。

order allow,deny
allow from all
deny from 200.21.85.205
deny from 66.132.158.88
deny from 203.247.145.10
deny from 213.30.141.186
deny from 202.83.206.37
deny from 62.150.130.26
deny from 209.212.20.250
deny from 67.15.199.16
deny from 87.117.234.160
deny from 85.114.241.23
deny from 203.158.221.227
deny from 194.176.125.7
deny from 80.50.82.90
deny from 131.114.190.90
deny from 66.204.165.81
deny from 203.247.156.16
deny from 24.253.53.37
deny from 210.17.149.157
deny from 88.214.193.26
deny from 200.31.42.3
deny from 61.246.216.86
deny from 200.29.137.217
deny from 195.77.186.113
deny from 62.101.75.14
deny from 217.174.21.19
deny from 206.82.130.210
deny from 193.69.180.120
deny from 211.76.175.227
deny from 212.227.80.22
deny from 210.87.251.107
deny from 64.71.177.84
deny from 210.87.251.41
deny from 129.41.250.20
deny from 61.120.200.163
deny from 203.201.252.148
deny from 72.32.59.213
deny from 203.144.144.164
deny from 12.45.169.249
deny from 211.233.70.163
deny from 203.144.144.163
deny from 66.192.59.18
deny from 200.88.223.98
deny from 66.165.172.163
deny from 80.237.140.233
deny from 200.88.46.58
deny from 220.226.63.254
deny from 121.1.6.130

これで、記載されているIPアドレスからのアクセスを規制できる :D。
ただし、本当にTB100件打ってるのであれば問題だけども :P

あと、CRONに登録すると、以前のリストを上書きされます。
おさまったら、ブラックリスト解除ということで別にいいかと思いますが、累積にする方法もあるかと思います。

で、動かない人はhttpd.confを

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

とかして、試してみると上手くいくのかもしれない。
少し効能を見てみる。



2007/01/19

StyleCatcherのエラー


StyleCatcherが動作しないという報告をよく効きます。エラー画面はFind Styleすると以下のようなポップアップ

Error loading themes! -- Status: 200
Pragma: no-cache
Content-Type: text/plain; charset=Shift_JIS

Error: Unknown Content Type:

色々と調べましたが、完全な答えはありません。以下が可能性なのですが、

  1. libwww-perlのバージョンアップ
  2. StaticWebPath設定の設定確認
  3. インターネット接続の確認、および、PROXY設定の確認

の3つ程度です。しかし、上記3つを修正しても直らない事例が多いです・・・。

1.はhttp://www.linpro.no/lwp/あたりで取得してインストールを行うとよさそうです。Perlのライブラリパスに直接インストールしてもいいでしょうし、MTのextlib以下にインストールしてもいいと思います。

 

2.はMTファイルの置き場所がcgi-bin以下で、httpd.conf中にScriptAlias設定が実施されているときに必要となりそうです。しかし、これは画像がうまく出てこない程度なので、全く動作しないわけではなさそうです。

 

3.はインターネット接続が正しく出来ていないために発生する症状です。mt-config.cgi内で

HTTPProxy http://www.example.com:8080/

とかすると良いそうです。

といっても、私もあるサーバでそういった事例にあたってしまい、立ち止まってしまっています。現在、サポート問い合わせ中。結果、分かれば報告します。とりあえず、以上です。

StyleCatcherって動かない症例多すぎです・・・。

2006/09/27

MovableType 3.2から3.3へのアップグレード方法


参照: シックス・アパート、Movable Typeの脆弱性を修正した「3.33」公開

影響のあるバージョン:
現在、Movable Type 3.2以降およびMovable Type Enterpriseにおいてこの脆弱性があることを確認しております。一部の脆弱性については、それ以前のバージョンにも含まれる可能性があります。

MovableType3.32の脆弱性が発見されたので3.33にアップデートが必要という話です。< br/> 部分的なファイル置き換えでの対応も可能とのことですので、利用されている方は修正をお勧めします。

「管理画面、検索機能、コメント機能」での脆弱性という表記もあり、第3者に利用されるところですので注意が必要かもしれません。
修正方法はオリジナルのサイトを見て頂ければと思いますが、

【重要】 Movable Type 新バージョンとパッチの提供について

上記サイトより対応するパッチダウンロードを行いアップデートを行います。
#私の場合3.2系列よりアップデートしたので少し勝手が違うかもしれませ。

  1. CGIWebPathのディレクトリを全てバックアップ
  2. DBをバックアップ
    1. BerkleyDBの場合は単純コピーでOK
    2. MySQLの場合は
      mysqldump -a --user=USERNAME --password=PASSWORD DATABASE > FILENAME.mysql
    3. でバックアップ
  3. バックアップファイルを解凍し、元のフォルダと入れ替え
  4. mt-config.cgi-originalを稼働環境にあわせ設定変更
    1. DB設定、CGIWebPath、mt-staticあたりの設定を変更
  5. mt-config.cgi-originalからmt-config.cgiにリネーム
  6. ブラウザでmt.cgiファイルにアクセスし、ログイン
  7. アップグレードを選択
  8. DBの構成変更が走りアップグレード完了

おおまかな流れは以上のようなものでした。
何も起こらなければ当たり前ですが楽勝です :D


追記:プラグイン導入している方はコピー前にプラグインフォルダを個別にコピーした方が懸命です。

2006/08/23

Movable Typeの管理画面のSSL化


管理画面をSSL化した場合はMovableTypeは対応出来るのか?という疑問を持ったので調べてみた。
答えは可能。詳しくは以下を参考に設定を行う。

http://www.sixapart.jp/movabletype/manual/3.3/d_configuration_directives/

コンフィグファイルに

AdminPathCGIを設定するのが正解。これは、mt.cgi(管理画面用プログラム)を直接指定できる
項目のようです。ここにhttps://xxx.xxx/cgi-bin/mt/mt.cgiとか入力してあげれば良いわけです。

これが、切り分けられないと、管理画面がSSL化されたサイトに対してTrackBackを打つ際に、
クライアント側がSSLを話す必要が出てくるため、敷居が高くなるのでは?と妄想していました。
すでに対応済みのようで納得しました :D