ホーム

永田順伸のブログ

xampp 1.7.7 で動作する Mercury v4.62 の設定

  • 2011/10/30 日曜日 13:37:43
  • xampp

osCommerceを利用しているお客様のPHPを5.3.8にしたので、
開発環境のWindows7 64bit上のxamppもそれにあわせてバージョンアップした。
xamppディレクトリをxampp2などの名前に変えて、
普通にインストールしてlocalhostやphpMyAdminの画面が表示されたら、
xampp2にあるhtdocsの内容やmysqlのdataを移動した。

メール送信にはMercury/32(Mercury Mail Transport System)を利用することにしていたので、
前回どおり設定したが、なぜか送信できない。
そのエラー対策部分を追加して設定方法の最新版を掲載します。

1. phpの設定
PHPからMercuryに接続するための設定をphp.iniのメール関連の設定箇所で下記のように記述して、apacheを再起動します。


[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25;

; For Win32 only.
sendmail_from = あなたのメールアドレス

2. Mercury管理画面の表示
次に、Mercury管理画面で、MercuryがPHPから受け取ったメールを中継するための設定を行います。
xamppのコントロールパネルを起動してMercuryの横の[Start]をクリックします。
「Running」と表示されたら、[Admin]をクリックして管理画面を表示します。

3. Mercuryの設定
上部メニューバーから[Configuration]→[Protocol Modules]を選択します。
ここで「MercuryS SMTP server」と「MercuryC SMTP  relaying client」をチェックして残りの項目はすべてチェックを外します。
ここでMercuryを再起動します。

4. メール中継用の設定
上部メニューバーから[Configuration]を選択します。
メニュー内から「MercuryS SMTP Server」と「MercuryC SMTP client」という項目を探してください。見つからない場合は再起動すれば表示されます。
「MercuryS SMTP Server」についてはデフォルトのまま使用します。
「MercuryC SMTP client」には利用しているインターネット接続業者が指定する内容を設定します。
[MercuryC SMTP client]を選択します。
設定画面では、以下の項目を入力します。


SMTP “Smart” Host details
Smart host name:あなたのSMTPサーバ
Connect to TCP/IP port:587

Credentials for SMTP Authentication, if required
Username:メール送信用のID
Password:パスワード

これで、PHPからメールを送信できます。

5. メール送信時に「SMTP server response: 553 We do not relay non-local mail, sorry.」のように表示されたら、先ほど設定した「MercuryS SMTP Server」を再度表示して、[Connection Control]タブを表示して画面下部の[Do not Permit SMTP relaying to non-local mail]のチェックを外してください。

サーバ移転の見積もり

メールで見積もり依頼がたまに届くので、見積もり依頼を出しやすくなるように専用の見積もり依頼フォームを作ってみた。
BaserというPHPのCMSを利用して手早く簡単にできた。アクセスの無いサイトなので反応はまったく無く作ったことを忘れた頃になって、はじめて見積もり依頼が届いた。なんだかうれしい。最近の見積もり依頼は、osCommerceの移転に関するものが多い。メールでの見積もり依頼をくれた方に見積もりを送付してもほとんど作業依頼は来ない。理由は、見積もり額だと思う。
カスタマイズは、同じ物を何個も作っていくうちに低い価格設定にできるけれど、サーバ移転はそれぞれに状況が違い、責任も負うのであまり安い価格設定にはできない。サイトがクローズする時間を最小にして移転したり、移転後は軽快に動作する分、アクセスも増えて行く。Hit数が数倍になるのが普通だ。セキュリティ関連の設定や停止時の監視機能など古いサーバに比べてメリットも多い。こういうことを見積もりにうまく込められるよう見積もりの書き方も工夫していきたい。

MySQL5.5.16の起動エラーとyum update

管理しているサーバのMySQLが停止して監視システムからのメールが届き始めた。
思い当たることがなく慌ててサーバに接続して確認してみたが、メモリーが不足したり、アクセスが過大になったような形跡はなかった。MySQLを再起動してみても失敗と表示されるだけで起動できない。何度か試行錯誤しているうちに原因がyumの自動アップデートではないかと思い当たった。MySQLの起動時のメッセージか2点を修正すれば動作すると予測した。

エラーメッセージの原因は以下の2点。
1. MySQL5.5.16では、利用できないオプション名をmy.cnfで使っている
2. データ側のアップグレードが必要

項目1は、エラーメッセージに従い下記のように修正した。

default-character-set=utf8
↓↓↓
character-set-server=utf8

record_buffer
↓↓↓
read_buffer_size

その他、詳細はこのページで確認できます。
http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html

mysql_upgrade -p

mysqlのrootのパスワードで実行すると正しくチェックを行いエラーは表示されなくなった。

この方法で複数台を修正した。
最後に1台だけyumのアップデートが途中で停止するサーバがあった。
管理しているサーバの中では一番古いので、ファイル構成などが違っているようだ。
エラーの出るレポジトリが存在していたので、正常なサーバと見比べて不要だと確認してファイルを削除した。
その後、以下のコマンドを実行して

yum clean all
yum repolist

yum -y update

アップデートすると、更新されていなかった208ファイルをダウンロードして更新できた。

ホーム

フィード
メタ情報

ページの上部に戻る