Feb 262006
 

WordPressのテーマをSimplaに変えてみました。
style.cssにpreのattributeを追加して使ってます。

pre{
        padding: 0.5em 0.5em;
        border: 1px dotted #ddd;
        width: 100%;
        overflow: auto;
}

ついでにDrupalも、Drupalのサイトで紹介されていたBlue Bar Themeに変更してみました。

Feb 212006
 

drupalで検索ができない状態になっていました。searchモジュールも管理メニューからアクセス許可を設定しないといけなかったのですね。
ログに「search へのアクセスは許可されていません」が記録されているのを見るまで気がつきませんでした。
申し訳ございません。

Dec 072005
 

遅ればせながらdrupalにfeedbackモジュールを入れました。サイトの不具合、ご意見などございましたらこちらのフォームからお願いします。
実はWebMasterユーザをクリックすれば、てっきりcontactフォームが出てくるものだと思ってたのです(contactモジュールは有効にしてたので)。
申し訳ありませんでした。

Nov 242005
 

先日、当サイトのdrupalにtrackbackモジュールを入れました。

今朝になってログを確認したところ、以下のようなエラーが。

66 行の/path/to/includes/database.mysql.inc におけるTable 'database.drupal_spam_tracker' doesn't exist query: SELECT tr.*, s.probability FROM drupal_trackback_received tr LEFT JOIN drupal_spam_tracker s ON tr.trid = s.id  WHERE tr.status = 1 ORDER BY created DESC LIMIT 0, 50

データベースをみてもspam_trackerなどというテーブルは存在しません。
trackback.moduleのソースを確認してみると、

  if ($spam_module_exists) {
    $sql = 'SELECT tr.*, s.probability FROM {trackback_received} tr LEFT JOIN {spam_tracker} s ON tr.trid = s.id WHERE tr.status = '. db_escape_string($status);
  }
  else {
    $sql = 'SELECT tr.* FROM {trackback_received} tr WHERE tr.status = '. db_escape_string($status);
  }

のところで問題が起こってしまったようですので、とりあえずspamモジュールは無効化。

trackbackしていただいた方、(十中八九spamだとは思うのですが)ごめんなさい。テストしてないのバレバレでした。

Nov 072005
 

drupalでは検索用インデックス作成やログの消去など、定期的な処理が必要になります。
そのためにcron.phpが用意されているので、それをXREA.COMのcronで定期実行するようにしてみました。

まずcron.phpにはむやみやたらと実行されないように、localhost以外からのアクセスを拒否するように.htaccessを設定します。

<Files ~ "^cron\.php$">
  Order deny,allow
  Deny  from all
  Allow from 127.0.0.1
</Files>

そしてcron実行用スクリプトを用意します。

#!/bin/sh
wget -O - --header="Host: gmt-24.net" http://localhost/cron.php

gmt-24.netは名前ベースのヴァーチャルホストですので、localhostでアクセスしてもcron.phpにはアクセスできません。
そこでHostヘッダが渡るようにwgetの–headerオプションで指定しています。

最後にこのスクリプトをXREAの自サイト管理画面から実行登録すれば完了です。

Nov 062005
 

drupalは投稿したブログやコメントのシーケンス番号をsequencesテーブルに格納しています。
カラムはnameとidだけで構成されており、nameにはテーブル名_カラムといったキー値をもたせることで、記事のシーケンス番号を管理するようになってました。こんな感じです。

name id
comments_cid 7
node_nid 86

これだけですと「だから何なの?」って話になってしまうのですが、WordPressからテーブルプレフィックス付きのdrupalデータベースに移行した際にはまってしまったのです。
以前も書いたように、Migration Utilityはdrupalのテーブルプレフィックス付きを想定していません。
どうしても移行したい場合は、自分で移行用のSQL文を書き換えていく必要があります。
CREATEやINSERT文のテーブル名はわかりやすいので、機械的に書き換えればよいのですが、格納先のカラム名までは想定外で、新規記事の投稿ができずに悩まされてしまったのです。
テーブルプレフィックスがdrupal_だとした場合、こんな風に移行されなければいけなかったのですね。

name id
drupal_comments_cid 7
drupal_node_nid 86

素直にテーブルプレフィックスなしで移行すればよかった…。

WordPressからdrupalへの移行

 article  Comments Off on WordPressからdrupalへの移行
Nov 022005
 

drupalを入れて、WordPressの記事を移行してみました。

Textpatternといい(もう消しました)、こんなの試してばっかりだな。

こちらのWordPress Migration Utilityを 使うと記事を移行することができます。 デフォルトではstoryとして移行されるのですが、私はblogにしました。 またdrupalのTable Prefixには対応していないので、使っている場合は自分でしengine.phpのsql文を書き換える必要があります 🙁

これで現在XREA上で動かしているのはdrupal(http://gmt-24.net/)、PhpWiki(http://wiki.gmt-24.net/)、そしてここのWordPressだけとなりました。