Category Archives: IT
【WordPress/plugin】wp-tmkm-amazon(アマゾンリンク表示プラグイン)
WordPressでamazonのリンク表示ができるプラグインは、数多ありますが、私は、wp-tmkm-amazonを使っています。定番は、wp-amazonってプラグインのようですが、こちらの方が設定も簡単で、使いやすいかなと。
入手手順
最新版を、ここからダウンロードしてください。
導入手順
- 入手したzipファイルを、/wp-content/plugins配下に展開する。
- プラグイン管理画面で、プラグインを有効に。
利用手順
[tmkm-amazon]ASIN[/tmkm-amazon]
と埋め込むだけ。
アマゾンアソシエイトIDを設定すれば、アフィリエイトのリンクも生成可能です。
なにも、ブラウザ上で、Drag & Dropなんかしなくても十分使えます。
【wordpress/plugin】Keitai Style(携帯対応プラグイン)
ネットに接続する時は、もっぱら携帯電話から、という方も多いので、Keitai Style(携帯対応プラグイン)を導入してみました。
入手/導入手順
詳しくは、Keitai Style(携帯対応プラグイン)公式ページで。
php.iniの設定ですが、
mbstring.http_output = pass mbstring.encoding_translation = Off
としておく必要があります。.htaccessやhttp.conf等に記述する場合は、
<IfModule mod_php5.c> php_flag mbstring.encoding_translation Off php_value mbstring.http_output "pass" </IfModule>
こんな感じで。
利用手順というかトラブル対応
プラグインを有効にするだけで、携帯対応できるはずなのですが、「文字化けする/画像が出ない」でもだえました。
文字化けの原因は、Wordpressで利用している文字コードが、基本的にUTF-8で、携帯電話は、SJISなので文字コード変換が必要なのですが、使用しているphpがマルチバイト文字対応していなかったことです。画像がでないのも同じような原因で、使用しているphpにGDが組み込まれていないことでした。結局、libphp5.soを作り直すために、phpのコンパイルからやり直しです。
以下がコンパイル~インストールの手順です。普通は、yumなんかで入手できると思いますが。
% ./configure\ --with-mysql\ --with-apxs2=/usr/sbin/apxs\ --with-zlib\ --enable-zend-multibyte\ --enable-mbstring\ --enable-mbregex\ --with-gd=/usr\ --with-jpeg-dir=/usr/\ --with-png-dir=/usr\ --with-xpm-dir=/usr\ --with-freetype-dir=/usr/sfw\ --with-tiff-dir=/usr\ --with-xml=/usr\ --with-zlib=/usr\ --with-xpm-dir=/usr % make % make test % make install
因みにphpのコンパイルオプションは、phpinfo()で確認できます。

