【Linux】オープンソースなメールマガジン発行システムphplistのインストールと日本語化
phplistというオープンソースなメール配信システムをインストール、調査したときのメモ。環境はCentOS5.3+Xampp for linux(lampp) 1.7.1
lamppのインストールはこちらの記事を参考に。
ここからダウンロードしてきてサーバーで解凍。
# tar xzvf phplist-2.10.10.tgz.gz
<2009/09/02 追記>
2.10.10はバグがあるみたいなので、2.10.9を使うのがお勧め。ここから日本語化されているのをダウンロードできる。下の方に書いてある日本語化する処理をしなくてよくなる。
適当なディレクトリに移動
#mv phplist-2.10.10 /opt/phplist
MySQLにphplist用のデータベースを作成(utf8_general_ciで)。xamppの管理画面からphpmyadminにアクセスして作成。アクセスできるユーザーも適宜作成。
設定ファイルを修正
# vi phplist/public_html/lists/config/config.php
# what is your Mysql database server
$database_host = "localhost";# what is the name of the database we are using
$database_name = "phplistdb";# who do we log in as?
$database_user = "phplist";# and what password do we use
$database_password = 'phplist';
apacheの設定ファイルを修正。
<VirtualHost *:80>
DocumentRoot /opt/wordpress-phplist
ServerName phplist.exbridge.jp<Directory />
AllowOverride All
</Directory>Alias /core "/opt/phplist/public_html/lists"
<Directory "/opt/phplist/public_html/lists">
AllowOverride All
Order allow,deny
Allow from all
</Directory></VirtualHost>
これはwordpressのプラグインからphplistを使用する前提で構成しているので、適宜環境に合わせて設定する。
合わせてphplistの設定ファイルを修正
# vi phplist/public_html/lists/config/config.php
$pageroot = '/core';
$adminpages = '/core/admin';
日本語ファイルは標準で入っているので、phplist/public_html/lists/admin/language.phpのjaのコメントアウトを削除して有効にする。さらにconfig.phpを下のように修正する。
$language_module = "japanese.inc";
これでweb経由でアクセスするとインストールできる。
http://phplist.exbridge.jp/core/admin/
Japaneseを選択。文字化けする場合はブラウザのエンコードをEUCにする。
データベースの初期化をクリック
ここでエラー。
Database error 1071 while doing query Specified key was too long; max key length is 1000 bytes
致命的なエラー: Debugging not configured properly
ここのブログを参考にしながら、どうしようか迷ったあげく、データベースの構造(文字列長)を変えた。phplist/public_html/lists/admin/structure.phpの67行あたり
"user_blacklist_data" => array(
"email" => array("varchar(233) not null unique","Email"),
"name" => array("varchar(100) not null","Name of Dataitem"),
"data" => array("text",""),
"index_1" => array("emailidx (email)",""),
"index_2" => array("emailnameidx (email,name)",""),
),
255から233に変更。
データベースを一旦削除してもう一回実行してみると成功。
<2009/09/02 追記>
Xampp for linuxのversion 1.7.2では起きなかったのでMySQLのバージョンを上げれば同様の現象は起きないと思う。
つぎは一番下のリンクをクリックしてphplistのセットアップ
管理者パスワードの変更だけは忘れないようにやっておく。
インストール直後はメールを送信しないtest modeで動いているので、メールを送信したい場合はconfig.phpを修正する。
define ("TEST",0); //1:test mode, 0:exec mode
実際に動かしてみたら、テストメッセージが文字化けるのと件名が文字化ける現象を発見。
デフォルトページのaliasを変更した場合は「設定」から「購読ページURL」~「メール転送ページURL」を変更する必要あり。