月別アーカイブ: 2016年8月

オンラインショップ作成開始

オリンピック期間中は店が暇そう。
ということで、1年ぐらい前に作りかけてそのまま放置していたオンラインショップを改めて作り直そうと思う。
といっても、主目的は環境構築をほとんどしなくなって時代に全く追いついていないのでエンジニアとしての勉強。

というわけで、月の売り上げがあるかわからないものにリソースを突っ込む。

環境)
本番環境:既存のさくらVPS(CentOS6)に他と相乗り
開発環境:自宅の物理サーバ(CentOS7)上のDockerでCentOS6
Webサーバ:nginx(現在apache)
ソース管理+マイグレーション:gitベース(そのままだとカスタマイズしたときに面倒ぽいのでこちらの方法で)。ChefとDockerもここに。Jenkins2は開発機へのデプロイまでやろうと思う。
バックアップ:もりっとmondo+トランザクションデータはEC-Cubeの機能理解してから。

Windows 10 Anniversary Updateで(?)起動しなくなった

さっきWindowsマシンの電源をいれたらWindowsが起動しなかった。

最初は黒い画面にyという文字だけ表示される状態。

電源を数回入れ直したらWindows10の画面が表示され「以前のバージョンのWindowsを復元しています」と表示されしばらく待機し、Windowsが再起動。その後、使えるようになる模様。(まだWindowsの起動待ち)
再起動後アップデート前の状態でWindowsが使えるようになりました。

アニバーサリーアップデートでたばかりなのでそれの障害を踏んでしまったんだと思う。
Bash使いたかったけどゆっくりまつか

2016/8/5追記)
待とうと思ったら、OSが不安定のようで再度アップデートかけたらうまくいったようです。違いはさしてあったUSBメモリを抜いたぐらいかな?
再現できない(&する気もない)ので原因は特定できませんが。

メールが受信できていなかった

ボルダリングの課題変更などでバタバタして気づいていなかったけど2週間ほど前から会社のメールが受信できていませんでした。

原因はサーバにhostnameが設定されていなかったためで、hostnameを設定しPostfixとDovecotを再起動して復旧。停止期間中のメールも受信できました。

修復したけど切り分けでしたことをメモ。

環境はCentOS6+Postfix+Dovecot。

日曜日にしばらくメールが来ていないことに気づき、携帯からメールを送ってみたが届かず。

 

カーネルアップデート後にサーバ再起動していたので、PostfixとDovecotが起動しているか確認したけど問題なさそう。

chkconfig –list
ps -Af

メールクライアントがうまく同期していない可能性を考えてサーバ側の受信状況も確認したけどサーバのメールボックスにも届いていない。

mail -f ~/Maildir

そのころのメールログ(view /var/log/maillog-20160724)を見直すとエラーいた。

Jul 18 01:47:38 epea postfix/local[15727]: warning: valid_hostname: numeric hostname:数字でIP
Jul 18 01:47:38 epea postfix/local[15727]: fatal: unable to use my own hostname
Jul 18 01:47:38 epea postfix/smtpd[15722]: disconnect from 接続元メールサーバ名
Jul 18 01:47:39 epea postfix/qmgr[1697]: warning: private/local socket: malformed response
Jul 18 01:47:39 epea postfix/qmgr[1697]: warning: transport local failure — see a previous warning/fatal/panic logfile record for the problem description
Jul 18 01:47:39 epea postfix/master[1685]: warning: process /usr/libexec/postfix/local pid 15727 exit status 1

「ホスト名(文脈的にはドメイン名?)が数字だよ。そんな変なの使えんよ。」ということっぽい。

Postfixの設定を確認すると「mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain」となっていてこちらによると$myhostnameのデフォルト値は「hostname」コマンドで得られるローカルホスト名らしい。

postconf -n

hostsにホスト名を設定していないからサーバ再起動時にホスト名がデフォルトの数字になってローカル転送できなくなっていたということらしい。そもそもいつどんなホスト名を設定したのかも覚えていないけど、メールサーバのインストール前にたまたま何か設定していて動いていたということらしい。

転送を考えなければ$mydomainが正しく設定されていれさえすれば$myhostnameはなにでも動くっていうことね。ということでhostnameを適当に設定したうえでPostfixとDovecotを再起動して暫定対処。

そもそもmydestinationを$mydomainだけにすれば十分なのだろうけどインフラ周りをちゃちゃっといじるのは怖いのでまたゆっくりやろうと思う。(後回しになってサーバ再起動してはまったらこの記事を自分で見直す)