自宅ネットワークのダイナミックDNS設定

投稿日: Leave a comment

ここ

自宅サーバのIPv4アドレスはYamahaのネットボランチDNSサービスで使っているホスト名にCNAMEを向けて、IPv6アドレスはプロバイダから(半)固定で割当たっているアドレスをそのままAAAAにのせるつもり。

と書いてたけど、さくらインターネットのコントロールパネルから同じホスト名にCNAMEとAAAAを設定できない(AとAAAAは設定できる) ようで、仕方ないので MyDNS.jp の適当なホスト名に動的IPのAレコード、固定IPのAAAAレコードを設定して、rose.everblooming.netのCNAMEをMyDNS.jpのホストに設定した。

ここには結果は書かないけど、

> dig rose.everblooming.net a
> dig rose.everblooming.net aaaa

などとすればどんな感じになっているかわかるはず。

IPv4の動的IPアドレスはこんな感じのスクリプトをcronで4時間おきくらい(←適当)に回して更新する。IPv6は匿名アドレスを使っているので固定設定。source IPの設定が出来ればIPv6も動的IPにしたいところだけど、よくわからないのでまた今度。

# cat /usr/local/etc/update_mydnsjp.sh
#!/bin/sh

id=mydnsxxxxxx
pw=xxxxxxxxxxx

host=ipv4.mydns.jp
opt="-4 -q"

/usr/bin/fetch ${opt} ftp://${id}:${pw}@${host}/ > /dev/null 2>&1

一応、バックアップでネットボランチDNSの方にも登録。

日記の引越し完了

投稿日: Leave a comment

日記の引越しが完了しました。

旧URLへアクセスすると自動的に転送するようにしているので、ブックマークなりお気に入りに入れている人は、転送後のページ

https://snapshot.everblooming.net/

に変更してくださいな。

参考までに引越し手順。ここを参考にDBごと移しました。

(1) データベースをエクスポートしてPCに保存

さくらインターネット サーバーコントロールからphpMyAdminに入り、wordpressで使用しているデータベースを全選択→エクスポートを実行。

すると、PC上にデータベースファイルがダウンロードでされる。

(2) 新規データベースを作成

phpMyAdminでは新規作成ができないようになっているため、さくらインターネット サーバーコントロールで新規データベースを作成。データベースサーバとユーザー名・パスワードを記録しておく。

(3) サーバにSSHログインして、wordpressをお引越し

基本はディレクトリ丸ごとコピー。そのあと、wp-config.phpを編集してデータベースサーバの設定を新しいデータベースサーバのものに変更。

% tar cf - ./ | ( cd ../snapshot.everblooming.net/ && tar xvf - )

(4) wordpressのインストールとDBの初期設定

一度 https://snapshot.everblooming.net/ にアクセスしてwordpressのインストールとDBの初期設定を実行

初期設定といっても、次の手順で全部消すので何もしなくてもいいかも。

そもそもこのステップは不要だったりもするかも。

(5) データベースのリプレイス

再びphpMyAdminに入り、(4)でできたデータベースを一度全部削除して、(1)でエクスポートしたデータベースファイルをインポート。

(6) 最終確認

新サイトにアクセスしてデータが復元されていることを確認

これで一応日記としては移動完了だけど、コンテンツに書かれたリンクは旧アドレスのままだったりする。旧アドレスへのアクセスを自動転送しておけば問題ないけど気持ちが悪いので、投稿一覧で旧アドレスを検索して一つ一つ書き換えた。全部で70件くらいあった。

サイトの転送設定

投稿日: Leave a comment

wordpressの引越し(ドメイン変更)について調べていたらapacheのmod_aliasモジュールの機能で転送設定ができることが判明。

設定はいたって簡単。.htaccessに次の1行を書くだけ。

Redirect permanent /snapshots https://snapshot.everblooming.net/

これで旧アドレス、しかも /snapshots/xxx のxxxの部分も考慮して https://snapshot.everblooming.net/xxx に転送するようになる。

昔、別のサーバで日記を引っ越したときにこれと全く同じことをjavascriptで長々と書いてたのを思い出した。ちゃんと調べればおけばと今更ながらに思う。

ドメインを取得

投稿日: Leave a comment

前々からドメインをとりたいと思っていたけど、なかなかいい名前が思いつかずとれていなかったが、思いついたので昨日申請をした。

というわけで、この日記のアドレスが変更になりますが、wordpressでアドレスでドメインを変更する方法がすぐにわからず、追々作業します。

DBサーバは別になっているので、wordpress本体の方をそのまま移行すればいいはずではあるのだけど、いまいちやり方がわからず。

