投稿

10月, 2023の投稿を表示しています

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

MySQLで接続エラー

 MySQLコマンドを実行すると... これまで、普通に使えていた以下のコマンドが何故かエラーになるようになった。 Updateの影響だとは思うのだが…。 ``` $ mysql -p Enter password:  ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) ``` 原因が分からない。 一応、ERRORメッセージで検索すると、同様なエラー報告はあるものの、どれを試しても動作しない。 で、仕方なくコマンドが通るマシンと、エラーを吐くマシンで比較しながら追ってみた。 まず、/tmp/mysql.sock が無いというので、作成する方法は所有権を変えようが、Permissionを変えようが、結局はだめ。 作成して実行すると、pidファイルが怪しい。 /var/lib/mysql/マシン名.pid を生成するはずなのに、エラーが起きるマシンでは生成されていないことを突き止めた。 サービス起動のスクリプトの異常なのか? と思いつつも、GUIツールから接続すると正常にDBに繋がり、問題なく操作できる。 SSHでtunnelすれば接続できるし…。 解決方法を見つけた! そこで、mysqlコマンドのオプションを色々試して見ると…。 hostを指定すると動作することが判明 どうも、localhostが正常に解決できていない感じ…。 そこで、以下のように実行してみる $ mysql --host=127.0.0.1 -p すると、正常に動作することが判明! 毎回記述するのは手間なので、aliasを設定する。 .bashrc もしくは .bash_aliasesに以下のように記述。 alias mysql='mysql --host=127.0.0.1' これで、OK これまで通り、mysql -pと叩けば正常に動作する。 そのうち、スクリプトが修正されるかもしれないので、本体をいじるより安全に運用できるので良し! 苦戦している人は、試してみると良きです。