Modefy MediaWikiとSQLite

2010年8月26日 | Modefy | コメント (0)

xreaでMediaWikiとSQLiteでWikiを構築。記事をいくつか追加して、途中でカテゴリをつけてみると、カテゴリページに何も表示されない。

おかしいと思い、最初に疑ったのは、データベースの破損。しかし、特に問題はなさそう。次に疑ったのはSQLiteのバグ。ソースを眺めても、バグ情報を眺めても、特におかしいところは見つからない。

何気なく、検索機能を使ってみると、検索もされない。

そんなとき、ネット検索を続けるうちに、本家のSQLiteに関する記事を発見。英語の文章を読んでみると、SQLiteのテキスト検索機能が3.3.8移行に機能追加され、それを利用していると書いてある。

ウェブサーバーのxreaのバージョン情報を見ると、SQLiteは3.3.7...。つまり検索機能はなかったのでした。ソースを見直してみると、関数を呼び出したときに検索機能のないSQLiteは、空を返す記述が読み取れました。レンタルサーバーなので、バージョンアップするわけにもいかないので、SQLiteを断念することにしました。

さて、入力済みのデータをどのようにMySQLに転送するかが問題。SQLite Managerで書き出して、PhpMyAdminで読み込む方法が思いついたのですが、SQLの文法は似ているようで結構違う。これは断念。

しかし、MediaWikiにエクスポートとインポートの機能があることを知り、SQLiteで動かしたMediaWikiでエクスポートし、MySQLでインストールし直したMediaWikiでインポート。無事に解決することができました。

Modefy xreaでのMediaWikiの画像アップロード問題

2010年8月21日 | Modefy | コメント (0)

xreaにMediaWikiをインストールしても、セーフモードのため、そのままでは画像のアップロードがうまくいきません。ネットを検索しても、CGIモードで動かすという方法が見つかったのですが、それでは、動作が遅くなってしまい、実用的ではないように思います。

解凍したフォルダ内を検索してみると、includes/GlobalFunctions.phpにwfMkdirParentsという関数があり、これがディレクトリを作成するグローバルな関数のようです。

function wfMkdirParents
のなかにある

$ok = mkdir( $dir, $mode, true ); // PHP5 <3
if( !$ok ) {
//PHP doesn't report the path in its warning message, so add our own to aid in diagnosis.
trigger_error( __FUNCTION__ . ": failed to mkdir \"$dir\" mode $mode", E_USER_WARNING );
}

という部分があり、ここでPHPからmkdirしているので、ここをPHPからFTP経由でmkdirをすればうまくいくはず。

上の$okから始まる行から、}までの行をコメントアウトします。

下のコードをコメントアウトした上か下に書き込みます。xxxxは各自で書き換える必要がある部分です。

// FTPのディレクトリは、public_htmlがルートにあるので、
// $dirで受け取ったディレクトリから、先端を削らなくてはならない
$dir2 = str_replace("/virtual/xxxx", "", $dir);

// FTP接続に必要な情報。
$ftp_server="s229.xrea.com";
$ftp_user_name="xxxx";
$ftp_user_pass="xxxx";

// 接続してmkdirしたあと、chmodします。
$conn_id = ftp_connect($ftp_server);
@ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_mkdir($conn_id, $dir2);
ftp_chmod($conn_id, 0777, $dir2);
ftp_close($conn_id);

以上です。

Linux Netatalkのエラー

2010年8月19日 | Linux | コメント (0)

Netatalkを導入したのですが、ログに
volume "BackUp" does not support Extended Attributes, using ea:ad instead
というものが残っています。

ファイルシステムで拡張属性(EA)を有効にする必要があるということですが、ea:autoではダメのようです。ファイルのコピーや移動で、エラーが出ていました。

vi /etc/fstabで、
/dev/sda1 /home/samba/sata_hdd ext3 defaults,acl,user_xattr 1 2
とuser_xattrを入れないとダメだったようです。

結果、ファイルのコピーや移動でのエラーはなくなり、動作も機敏になった気がします。

【関連記事】
[E] LinuxサーバーをTime Machine対応に(実践編)

Software 札幌辞書 for ATOK

2010年8月 9日 | Software | コメント (0)

ATOK用の辞書登録テキスト。札幌市内の地名・地域名を強化します。札幌に住む人なら入れておいて損はないと思います。旧バージョン(1998/10/24公開)の200語から400語と大幅に増量しています。

Oceansoft Library - データ

Hardware パソコンの電池交換と一太郎5

2010年8月 7日 | Hardware | コメント (0)

1998年秋に購入したノートパソコンがエラー。
IMG_0972.JPG
日付が記憶されなくなりました。
IMG_0973.JPG

こういう場合は、内蔵のボタン電池が消耗しています。
IMG_0964.JPG
裏ぶたを開け、取り出します。この機種は、配線が直付けされています。
IMG_0965.JPG
電池を購入。500円硬貨より大きなボタン電池(左)も並んでいたので、コレクションのために一緒に購入。
IMG_0970.JPG
適当なビニールテープで加工。電気的につながればOKなのです。
IMG_0971.JPG
12年間の使用で、消耗品のハードディスクは2度交換。それ以外はトラブルなしの丈夫な機種でした。

Windows2000が動くようにしてあるのですが、現在メインでは使っていないので、CFを差してPC DOSをインストールしてみました。
IMG_1085.JPG
一太郎も動きます。ただし、96MBのメモリは多すぎてエラーなので、RAMドライブを作って、32MBまで減らさないといけません。
IMG_1087.JPG