PHPListインストール
せっかくファイルを公開したので、いまさらではありますが、
自分の備忘録も兼ねてインストール方法を記載しておきます。
OSですが、CentOS5.2を使いました。
こちら。
自分のなじみのあるところから選ぶのがよいと思いますが、
メールサーバの構築方法や、いろいろな情報が多いので、
なんだかんだで、CentOSが楽な気がします。
1.OSのインストール
OSインストールで実施したことは、
・日本語選択
・パーティション1つに
→恐らくspool領域だけ気をつければどのように切っても問題ないと思います。
・パッケージカスタマイズ
不要なものを取り除きベースシステムのベース、MySQL、Webサーバの
あたりを加えました。
足りないパッケージがあったら後で追加します。
2.パッケージの展開と設定
こちらで取得したファイルをWebサーバのDocumentroot以下に展開し、lists/だけ
/var/www/html/に移動しました。
具体的には/var/www/配下で
ここで、configファイルを編集するまえに、DBを作っておきます。
OSインストール直後はMySQLが停止しているので起動します。
※MySQL初回起動直後なので、本当は何もなくてもOKだったりします。
ようやく、lists/config/config.phpの編集です。
確認ポイントは以下です。
$database_host = "localhost"; //26行目
$database_name = "phplistdb"; //29行目
$database_user = "phplist"; //32行目
$database_password = 'phplist'; //35行目
下記あたりも適宜変更。
[行数]
73 # $message_envelope = 'listbounces@yourdomain';
77 $bounce_protocol = 'pop';
86 $bounce_mailbox_host = 'localhost';
87 $bounce_mailbox_user = 'popuser';
88 $bounce_mailbox_password = 'password';
そして、二年ほど前に私がはまった箇所なのですが、
195行目の
define ("TEST",0);
ここを0にしないとメールが発信されません。
後は、SMTPサーバの設定などがあります。環境によっては
かえる必要があるかと思います。
また、PHPMailerの設定はHTMLメールを送りたいことから
使う設定にしています。
このために、各所の日本語変更が生きてくるわけです。
3.ブラウザからインストーラー起動
さて準備が整い、インストーラーを起動できるわけですが、
CentOS5.2を入れた場合(他でも多いとは思いますが)、
iptablesが邪魔してWebにアクセスできませんので、止める
または、httpのポートを空けておきましょう。
私はひとまず停止しました。
あらためて、ブラウザからと思ったらやはり抜けが判明しました。
php-mbstringを入れ忘れています。
CentOS5.2では、fstabからcdromの項目が消えているので、
こんな感じでマウントとrpmパッケージのインストールを行います。
Apacheの再起動も忘れずに。
それでは、ブラウザからアクセスします。
http://FQDNまたはIPアドレス/lists/admin/
最初のアクセスは時間がかかると思います。
インストールが終わっていなくてもDBの確認に行って、
タイムアウトするのを待っている様です。
ここで、
「警告: PHP magic_quotes_gpc = on のときよく機能します。」
こんなメッセージが出ていると思います。
触れて来ませんでしたが、listsディレクトリにはあらかじめ、
.htaccessが用意されてますので、状況に応じて、.htaccess
を利用可能にするのがよいかと思われます。
「データベースの初期化」リンクをクリックして先に進みます。
「次を続ける:phplistセットアップ」で次に進みます。
後は、セットアップに適宜、自分の環境の値を入れてください。
ライセンス無料で、ここまでの機能を持っていれば十分ではないかと
思います。
日本で使う中では、文字コードの問題が大きいと思いますので、
他のクリックトラックや、バウンスメールの処理(エラーメール)機能
などなかなかのものです。
属性差込もできますので、企業での取引先向けのメルマガ配信など
には十分すぎるほどの機能でしょう。
コンシューマ向け、特に携帯電話向けのメールなど大量で
細かな処理が必要なものは厳しい印象をぬぐえませんが、
小規模に行う場合は使えるのではないかと思います。
今回PHPMailerへの文字コード変換の修正をせっかくやったので、
携帯各社向けの文字コード変換の実装も決めうちで盛り込んでみても
よいかなと思っています。
長い内容にお付き合い頂き、お疲れ様でした。
次回以降、他のアプリケーションに触れられるかと思います。
お楽しみに。
自分の備忘録も兼ねてインストール方法を記載しておきます。
OSですが、CentOS5.2を使いました。
こちら。
自分のなじみのあるところから選ぶのがよいと思いますが、
メールサーバの構築方法や、いろいろな情報が多いので、
なんだかんだで、CentOSが楽な気がします。
1.OSのインストール
OSインストールで実施したことは、
・日本語選択
・パーティション1つに
→恐らくspool領域だけ気をつければどのように切っても問題ないと思います。
・パッケージカスタマイズ
不要なものを取り除きベースシステムのベース、MySQL、Webサーバの
あたりを加えました。
足りないパッケージがあったら後で追加します。
2.パッケージの展開と設定
こちらで取得したファイルをWebサーバのDocumentroot以下に展開し、lists/だけ
/var/www/html/に移動しました。
具体的には/var/www/配下で
# tar zxvf phplist-2.11.3_dip_xxxx.tar.gz
# mv phplist-2.11.3_dip/public_html/lists/ ./html/
ここで、configファイルを編集するまえに、DBを作っておきます。
OSインストール直後はMySQLが停止しているので起動します。
#service mysqld start
# mysql -u root -p
mysql> create database phplistdb charset='utf8';
※MySQL初回起動直後なので、本当は何もなくてもOKだったりします。
ようやく、lists/config/config.phpの編集です。
確認ポイントは以下です。
$database_host = "localhost"; //26行目
$database_name = "phplistdb"; //29行目
$database_user = "phplist"; //32行目
$database_password = 'phplist'; //35行目
下記あたりも適宜変更。
[行数]
73 # $message_envelope = 'listbounces@yourdomain';
77 $bounce_protocol = 'pop';
86 $bounce_mailbox_host = 'localhost';
87 $bounce_mailbox_user = 'popuser';
88 $bounce_mailbox_password = 'password';
そして、二年ほど前に私がはまった箇所なのですが、
195行目の
define ("TEST",0);
ここを0にしないとメールが発信されません。
後は、SMTPサーバの設定などがあります。環境によっては
かえる必要があるかと思います。
また、PHPMailerの設定はHTMLメールを送りたいことから
使う設定にしています。
このために、各所の日本語変更が生きてくるわけです。
3.ブラウザからインストーラー起動
さて準備が整い、インストーラーを起動できるわけですが、
CentOS5.2を入れた場合(他でも多いとは思いますが)、
iptablesが邪魔してWebにアクセスできませんので、止める
または、httpのポートを空けておきましょう。
私はひとまず停止しました。
#service iptables stop
あらためて、ブラウザからと思ったらやはり抜けが判明しました。
php-mbstringを入れ忘れています。
CentOS5.2では、fstabからcdromの項目が消えているので、
# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom/
# rpm -ivh /mnt/cdrom/CentOS/php-mbstring-5.1.6-20.el5.i386.rpm
# service httpd restart
こんな感じでマウントとrpmパッケージのインストールを行います。
Apacheの再起動も忘れずに。
それでは、ブラウザからアクセスします。
http://FQDNまたはIPアドレス/lists/admin/
最初のアクセスは時間がかかると思います。
インストールが終わっていなくてもDBの確認に行って、
タイムアウトするのを待っている様です。
ここで、
「警告: PHP magic_quotes_gpc = on のときよく機能します。」
こんなメッセージが出ていると思います。
触れて来ませんでしたが、listsディレクトリにはあらかじめ、
.htaccessが用意されてますので、状況に応じて、.htaccess
を利用可能にするのがよいかと思われます。
「データベースの初期化」リンクをクリックして先に進みます。
「次を続ける:phplistセットアップ」で次に進みます。
後は、セットアップに適宜、自分の環境の値を入れてください。
ライセンス無料で、ここまでの機能を持っていれば十分ではないかと
思います。
日本で使う中では、文字コードの問題が大きいと思いますので、
他のクリックトラックや、バウンスメールの処理(エラーメール)機能
などなかなかのものです。
属性差込もできますので、企業での取引先向けのメルマガ配信など
には十分すぎるほどの機能でしょう。
コンシューマ向け、特に携帯電話向けのメールなど大量で
細かな処理が必要なものは厳しい印象をぬぐえませんが、
小規模に行う場合は使えるのではないかと思います。
今回PHPMailerへの文字コード変換の修正をせっかくやったので、
携帯各社向けの文字コード変換の実装も決めうちで盛り込んでみても
よいかなと思っています。
長い内容にお付き合い頂き、お疲れ様でした。
次回以降、他のアプリケーションに触れられるかと思います。
お楽しみに。
comment
No title
はじめまして。
phplistで検索しててこちらを知りました。
インストールは無事におわったみたいなのですが、メッセージの送信がうまく機能しません。
どこか設定をする必要があるのでしょうか?
SMTPサーバの設定かなと思っているのですが該当箇所が見つからない・・・。
当方のサーバーはqmailがインストール済みです。
phplistで検索しててこちらを知りました。
インストールは無事におわったみたいなのですが、メッセージの送信がうまく機能しません。
どこか設定をする必要があるのでしょうか?
SMTPサーバの設定かなと思っているのですが該当箇所が見つからない・・・。
当方のサーバーはqmailがインストール済みです。
Re: No title
> インストールは無事におわったみたいなのですが、メッセージの送信がうまく機能しません。
> どこか設定をする必要があるのでしょうか?
> SMTPサーバの設定かなと思っているのですが該当箇所が見つからない・・・。
>
> 当方のサーバーはqmailがインストール済みです。
copanさん、はじめましてnhisaと申します。
SMTPサーバの設定箇所は基本的にconfig.php内にあります。
この辺りが該当すると思います。
define("PHPMAILER",1);
define("PHPMAILERHOST",'');
SMTPサーバが認証を求める場合は下記も。
#$phpmailer_smtpuser = 'smtpuser';
#$phpmailer_smtppassword = 'smtppassword';
ただ、
phplistでは、基本的にphpmailerを利用しているので、phpの
mail関数が使えることというのが、動作条件に入っています。
本家の開発はqmail環境で行われている様ですし、動作はすると思います。
phpのメール送信する様なフォームで一度確認されてみてはいかがでしょうか。
> どこか設定をする必要があるのでしょうか?
> SMTPサーバの設定かなと思っているのですが該当箇所が見つからない・・・。
>
> 当方のサーバーはqmailがインストール済みです。
copanさん、はじめましてnhisaと申します。
SMTPサーバの設定箇所は基本的にconfig.php内にあります。
この辺りが該当すると思います。
define("PHPMAILER",1);
define("PHPMAILERHOST",'');
SMTPサーバが認証を求める場合は下記も。
#$phpmailer_smtpuser = 'smtpuser';
#$phpmailer_smtppassword = 'smtppassword';
ただ、
phplistでは、基本的にphpmailerを利用しているので、phpの
mail関数が使えることというのが、動作条件に入っています。
本家の開発はqmail環境で行われている様ですし、動作はすると思います。
phpのメール送信する様なフォームで一度確認されてみてはいかがでしょうか。
No title
早々のレスにびっくりです(笑)
有難うございます。
当方のサーバー環境
CentOS 5.2
PHP 5.1.x
MySQL 5.0.x
phpでのメール送信も問題ないはず。
メールの手順が間違っているのか、configの設定間違っているのですかね。
有難うございます。
当方のサーバー環境
CentOS 5.2
PHP 5.1.x
MySQL 5.0.x
phpでのメール送信も問題ないはず。
メールの手順が間違っているのか、configの設定間違っているのですかね。
Re: No title
> phpでのメール送信も問題ないはず。
→なんらか他のアプリケーションで問題なく動いている
ということでしょうか。
phplistを動かした該当箇所のログを貼り付けてください。
/var/log/maillog
まず、phplistからSMTPへの通信が出来ているか
切り分ける必要があると思います。
→なんらか他のアプリケーションで問題なく動いている
ということでしょうか。
phplistを動かした該当箇所のログを貼り付けてください。
/var/log/maillog
まず、phplistからSMTPへの通信が出来ているか
切り分ける必要があると思います。
No title
バウンズの処理をクリックしたら、こんなエラーが出てました。
ar 4 01:46:28 www pop3d: Connection, ip=[127.0.0.1]
Mar 4 01:46:33 www pop3d: LOGIN FAILED, ip=[127.0.0.1]
Mar 4 01:46:43 www last message repeated 2 times
Mar 4 01:46:43 www pop3d: LOGOUT, ip=[127.0.0.1]
tail -f を実行しながらメールチェックすると、明らかにipが違うみたいです。
→なんらか他のアプリケーションで問題なく動いている
ということでしょうか
こちらですが、phpで作られたメールフォームやら、openpne、wordpressは問題なく動いているということでそういう表現使いました。
ar 4 01:46:28 www pop3d: Connection, ip=[127.0.0.1]
Mar 4 01:46:33 www pop3d: LOGIN FAILED, ip=[127.0.0.1]
Mar 4 01:46:43 www last message repeated 2 times
Mar 4 01:46:43 www pop3d: LOGOUT, ip=[127.0.0.1]
tail -f を実行しながらメールチェックすると、明らかにipが違うみたいです。
→なんらか他のアプリケーションで問題なく動いている
ということでしょうか
こちらですが、phpで作られたメールフォームやら、openpne、wordpressは問題なく動いているということでそういう表現使いました。
Re: No title
> バウンズの処理をクリックしたら、こんなエラーが出てました。
>
> ar 4 01:46:28 www pop3d: Connection, ip=[127.0.0.1]
> Mar 4 01:46:33 www pop3d: LOGIN FAILED, ip=[127.0.0.1]
> Mar 4 01:46:43 www last message repeated 2 times
> Mar 4 01:46:43 www pop3d: LOGOUT, ip=[127.0.0.1]
>
> tail -f を実行しながらメールチェックすると、明らかにipが違うみたいです。
バウンス処理部分は、
config.phpの 77行目以降
$bounce_protocol = 'pop';
$bounce_mailbox_host = 'localhost';
$bounce_mailbox_user = 'popuser';
$bounce_mailbox_password = 'password';
ここを設定する必要があります。
バウンス用のアカウントを作成してください。
また、送信に関しては、cronでキュー処理の設定を
するまでは、手動での処理になります。
メール送信画面で、コンテンツやクライテリアを
入れて送信したら、管理画面のキューの処理
メニューを開いてみてください。
cronなど予約配信の設定に関しては、
http://opensource2008.blog36.fc2.com/blog-entry-29.html
こちらのエントリを参照してみてください。
>
> →なんらか他のアプリケーションで問題なく動いている
> ということでしょうか
>
> こちらですが、phpで作られたメールフォームやら、openpne、wordpressは問題なく動いているということでそういう表現使いました。
→なるほど問題ないと思います。
>
> ar 4 01:46:28 www pop3d: Connection, ip=[127.0.0.1]
> Mar 4 01:46:33 www pop3d: LOGIN FAILED, ip=[127.0.0.1]
> Mar 4 01:46:43 www last message repeated 2 times
> Mar 4 01:46:43 www pop3d: LOGOUT, ip=[127.0.0.1]
>
> tail -f を実行しながらメールチェックすると、明らかにipが違うみたいです。
バウンス処理部分は、
config.phpの 77行目以降
$bounce_protocol = 'pop';
$bounce_mailbox_host = 'localhost';
$bounce_mailbox_user = 'popuser';
$bounce_mailbox_password = 'password';
ここを設定する必要があります。
バウンス用のアカウントを作成してください。
また、送信に関しては、cronでキュー処理の設定を
するまでは、手動での処理になります。
メール送信画面で、コンテンツやクライテリアを
入れて送信したら、管理画面のキューの処理
メニューを開いてみてください。
cronなど予約配信の設定に関しては、
http://opensource2008.blog36.fc2.com/blog-entry-29.html
こちらのエントリを参照してみてください。
>
> →なんらか他のアプリケーションで問題なく動いている
> ということでしょうか
>
> こちらですが、phpで作られたメールフォームやら、openpne、wordpressは問題なく動いているということでそういう表現使いました。
→なるほど問題ないと思います。
No title
バウンス処理部分はなんとかできました。
メール送信ができないみたいなんで、使い方が違うような気もするのでもうちょっと管理画面と睨めっこしたいと思います。
いろいろ有難うございます。
メール送信ができないみたいなんで、使い方が違うような気もするのでもうちょっと管理画面と睨めっこしたいと思います。
いろいろ有難うございます。
Re: No title
> バウンス処理部分はなんとかできました。
>
> メール送信ができないみたいなんで、使い方が違うような気もするのでもうちょっと管理画面と睨めっこしたいと思います。
>
> いろいろ有難うございます。
メールの送信画面の作りはちょっと特殊だと思います。
左側のタブから順々に保存して配信リストをきめたり、
配信条件を決めたりして、最後に送信する形です。
頑張って下さい。
>
> メール送信ができないみたいなんで、使い方が違うような気もするのでもうちょっと管理画面と睨めっこしたいと思います。
>
> いろいろ有難うございます。
メールの送信画面の作りはちょっと特殊だと思います。
左側のタブから順々に保存して配信リストをきめたり、
配信条件を決めたりして、最後に送信する形です。
頑張って下さい。
No title
おかげさまで無事にできました。
配信の仕方、癖ありますね。
ちょっと実用性に向けていろいろいじってみまーす。
いろいろ有難うございました。
配信の仕方、癖ありますね。
ちょっと実用性に向けていろいろいじってみまーす。
いろいろ有難うございました。
Re: No title
> おかげさまで無事にできました。
>
> 配信の仕方、癖ありますね。
> ちょっと実用性に向けていろいろいじってみまーす。
>
> いろいろ有難うございました。
無事にできたということで、なによりです。
なにかありましたら、またコメントください。
>
> 配信の仕方、癖ありますね。
> ちょっと実用性に向けていろいろいじってみまーす。
>
> いろいろ有難うございました。
無事にできたということで、なによりです。
なにかありましたら、またコメントください。
MySQLユーザー作成
MySQLのユーザー作成も必要ですね。ここで詰まる人はあまりいないとは思いますが、念のため書いておきます。
grant all on phplistdb.* to phplist@localhost identified by 'phplist';
grant all on phplistdb.* to phplist@localhost identified by 'phplist';
Re: MySQLユーザー作成
仰る通りですね。
すみません、普段当たり前に実施してしまっているので、
割愛してしまいました。
パスワードも含めて設定入れる方がいいでしょうね。
> MySQLのユーザー作成も必要ですね。ここで詰まる人はあまりいないとは思いますが、念のため書いておきます。
> grant all on phplistdb.* to phplist@localhost identified by 'phplist';
すみません、普段当たり前に実施してしまっているので、
割愛してしまいました。
パスワードも含めて設定入れる方がいいでしょうね。
> MySQLのユーザー作成も必要ですね。ここで詰まる人はあまりいないとは思いますが、念のため書いておきます。
> grant all on phplistdb.* to phplist@localhost identified by 'phplist';
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
