旧サーバー停止

今年3月より行なってきたサーバー引越も先月終了。リファレンス用に稼働していた旧サーバー(marocha.marochanet.org)を今月末の契約終了を受けて本日停止しました。これをもって来月より新サーバー(jagha.marochanet.org)単独での運用になります。2013年7月から稼働してきた「さくらVPS(V3)2Gコース」。CentOS6にて運用開始し、2020年初頭にCentOS8にアップグレード。安定してきたところでCentOSサポート終了予定のお知らせ。それを受けてのサーバー引越でした。

さくら「VPS(V5)2GのSSD100Gコース」に無料でSSD100G追加キャンペーンに釣られての流れになるけど、Ubuntuサーバーへの引越と同時に出来て丁度良い感じでした。

まぁ、WEBサイト的には、見た目は何も変らないので変化を感じることは無いけど。。。

新サーバー(jagha):marocha君、8年間お疲れさまでした。
ちなみにmarochaはFinalFnatasyXIをプレイしていたときのメインキャラクター名(ホントはSemicolonというキャラがメインだったのだが、タルタル族の可愛さに徐々のサブキャラのmarochaで活動する機会が増え、最後にはサブがメインになってしまったというオチ)で、jaghaは現在プレイしているFinalFantasyXIVのメインキャラ名です。こちらにもmarochaというサブキャラが居るけど、今のところメインを乗っ取る気配は無さそうだ。。。

メールボックス整理ツール

本サーバーでは個人の興味や勉強を兼ねてメールサーバーを運用している。昔はプロバイダメールはPOPで端末に落としてくるのが主流で、例えば家と職場、携帯電話で同じ受信メールを処理することが難しかったし、Exchangeを始めIMAPも使われ始めたが、サーバー負荷が高いため普通のプロバイダでは利用できない場合が殆どだった。今ならフリーのアカウントなどWEBメールを初めとして受信メールをサーバーを置くタイプが多くなってきた。

私が使用しているプロバイダメールも今はWEBメール対応でサーバーにメール本体を置くことが出来るが、やはりPOPがデフォルトのようだ。そこで、まだPOPしか使えない頃から、外部にサーバーを立ち上げて(一昔流行ったおうちサーバーや、現在の当方のような「さくらVPS」)プロバイダからのメール自動転送(昔はPOP)を受けてIMAPサービスを行っている。

サーバーの引越においてもメールデータの移行も必要であった。引越ついでにサーバー上のユーザーのメールボックス形式をmboxからIMAPとの親和性の高いMaildir形式に移行する。二つの形式には大きな違いがあり、

  • mboxのメールボックスは巨大な1ファイル、Maildirはメール1通1ファイル
  • mboxのメールボックスフォルダ階層はファイルシステムに準ずる、Maildirはフォルダの階層はピリオドで接続した構造で表現され、ファイルシステム的には一階層である
  • mboxの受信トレイは/var/spool階層のユーザー名ファイル、Maildirは各ユーザーディレクトリのMaildir直下に配信される
  • どちらも漢字フォルダ名はutf-7で、端末では普通読めない。

そのあたりの作業を簡単に行えるような行き当りばったりツールをまたpythonで作成した。pythonのmailboxライブラリを使用するとmbox形式やMaildir形式のメールボックスを操作することが出来、相互に移動したりフォルダに振り分けたり出来る。というライブラリお任せで作成したツール「mailboxutil」についてまた追々と解説・覚書きを投稿したいと思う。

このツールをつかってメールボックス移行を行ったのは実際には前のサーバーで約1年前CentOS6からCentOS8にOS変更した時でした。まぁ、話がややこしくなるので、今回やったことにさせてくださいw
ていうか、このタイミングでCentOSサポート終了のお知らせは正直凹みました。。。時間を返せーー!と。
(CentOS同士でもメジャーバージョンを一個飛ばしということもありアップグレードインストールは諦めて、バックアップ→新規インストール→データリストアをやっていたのでした。。。)

メールサーバー顛末(SMTP-Auth)

今回のメールサーバーの目的は、現在使っているプロバイダ系のEメールをプロバイダからPOPして保存、IMAPサーバーとしてクライアントに公開するという物で、PCとか携帯、タブレットどれからでもメールが読み書き出来るようななるというWEBメールに近い環境が実現できるという物です。家サーバーの時はfetchmailコマンドを使って、プロバイダからPOPで落として来たが、専用サーバーということで、プロバイダからメール転送をかけることにした。これによりタイムラグ無くメールを読むことが出来るようになった(fetchmailだとポーリング間隔だけタイムラグが出来てしまう)。