キャリア毎に、テンプレートの変更もできたり、芸も細かく、導入も(本来)簡単。Wordpress使っている人は、必携でしょう。
【IT】tdiaryからwordpressに移行しました
ブログアプリケーションとしてtdiary(Ver2.2.1 Wiki形式で記載)を使っていたのですが、wordpress(Ver.2.6.5)に移行してみました。理由は、日単位で記事を管理するより、記事単位で管理したかったということにつきます(tDiaryでも、手を加えれば可能なのですが)。 以下か、立ち上げた時の作業メモです。
WordPressの立ち上げ
DBを作る
以下のような感じで、wordpressが使うDBを作成します。
| DB名 | wordpress_db |
| ユーザ名 | wordpress_user |
| パスワード | 123456 |
% mysql -u root -p mysql> create database wordpress_db; mysql> grant select,insert,delete,update,create,drop,file, alter,index on *.* to wordpress_user identified by '123456';
apacheの設定
mod_rewriteとmod_php5をapacheに組み込む為、/etc/httpd/conf/httpd.confに以下を追記。
LoadModule rewrite_module /usr/lib/httpd/modules/mod_rewrite.so LoadModule php5_module /usr/lib/httpd/modules/libphp5.so
バーチャルホストで動かしたいので、以下も記述。
<VirtualHost 999.999.999.999:80>
ServerName blog.kopakas.com
DocumentRoot /var/www/html/wordpress
DirectoryIndex index.php
AddType application/x-httpd-php .php
ErrorLog /var/log/httpd/kopablog_error.log
TransferLog /var/log/httpd/kopablog_access.log
<Directory "/var/www/html/wordpress">
Options ExecCGI FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
</Directory>
</VirtualHost>
WordPressでは、URLのパスの形式を任意に設定できますが、上記のような、mod_rewriteの設定が必要のようです。
WordPressのインストール
WordPressの日本語サイトからダウンロード。
所定のディレクトリに展開して、アクセスすれば、設定画面が表示されます(はずです)。
記事の移行
記事の移行は、以下の手順で実施しました。
tDiaryからMovableType形式に
こちらのブログで公開されているtDiary→MovableType変換スクリプトに一部修正を加えました。tDiaryのタグは、Wordpress側でカテゴリとタグの両方に振り分けています。
*** 44,63 ****
__DIARY_FST__
if($category ne ""){
- @cate = split /,/,$category;
print << "__DIARY_CATEGORY__";
! PRIMARY CATEGORY:
__DIARY_CATEGORY__
- foreach $i ( @cate ){
- print "CATEGORY: $i\n";
- }
-
}else{
print "PRIMARY CATEGORY: \n";
}
print << "__DIARY_SND__";
DATE: $date
- TAGS: $category
-----
BODY:
$body
--- 44,59 ----
__DIARY_FST__
if($category ne ""){
print << "__DIARY_CATEGORY__";
! PRIMARY CATEGORY: $category
! CATEGORY: $category
__DIARY_CATEGORY__
}else{
print "PRIMARY CATEGORY: \n";
}
print << "__DIARY_SND__";
+
DATE: $date
-----
BODY:
$body
***************
*** 137,166 ****
if(/^.$/){
# λ
$title_switch=0;
! }elsif(/^!\s/){
! # !\s
! $key++;
! $diary_key = "${date}-${key}";
!
! my($tmp);
! $tmp = $_;
! if ($tmp =~ /\[\S*\](.*)$/){
! $title{$diary_key} = $1;
! while ($tmp =~ /\[(.*?)\]/g){
! $category{$diary_key} .= $1.",";
! }
! $visible{$diary_key} = $visible;
! }else{
! $category{$diary_key} = "";
! $title{$diary_key} = $tmp;
! $visible{$diary_key} = $visible;
! }
! $title_switch=0;
! $p_date_time = sprintf "%s 00:00:%02d", ${p_date}, ${key};
! $date{$diary_key}=$p_date_time;
# Title
$title_switch=1;
! }elsif(/^Format: Wiki$/){
# #5Header
$title_switch=2;
}elsif($title_switch==2){
--- 133,142 ----
if(/^.$/){
# λ
$title_switch=0;
! }elsif(/^$/){
# Title
$title_switch=1;
! }elsif(/^Format: tDiary$/){
# #5Header
$title_switch=2;
}elsif($title_switch==2){
***************
*** 184,190 ****
# MT
$p_date = sprintf "%02d/%02d/%02d", ${mon}, ${day}, ${year};
}elsif(/Title: (.*)/){
! # 5
}elsif(/Last-Modified/){
# 5
}elsif(/^Visible: (.*)/){
--- 160,166 ----
# MT
$p_date = sprintf "%02d/%02d/%02d", ${mon}, ${day}, ${year};
}elsif(/Title: (.*)/){
! # $title{$diary_key}=$1;
}elsif(/Last-Modified/){
# 5
}elsif(/^Visible: (.*)/){
***************
*** 194,200 ****
$visible=0;
}
# 5
! # }elsif($title_switch==1){
}else{
#
# <%=image 0, '', nil, [256,192]%>
--- 170,194 ----
$visible=0;
}
# 5
! }elsif($title_switch==1){
! #
! $key++;
! $diary_key = "${date}-${key}";
!
! my($tmp);
! $tmp = $_;
! if ($tmp =~ /\[([^\]]*)\](.*)/){
! $category{$diary_key} = $1;
! $title{$diary_key} = $2;
! $visible{$diary_key} = $visible;
! }else{
! $category{$diary_key} = "";
! $title{$diary_key} = $tmp;
! $visible{$diary_key} = $visible;
! }
! $title_switch=0;
! $p_date_time = sprintf "%s 00:00:%02d PM", ${p_date}, ${key};
! $date{$diary_key}=$p_date_time;
}else{
#
# <%=image 0, '', nil, [256,192]%>
***************
*** 417,420 ****
&print_end();
}
}
-
--- 411,413 ----
Imageデータの移行
tDiaryでは、/images配下にYYYYMMDD_[No].jpgと言う形式で、画像ファイルを蓄積しています。 wordpressでは、/wp-content/uploads/YYYY/DD配下に任意のファイル名で画像ファイルを格納するようです。ディレクトリを掘りながらコピーするツールを作っても良かったのですが、面倒だったので、wordpressのフォルダの直下に、imagesというフォルダを作成して、そこに過去の画像データは放り込んでおくことにしました。
データの整形
tDiaryでは、Wiki形式で編集していたので、記事本文部をそのままWordpressに食わしても、意図どおりに表示されません。簡単なフィルタを用意して、データを整形しました。 記事本文の画像へのリンクも、このフィルタで反映です。やっつけで作ったフィルタですので、晒しません。
はい、やっと移行完了です。



