phpListの翻訳更新に失敗する時の対処法(Ubuntu 16.04の場合)

翻訳更新を行なおうとすると、次のエラーが出て失敗することがあります。

Unable to fetch list of languages, please check your network or try again later

phpListでは翻訳更新にphpList.orgの翻訳ファイルを取りに行きます。
このとき翻訳ファイルにアクセスできなければこのエラーが発生します。

Ubuntu 16.04 LTS では、初期状態ではPHPがcURLに対応してないためにphplist.orgにアクセスできないのです。cURLについてPHP公式サイトを調べてみると –with-culr[=DIR] を付けてPHPをコンパイルする必要があるとされています。

ubuntu 16.04 LTSではcURLパッケージは標準で入っていますが、PHPからは利用できていないようです。
早速次のコマンドでパッケージをインストールします。

$ sudo apt-get -y install php-curl

あとはApacheサービスを再起動すればいいだけです。

$ sudo service apache2 restart

これで翻訳更新ができるようになります。

 

おまけ。

phpListのプラグインをインストールしようとすると、ZIPがないと怒られる場合の対処法。

これもcURLと同様の原因です。

パッケージをインストールします。

$ sudo apt-get -y install php-zip
$ sudo service apache2 restart

これでプラグインをインストールできるようになります。

無料のメルマガ配信ソフトphpListをインストールする

知人に頼まれて無料で使えるメルマガ配信ソフトを探していました。

メルマガ配信ソフトにはいろいろありますが、そんな中オープンソースのメルマガ配信システムphpListがありました。

レンタルサーバで動かしたいとのことなので、ちょうどいい感じです。

phpListとは

phpListはメールマガジンを管理するオープンソースのソフトウェアなので、今回はこれをメールマガジン配信スタンドとして使います。
phpListはGPLライセンスの元で公開されており、誰でも自由に使うことが保証されています。もちろん利用料はいりません、完全無料です(寄付は歓迎するそうですが)。現在の最新バージョンは3.3.1です。

システム要件

phpListを動作させるには次のシステム要件を満たす必要があります。

  • PHP 5.4以上(ただしIMAPモジュールが必要)
  • MySQL 5.0以上
  • メール送信可能なMTAサーバ(sendmailやPostFixなど)
  • Webサーバ(Apacheなど)

レンタルサーバではこれを満たさないものもありますので要注意です。

さくらインターネットのスタンダート以上のプランだと大丈夫です。
メルマガを数多く配信したい場合(1日に2000通以上くらい)はVPSプランがオススメです。ただし、サーバ管理技術が必要になります。

他にも、ロリポップ!のスタンダード以上のプランもオススメです。

phpListのダウンロード

phpListのホームページはこちらです → Free Newsletter Software : phpList.org

ホームページから右上のダウロードアイコンをクリックします。あるいはダウロードのページに直接アクセスしても構わないでしょう。

Download ZIPをクリックするとダウンロードが始まります。完了するまでしばらく待ちましょう。

解凍と必要なファイル

ダウンロードしたZIPファイル(phplist-3.3.1.zip)を解凍すると、フォルダphplist-3.3.1ができます。
これがすべて必要なわけではなく、phplist-3.3.1\public_html\lists フォルダの中だけが必要なので、他は削除しても構いません。

メールアドレスを準備する

phpListでは配信不能なメールアドレスを自動で検知する機能が備わっています。この機能を利用するために(他にも理由はありますが)phpList専用のメールアドレスを用意します。phpListがメールを自動的に削除しても構わないアドレスを用意しましょう。

ここでは例として mailer@somewhere.co.jp を使用します。独自ドメインで配信する場合はそのドメインを使いましょう。

環境設定ファイルを編集する

phpListの環境設定ファイルは、
phplist-3.3.1\public_html\lists\config\config.php
となります。このファイルを書き換えますが、Windowsのメモ帳では開かないようにしてください。Sakuraエディタ等のテキストエディタを使いましょう。

まずは日本語の設定をします。config.phpの2行目に次の1行を追加します。

$default_system_language = ‘ja’;

次に、データベースの設定を行います。次の4行を変更します。よく探して見つけてください。

$database_host = 'dbhost.sakura.ne.jp'; ← レンタルサーバで指定されたデータベースホスト名
$database_name = “dbname”;              ← レンタルサーバで指定されたデータベース名
$database_user =  “phplist”;            ← レンタルサーバで指定されたデータベースのユーザ名
$database_password = ‘phplistpassword’; ← レンタルサーバで指定されたデータベースのパスワード

そして、テストモードを解除しておきます。

define (“TEST”,0);

メール環境の設定を行います。ここで先程準備しておいたメールアドレスを使用します。
下の例では mailer@somewhere.co.jp というメールアドレスの設定を行なっています。メールサーバに合わせて設定を行なってください。

$message_envelope = 'mailer@somewhere.co.jp'; ← メールアドレス
$bounce_protocol = 'pop';                     ← メール受信方式
$bounce_mailbox_host = 'pop.samewhere.co.jp'; ← サーバ
$bounce_mailbox_user = 'mailer';              ← メールユーザ名
$bounce_mailbox_password = 'mailerpassword';  ← メールパスワード
$bounce_mailbox_port = "110/pop3/notls";      ← ポート・暗号化方式

最後に、メールキューの設定を行います。次の2行を追加します。
この例の場合600秒に20通までメールを送信する設定になっています。
サーバーの許容量に合わせて設定しましょう。無駄に増やすとレンタルサーバ側から警告が来たり、メールが出せなくなったりしますので、慎重に設定をしてください。

define("MAILQUEUEBACH_BATCH_SIZE",20);
define("MAILQUEUE_BATCH_PERIOD",600);

修正が終わったら上書き保存します。

ファイルをアップロードする

listsフォルダごとサーバにアップロードします。

ドメインを設定する

http://somewhere.co.jp/ で lists フォルダにアクセスできるようにドメインを設定します。具体的な手順はDNSを管理しているところに聞いてください。

さくらインターネットの場合、左サイドメニューから「ドメイン設定」を選び、ドメインの「パス」に「/lists」を設定するだけです。

Lolipopの場合、コントロールパネルから「独自ドメイン」→「独自ドメイン設定」のメニューを開いて、「公開(アップロード)フォルダ」に「lists]を設定します。

以上でインストールは完了です。次はセットアップです。