imap環境は家サーバーのubuntuの時と同様にpostfixとdovecotの設定のみ。旧メールフォルダを家サーバーからtarしてscpしてtarしてVPSに転送、ついでにバックアップ。こちらを参考に取得したSSL証明書などもバッチリ反映させておけばSSLでアクセス可能。

SMTPでメール送信機能を持たせるのは家サーバーではやっていなかった事なので、後回しにします(一発ぶっつけでうまく動かなかった)。

せっかくなので、Webmail機能を持たせようと、SquirrelMailを導入したが、うまく動かない。ubuntuの時は何の問題も無くあっさり動いた物だが、パスワード認証のあと「このページにアクセスするにはアカウントが必要です。」というエラーメッセージが、httpdのログには何も載っていなかったので、不思議と思いググってみた所、どうも /var/lib/php/session の書き込み権限がないとか、、、ああ、思い当たった!家サーバーの時と条件を合わせるため、apacheの実行ユーザーをデフォルトと変えていたのでした。ubuntu と CentOSでは実行ユーザーが異なるため、同じ設定ではアクセスが出来ないということ。ということで、該当ディレクトリの所有者を変更して、書き込み可能にすることで無事解決。

SMTP Authの設定は基本的にはimapの設定の時と同じページを参考に薦めればOKでした。最後の最後までうまく動かず悩ませた理由は単純なtypoでした。。。これは気をつけないといけない。

メールサーバーの機能はこれで必要な分一通り完了。メールアカウント一杯作れます。悪用禁止w

 

WordPress 移植メモ

サーバー移動にあたって、WEBデータの移動が大きな問題の一つでした。

家サーバーがubuntu8.10のまま長らく放置されていたのも、データベース移動がうまく行くかどうかに不安があったからだ、それに加えてPC自体の調子の悪さも相まって、「光学ドライブが動かない」「USBポートが不安定」などの理由でそのままにせざるを得なかったというのもありました。

今回の場合は、完全に引越であるので、失敗しても何度でもやり直せるということで、色々試してみた。

まず、WEBサーバーにインストールしたphpMyAdminを用いてバックアップ/リストアを行う方法。

全データを対象に行ったが、読み込みファイルサイズに制限があったので、あらかじめFTP転送しておいたバックアップファイルをリストアしようとしたが、rootですら書き込み権限が無いとかで失敗。どうもinformation_schemaというデータベースが問題であろうという所までは分かったが、放置。

mysqlのコマンドラインツールで全バックアップ/リストア

結局は上記理由で失敗。information_schemaは内部的な利用のための物で書き込むことは出来ないらしい・・・じゃなんでバックアップ/リストアの対象になっとんねん?って思ってしまうが、そういうわけで地味に最後の手段。

コマンドラインでちまちまデータベース一つずつバックアップ/リストア

結局はこれ。information_schema以外のデータベースをmysqldumpでちまちまバックアップ取って、リストア先で

mysql> create database wp-data default character set utf8

$ mysql  -u wpdata -p xxxx < backup.sql

でな感じであらかじめ(wpdata)というユーザー権限でデータベース(ここではwp-data)を作っておいて、バックアップデータである*sqlファイルを読み込みます。※ここのwpdataというユーザー名とwp-dataというデータベース名はバックアップ元に準じます。

あとは、htmlディレクトリを構造毎ファイル所有者に注意して複製して終わり。

ただ、この方法ではうまくいかず、ページのリンク関係がボロボロ。そりゃそうです。トップページのURLが変わったのだから、当然直リンしている所は破綻するわけで、ここを直さないといけない。幸いバックアップした*.sqlファイルはテキストなので、ここはsedを使って置き換えてしまいます。

$ sed -e ‘s/old url/new url/g’ backup.sql > backup1.sql

出来上がったデータで置き換えます(もちろんデータベースは一旦消して作り直します)。またコピーしたhtmlディレクトリの中にも旧URLを直接参照している所があるはずなので、これも出来る限り書き換えます。

