ここはちょっと見せられない

ぜったいぜったい見せられない

サーバを移転するのに、sakura のクラウドのDNSを使った話

同じホスティング内で新しいプランに移動することにしたのだけど、メール運用があったのでTTLを短くしたかったんですよ。でも、そのホスティングはゾーン情報は触れないし、TTLも短くしてくれなさそう(そういや聞いてないわ)だったので、TTL短くするためだけに一旦借り置き用のゾーンをsakuraで設定して新しいサーバに移すことにした。

(追記:ちなみに大塚商会さんだとゾーンも触れてTTLも変更できるよ)

ホスティングにゾーン情報ちょうだいって言ったら気持ちよくもらえた上に、外部のDNSの場合はこれこれこうしてくださいね、という指示ももらえたよ。ありがとうありがとう。

で、sakuraのクラウドに、グローバルんところからDNSを契約する。月額43円。 43円だよ。なんだこの金額。やっす!ありがとうsakura!

んで、ゾーン設定を抜かり無く設定して、ドメイン名のNSレコードを

 ns1.gslb2.sakura.ne.jp  ns2.gslb2.sakura.ne.jp

に変更。これを数日前にやっておく。 当然古い方のゾーンを仕込んでおく。 TTLは短くしておいて。

そんで、移行当日に変えるよーという宣言をしてから、ゾーンを新しいサーバに変更する。 全員にメールボックスからメールを受信しておいてもらう。 TTLは短くしていたからな。まあちょっと時間を置いてから、送受信サーバを新しい方に変えてもらう。

同時進行でホスティング側のゾーン情報を新しい方のサーバに移行する手続きをしておく。

問題なく新しいサーバでメールを受け取れれば、お客さんの移行は完了である。あっけない。

後始末として、しばらくしてからNSレコードをホスティングのものに戻して、sakuraのDNSを解約すればOK。

sakuraのNSは TTLが 259200 なので、消すのは3日以上後にすると良さそう。

もっとわかりやすくかけって?

めんどくせーよ。

あれですね、自前でDNSサーバ立てるのは無理ゲーだけど、こんだけ簡単にゾーン設定させてもらえるんだから、移転する時くらい使うべきですね。所詮レンサバなんてそもそも外部名使ってるんだし。

CPI ACE01 でサーバ移行(ACE01旧からACE01新へ)したらデータベース接続ができなかった話とレンタルサーバの未来

理由は単純。php.ini に

mysqli.default_port = 3307

って書かれていたから。 なんでそうなっていたかというと。

CPIでは、サーバの契約時期によって、MySQLが5.5と5.6が2つ入っているサーバがあるんだね。この時のサーバは5.5が3306、5.6が3307のポートに割り当てられていた。 今は新サーバでは5.5は提供されてなくて、5.6で3306ポート(つまりデフォルト)が割り当てられている。

で、今回そんなことすっかり忘れていたので、移行しようとしてしばらく悩んでしまったわけです。単純な事ほど気が付きにくいですね。

基本的には、契約時のサーバは契約解除するまで設定そのままっぽいねん。セキュリティ更新はしてるみたいだけどもさ。 ※CPIだけじゃないです。他んところもです。プラン名を変えてくれるところもあって、このプランは廃版です、みたいにしてれるとまだわかりやすいんだけどね。

レンサバって、同じホスティングであっても、定期的にプラン変更していかないと、サポートが切れたミドルウェアを使い続ける事になるんですよ。(RHみたく公式が切っても別でサポートし続けるってところもあるけどさ)

コンパネからはあんまりわかんないかもだけど、未だにPHP5.1とか5.3とかMySQL5.0とか入ってるサーバが10年以上も使い続けられていたりするんだよね。

保守してって言われて見てみたら、PHP7ないとかさ。

いやはやもう人外魔境なわけですよ。 でも、移行しようと思ったら手間だしやりたくないわけですよ。特にメールサーバ運用とかしてると。

メールボックスを別で管理してるホスティングとかだと楽なんだけど、あんまり多くないかな。

ホスティング側も苦慮してるっぽい感じの話は聞いたんだけど、まだまだぎょうさんあるんっすわ。ふるーいのが。

情報モラルの講演には「聞いてほしい人が来てくれない問題」ってのがあるんだけど、ホスティングもそうだよね。ずーっとお金払い続けてくれてるいいお客さんなんだと思うんだけどね。

どうすんのまじで。

oheso-version-report を公開できました。