この辺を見るとダッシュボードでアドレス設定を変更してから、サーバ上でフォルダを移動すればさくっと変更できるようには書いてあるけど、自信がないのでバックアップを取りつつ作業する予定。はまってもここを見る限りは何とかなりそうには思えるけど。

ちなみに、新ドメインはレンタルサーバと自宅サーバで使う予定。今は自宅サーバはドメインなしで動いていて、ドメインありのFQDNがないと動かないデーモンがあったりと何かと面倒なので、何とかしたいと思っていた。

自宅サーバのIPv4アドレスはYamahaのネットボランチDNSサービスで使っているホスト名にCNAMEを向けて、IPv6アドレスはプロバイダから(半)固定で割当たっているアドレスをそのままAAAAにのせるつもり。

レンタルサーバの方は、IPv4は自動で設定してくれて、IPv6はここを見ると借りてるサーバはIPv6に対応してないみたいなので、しばらくはIPv4 only。順次IPv6に対応すると書いてあるのでそのうちAAAAを名乗るようになると思う。

emacs24のpackage管理

投稿日: Leave a comment

先日C++のコードを書こうとしたときに、自宅PCにまともなエディタを入れていなかったことを思い出して、Emacs24.2とgvimを入れた。最近コードを書くときはもっぱらgvimだけど、たまにemacsも使いたくなる。

で、windows用のemacsは今まで自前でコンパイルしていたけど、ライブラリの準備が面倒なので先人がコンパイルしたものを使ってみた。使ったのはここemacs-24.2-20120922.exe

ついでに、emacs24で使えるようになったといわれているパッケージ管理システムも使えるようにしてみた。

(1) ~/.emacs.d/init.el にこれを書く。

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)

(2) Emacsを立ち上げて M-x package-list-packages を実行する

すると、こんな画面になる。

ここで、

  • “i”で、インストールしたいパッケージにマーク
  • “d”で、アンインストールしたいパッケージにマーク
  • “r”で、リストを更新
  • “x”で、インストール/アンインストールを実行

インストールした後は、init.elファイルを特にいじらなくてもインストールしたパッケージが有効になる模様。

MinGW gcc 32bit/64bit

投稿日: Leave a comment

mingw gccの64ビット環境を構築しようと思っていろいろ探し回ってみたけどよくわからず。

とりあえず、ここからファイルを展開してみたらmingw32とmingw64というフォルダが出来たので定位置においてパスを通せば大丈夫そう。

  • i686-w64-mingw32-gcc-4.7.2-release-win64_rubenvb.7z (32bit target)
  • x86_64-w64-mingw32-gcc-4.7.2-release-win64_rubenvb.7z (64bit target)

ファイル名がよくわからなかったけど、ここの下の方を見るとどちらも64ビットOS上で動作するコンパイラで、上が32ビットバイナリを作ってくれるコンパイラ、下が64ビットのバイナリを作ってくれるコンパイラ、らしい。

Packages are named as follows:

    [Target]-gcc-[Version]-release-[OS]-rubenvb.*
    [Target]-clang-[Version]-release-[OS]-rubenvb.*

Target:  GCC triplet for the system this toolchain builds code for:
         x86_64-w64-mingw32: 64-bit Windows
         i686-w64-mingw32: 32-bit Windows
Version: GCC version
OS:      OS the toolchain is built for:
         linux64: 64-bit linux
         win64: 64-bit Windows
         win32: 32-bit Windows (also work on 64-bit Windows)
         cygwin: Cygwin (www.cygwin.com)

今日のところはこれまで。おいおい使ってみる。

上のファイル名の解説に出てくるけど、最近はgccよりclangの方に興味あり。FreeBSDのシステムコンパイラがclangになるらしいし、コンパイルエラーの表示も見やすいし。

バラの到着予定日→2012/12/6

投稿日: Leave a comment

注文したバラは12月5日(水)発送で、到着予定日は12月6日(木)だそうな。

ところで、土のついていない裸苗はどれくらい保存できるんだろうか。

前に買ったところと同じ店に注文したけど、前回のときはかなり丁寧な説明書がついていたからそれを見れば植え付けのタイミングとかも書いてるかな。

『リーダブルコード』

投稿日: Leave a comment

こんな本を買ってみた。

周りにプログラムを書く人がおらず、自分が書いたコードを見つめなおすために買ってみた。

まだ読んでる途中だけど、いろいろな言語を例に書かれていて結構参考になる、というか反省させられることが多い。コンピュータ言語の入門書はいくつか買って読んだことがあるけど、この手の本は初めて買ったかも。

ちなみに、本のリンクを張るのにアマゾンから写真を引っ張ってきたくて、アマゾンアソシエイトの登録をしてみた。この日記のアクセス数なんてたかが知れてるので、アフィリエイトとしての効果はほとんど期待してない。効果があればそれはそれでうれしいけど。