grep ‘old url’ */* などして探して手動で書き換えられる程度の作業なので大したことはありませんでした。

これで、無事データ移植完了。

同じような感じで xoops も移植できました。

SSL認証どたばた

せっかく固定IPでドメイン取得したのだから、家サーバーの時のようなオレオレ認証のSSLじゃない方が良いなぁ。。。

ということで、ちゃんとしたSSL認証を目指す。さくらインターネットのレンタルサーバーには共用SSLという物があるのだか、専用サーバーの扱いになるVPSでは使えないようだ。かといってちゃんとしたSSLを導入しようとするとやたら高い

ということで キーワード「さくらVPS SSL証明書 無料」でgoogle検索w

で、この辺を参考に(ありがとうございます)StartSSLを導入。結構メンドイでした。

出来上がった

サーバーキー (server.key)とサーバー証明書(server.crt)をhttpd の/etc/httpd/conf.d/ssl.conf の該当箇所にコピー。

# service httpd restart

次にパスフレーズを埋め込んでhttpd起動を楽にします。

# openssl rsa -in server.key -out server.key

1年間有効だそうなので、また来年ドタバタしそう・・・。来年には、、、安くても有料系のSSLを使えるくらいになっていたら良いな・・・

新サーバーへの移行 さくらVPS

個人的にもいろいろあったような空白期間でしたが、久々に追加です。

いままで、自宅サーバーでの運用を続けてきましたが、さすがに10年選手のノートPCも寿命が近づいてきたようで、すさまじく調子が悪いということもあり、以前より検討していたレンタルサーバーへの移行を行いました。

レンタルサーバーといってもルート権限のあるもので、VPSという仮想マシンを使ったサービスです。物理マシンを複数人数で共有するとはいえ、ほとんど専用サーバーのような快適さで、レンタル料金は共有サーバーと同じくらいか、さらに安いくらいです。

さくらインターネット さくらVPS

先週木曜日あたりから試用期間で準備を始めて、メールサーバー、WEBサーバーを起動。そして、このwordpressのデータ移行を行ったところで一旦書き込みに至りました。

今回の移行により、ドメインが次のような変遷をたどり、、

marochanet.dyndns.org  (家サーバー ダイナミックDNS、有料化に伴い引き揚げ)

marochanet.mydns.jp   (家サーバーダイナミックDNS 唯一の無料jpドメイン まだ使えるかなw)

marochanet.org                    (固定IPに対し正式取得したドメイン JPは高いのでORGにしました)

上記のドメイン名で http://blog.marochanet.org/ が当ブログのアドレスとなります。

サーバー初期設定など

とりあえず、家サーバーでやっていた仕事を一通りさくらVPSにやらせることを目的にサーバー構築を進めます。

基本は公式っぽいさくらVPSマニュアルに沿って進めることにする。

  • rootパスワードの変更
  • yumアップデート
  • 日本語環境構築 (/etc/sysconfig/i18n      =>  LANG=ja_JP.UTF-8)
  • 作業用一般ユーザー作成。suグループに編入
  • 鍵認証。telnetとかは危険なので、基本SSHでホストログイン。
    鍵はPuTTYでの作成が例ですが、Linuxマシンのクライアントから入る場合は
    ssh-keygen -t rsa で出来上がります。id_rsa (private key ) id_rsa.pub (public key)
  • SSHポート変更 22番のままだと攻撃されちゃうので変更。
    /etc/ssh/sshd_conf
    あと必要な設定は、 PermitRootLogin no   としておくこと。
    さらに鍵持ってる人しか入れないようにするには  PasswordAuthentication no とすると完璧。
    ※ 上記設定は必ず鍵認証の確認を行ってからすること。でないと取り返しの付かないことになるかも・・・
    ※ VPSならVPSコンソールから入れば直せますがねw
    うちは家サーバーの頃から物騒なアクセスログを散々見ていますので、鍵付きでしか入れないようにしました。
  • 次にファイアーウォール。 /etc/sysconfig/iptables  の編集と service iptables restart コマンド
    これはこの先何度も設定し直すことになるので憶えておくこと。さくらVPSのデフォルトではiptablesファイルが無いようなので、手順書にあるテンプレートファイルを導入し編集。

ここまで来ると、もう普通に使えるようになってるので、その他のhttpd、メールサーバーなどの設定に進みます。

ドメイン取得 – marochanet.org —

さくらVPSの本契約(会員メニュー →「 契約サービス一覧・表示」で「本登録ボタン」をクリック)を行うと1~2時間程度で、クレジットカードでの支払いを確認したという旨のメールが届くので、その時点で無料体験期間の制限事項が撤廃されたと判断しても良いようです。

正式には数日後に届く住所確認ハガキにあるお知らせ番号を登録(会員メニュー→「契約サービス一覧・表示」にある)することで完了と考えられるけど、まぁ大丈夫って事でしょう。どっかにそんなこと書いてあったっけ?

ここで、晴れて本稼働ということで、ドメイン取得にかかる。このサービスでは無料で5ドメインまでDNS登録出来るということ、早速テキトウなドメインを登録してみるふむふむと説明を読みながら、ゾーンを設定。しばし待つ。

しかし、一向にpingが帰ってこない。。。。(そろそろ気付け)

ここで、落ち着いてもう一度サービス内容を読んでみる。

さくらのVPSご契約1件につき、さくらインターネットが提供するDNSサーバが利用できます。プランによって5ゾーンもしくは10ゾーンまで利用できます。ネームサーバサービスの登録申請および 設定について詳しくはサポートサイト「ネームサーバ利用申請方法」ページをご覧ください。

ということだwwwwwww。世の中そんなに甘くはないですね。DNS登録は無料でするけど、独自ドメインは各自で取得してねってこと。というおバカな勘違いで騒いで恥をかく前に自己完結できて良かった良かったw

で、独自ドメインの取得に入る。折角なので面倒の無さそうなさくらのサービスを利用することとする。

とりあえず、ということで、高価なjpとか属性付きドメイン(年間3800円~)は置いておいて、org系のドメイン(年間1800円)で、申し込み手順に従ってホイホイと登録。無事に、

marochanet.org

を取得! 😆

VPSの会員メニューに戻って、DNS登録。ゾーン編集でAネームCNAMEを登録して、サイト構成の枠組みを作る。ここでやっとpingが帰ってくるようになり。独自ドメインによる運用が出来るようになった。

つぎに逆引き登録であるが、これはさくらVPSのコントロールパネルで行うが、WWWのようなCNAMEのホスト名ではダメで、Aネームで登録された名前を使うことが重要らしい。

いままでダイナミックDNSばかり使ってきて、今回初めて正式なドメイン取得を行ったわけですが、気づかなかった点として、ドメイン取得とDNSによるIPアドレスとの紐付けが普通は別々な手続きであったこと、これが勘違いに繋がったんじゃないかなと思った。

じゃ、よく考えたら、正引きだけ考えれば、、、専用サーバの固定IPアドレスでもダイナミックDNSで登録しちゃえば無料でいくつでもドメイン持てちゃうんじゃね?って考えに及んでしまいますが、どうなんでしょうね~。手続き的には契約さえ守れば問題無いような気がするし、さくらのDNS使わなくても良いし、ワイルドカード対応のDDNS使えばゾーン編集しなくてもいいし。ということで、落ち着いたら、今あるMyDNSの設定をこのVPSに飛ばしてしまおうと思ったりします。cronで7日おきにログインすればいいだけですしね~。

さくらVPS計画開始

自宅サーバー(10年選手のPen4ノートPC)機の調子が悪くなってきたこともあり、レンタルサーバーの検討を行っていた。

自由度の高さで専用サーバーも視野に入れていたのだが、値段が高く勉強用という目的に対する費用対効果の面からも手を出しかねていたところ、VPSというレンタルサービスを知り、一気に導入へ向けて進むことにした。

VPSとはVirtual Private Server(仮想専用サーバー)の事で、一つの物理マシンを多数のクライアントで共有するという意味ではレンタルサーバーと同じであるが、それぞれが仮想マシンとして提供されるため、論理的には専用サーバーと同等と言える。ということでお値段は共用のレンタルサーバと同等で、専用マシンと同等のサービスが提供されているというわけだ。

さっそく、さくらインターネットサービスさくらVPSに申し込み、体験コースを開始する。

OS はCentOS6.4(Final) 手堅いサーバーOS。 「さくらのVPS(v3) 2G」をクレジット払いで登録すると

「お申込受付完了のお知らせ [*****]」  というメールが来る。 ここでしばらくするとコントロールパネルでOSか起動できるようになるがまだ慌てない。

30分ほどすると「[さくらのVPS] 仮登録完了のお知らせ」というメールが来て、IPアドレスと、rootのパスワードが届くので、ここでおもむろにOS起動。

OSはほぼ普通に使用可能な程度にインストールされている。デフォルトの仮想イメージをコピーして提供しているのだろうか。動作としては、仮想とは言え3コア分持ってることもあり、大変快適。10年以上前のPen4ノートを自宅サーバと使っているのとはエライ違い。

この速さなら問題ないということで、2週間の無料体験期間を待たずして、本契約に移行することにする。
(無料体験ではドメイン登録は出来ず、ポート25番も閉じた状態なので、サーバの設定が進まない)