IMPOV::In My Point Of View

仕事、SEO、ウェブマーケティング、時事問題、健康、生き方などなど、書きたいことを勝手に書き倒しているブログです。とどのつまり「便所の落書き」

ロリポに SSH で公開鍵接続して rsync でサーバー同期をしてみる

ロリポのレンタルサーバー(以下、PUB)とステージングサーバー(以下、STG)をSSH公開鍵接続でrsyncを使い同期させてみました。

たぶん、さくらのレンタルサーバーなど、SSHとrsyncコマンドが使える他のレンタルサーバーでも同じやり方で出来ると思います。

なお、ステージングサーバーは普通のLAMP環境です。ConoHaに建ててあります。

目的は、ブラウザからボタンを押すと STG -> PUB へ同期が行われるツールを作ることです。

手順は以下の通りです。

  1. ロリポの管理画面でSSHの有効化
  2. 鍵の設置
  3. STGからSSHで接続確認
  4. スクリプトの作成
  5. 権限変更(visudoなど)
  6. サーバーのfingerprintを取得
  7. phpでブラウザ画面を作成
続きを読む

MacでAtomの自動更新ができなかったお話

Macbook にインストールしている Atom エディタが、起動するたびに最新バージョンへの自動アップデートを試みるんですが、毎回失敗してver1.95のままになっていました。

いろいろ調べてみたものの、どうにもこうにも解決しないので、Atomのウェブサイトから最新版の zip ファイルをダウンロードして上書きインストールすることにしました。

ところが、ダウンロードした zip ファイルを解凍しようとしたところ、途中で止まり解凍できません。

どうやら自動アップデートが上手く行かなかったのも zip の解凍失敗が原因のようです。

続きを読む

CentOS上のアプリケーションから「管理者宛のメールが届かない」 - 例えばEC-CUBEで。

最近、情けないミスを連発中です。

EC-CUBEの受注管理者宛のメールが上手く送信されないんです。

よくよく調べてみたら、原因はサーバー設定に有ったというお話です。

ほんとに情けない。あんまりにも情けないミスなんで恥ずかしくて書きたくないんですが、日本中探したら1人ぐらいは同じことでテンパっている人もいるかもしれませんので、傷を舐め合う相手探しを目的にここに晒しておきます。

環境と症状

環境

今回の症状はEC-CUBEでなくても起こるんですけど、一応、気づいたキッカケがEC-CUBEなので、さらりと環境を書いておきます。

  • VPS root権限あり
  • CentOS 7
  • EC-CUBE 3
  • PHP 7.1
  • メール送信は、sendmailを使用
  • メールサーバーは別にレンタル

症状

  • ショップ管理者のメールアドレスは、info@ほげほげ.com
  • 受注メールが、ショップ管理者宛に届かない。
  • サーバー管理者へは届いている。

原因と対処

原因

  • サーバーのホストネームに、ショップのドメイン名(メールアドレスのドメイン名)を設定したため、サーバー内でアドレスが解決してしまい info メールボックスにメールが送信された。
  • info メールボックスは、root に alias されているので、サーバー管理者へメールが転送された。
  • 一方、サーバーの外のレンタルメールサーバーへはメールが送信されないため、ショップ管理者にメールが届かなかった。

対処

以下のいずれかで対処。

  • nmtui コマンドで、システムのホスト名を変更する。
  • /etc/aliases を編集して、info の転送先を、root から別のメールアドレスに変更する。

事の顛末

普通は、こんなことは発生しないんです。サーバー自体のホスト名に、公開ドメイン名と同じ名前をつけるとか、あんまりやらないですよね。

というわけで、過去に似たような経験をしたことがなかった為に、原因を探り当てるのにムダな時間をかなり使ってしまいました。

info, marketing, sales, support といったアドレスは、postfixの初期設定で、 postmaster に alias されてるんですよね。

この postmaster は、さらに root に転送されるようになっています。

/etc/aliases

# Basic system aliases -- these MUST be present.
mailer-daemon:  postmaster
postmaster:     root

(中略)

info            postmaster
marketing:      postmaster
sales:          postmaster
support:        postmaster

今回のケースでは、サーバー自体のホスト名をメールのドメイン名と同じにしてしまっていたせいで、そのドメイン宛のメールの配信については、自分のサーバー内でアドレス解決しようとします。

そして、運の悪いことに、初期設定で info に対するエイリアスが設定されてたお陰で、エラーも発生せず、メールがちゃんと届けられちゃったというわけです。

さらに、間の悪いことに、アプリケーションをインストールしたサーバー管理者としては、テストメールがちゃんと自分のところに届いているものだから、正しくセットアップできたと勘違い。

ところが、肝心要のショップ管理者へはナシのつぶてという最悪の状態が発生したわけでございます。

まぁ、試験中にトラブルを発見できたので良かったのですけど、見切り発車してたらちょっと寒気がする事態になってたんだろうなぁ。

ほんと、こういう余計な初期設定、しないで欲しいです。