ずっと保守するのに、こういうのがあればいいのに!って思っていたものをぼちぼち作ってたんですが、公式ディレクトリにいれてもらいました。

wordpress.org

-- やっていること

単純です。チェックボタン押したら、プラグインやテーマなどの更新について、バージョン情報を表示します。 公式ディレクトリも見に行って、最終更新日を確認し、更新から何日経過しているかを表示します。 一番欲しかったのは、ここに「Not Found」と出るプラグインです。

更新されるプラグインは良いんだけど、見捨てられたプラグインを一々調べるのだるいんですよ。で、ここで調べて、公式ディレクトリのページにリンクを貼っています。 古いプラグインは、ページを見に行けば「 no longer available」と書かれていますから、内容に応じて利用をやめようという算段です。

自作とかで公式に登録していなければ、当然「Not Found」と出ますので、そこは自分でチェックしてください。

自分が便利に使いたかったので作りましたが、他にこんなん欲しい人いるんかな。 まあ使ってみてください。

Version Report Plugin を公式に申請してみた

勢いでプラグイン申請したので、あとから直したいとことか出てきてるところ。

github.com

受理されるといいなあ。

ところで似たようなプラグインがあったのだけれども。 wordpress.org

no-longer が no-longer となっていて何がなんだかという感じになっていた。なんだかな。

reCAPTCHA v3 を ContactForm7 で設定すると全ページにreCAPTCHA用のscriptが出力される

v3になって、クリック認証が不要になったんだけど、右下にマークが出るようになった。これが全ページに表示されてしまうので、とりあえずなんとかしてみた。

公式には↓こう書いてあったのだけど、reCAPTCHA v3のscriptは別扱いっぽい。これを設定しても出力されてしまう。(そのうち修正されるかなあ? とりあえず報告とかしてない)

必要な場合だけ JavaScript とスタイルシートをロードさせるには | Contact Form 7 [日本語]

幸い(?)扱っていたサイトでは

remove_action('wp_head', 'wp_enqueue_scripts');

なんてことをしていて、script読み込みを抑制していたので、都合よく使ってみる。

function wpcf7_file_control()
{
    global $post;
    if( ! has_shortcode( $post->post_content, 'contact-form-7') ){
      remove_action('wp_head', 'wp_enqueue_scripts', 1); 
    }   
}
add_action("template_redirect", "wpcf7_file_control");

これで、CF7のショートコードを入れているページにのみ、scriptを出力する。

場当たり的な対応で、たまたま設定上できたって内容なので推奨はできないね。

ドメイン名とアカウントと名義変更あるいはユーザー間移動

とあるドメイン名で、レジストラの契約ごと引き渡してほしい、という要望があったのだけれども、そういうの利用規約上、というかシステム上禁止になっているところもあって、レジストラによって様々だということがわかったので、メモ的に残しておく。

本当は先方に新たにアカウントを作ってもらって移管手続きを踏んで欲しかったのだけれども、お名前にホスティング契約があり、そこにドメイン名もまとめて欲しいという事になった。 最初は支払い履歴なども残っているため、お断りしたんだけれども、ホスティングと同じ契約にしたいというので(ホスティングも新たに契約しなおしたほうが良いに決まっているのだけど)お名前にどう相談したのか、管理画面で登録者の名前変更をおすすめされたとの事で、従う事になった。俺シラネ。

(途中注) ホスティングは契約時のプランよってはミドルウェアのupgradeが行われないので、PHPが5.3とかで止まってたりする。新たに契約すればその時の最新サービスになるので、ホスティングは定期的に乗り換えて行くのが吉。ホスティングサービス側が新プランを用意してくれることもあるし、同じプラン使い続けつつ管理画面での任意切り替えによって対応してくれるところもある。古いCPIのプランとか見たら私は涙がちょちょ切れるぞ。もう今時SSHできないサーバとか無くして頂きたい。

お名前からオススメされたからには、もう何もよう言わんので、登録情報全部書き換えて、決済情報も抹消して引き渡した。サービス提供者側からの提案によりユーザー双方の承諾の元に進めたので、まあ問題はないと思うけど、危うい引き渡し方だと思うのは私だけかな。

ValueDomain とかだと、ユーザー同士でドメイン名を移動できる。引き渡し先のユーザーを入力してボタンを押せばいいだけになっている。支払いとか移管とかしなくても良い。なんだこの簡単さ。いいのかこれで?って最初は思ったけど。

でも、今回の引き渡し方に比べたら合理的だよな、と思い直した。

まあドメイン名の徒然話として。