Drowsy Dog's Diary

any note, any thought

2013年6月12日
by kazoo
0 comments

Redmineサーバの移行

ローカルの Ubuntu 12.04 + nginx + unicorn + mysql で運用していた Redmine を、
クラウドの Ubuntu 12.04 + apache2 + mysql 環境に移してくれというご依頼。

結論から言うと「Redmine の rails フォルダをまるっとコピー」で済ませたのですが。

その前にいろいろやってみたことメモ。
自分用。

Passenger

移行先はほぼクリーンだけど、すでに Apache + MySQL で社内ドキュメント Wiki みたいなのが動いていた。
ので、nginx 共存よりは Apache + Passenger がいいのかな、ということで。導入お勉強。

rbenv

いらんかもしれんけど、システムワイドな .rbenv を入れてみる。
参考:http://qiita.com/items/8e973a544b592376a07e

ここで dev は全員が所属しているグループ名。

各員、.bashrc などに以下を記述しておく。

ruby-build をインストール。

ruby1.93 をインストール。

OK.

apache2 + passenger

Apache2関連モジュールと Passenger のインストール。

このとき足りないパッケージがあれば passenger が教えてくれる。
apache2 の conf に書く内容も教えてくれる。

ということで、この3行を、
/etc/apache2/sites-available/redmine
としてコピー。

Redmine(略)

http://madroom-project.blogspot.jp/2012/12/ubuntu-1204redmine-220apache.html
Ubuntu + Apache + Passenger + Redmine は、ほぼこちらの内容で OK でした。感謝。

あとは database.yml と configuration.yml を現状に合わせて、とりあえず新環境での Redmine 稼働は OK。バージョンは 2.2.0。

データ移行

さて、MySQL データ移行。
DBよく知らないけどたぶん export して import すればいいんだろー、と思ってぐぐってやってみた。
http://fmkt.blog65.fc2.com/blog-entry-7.html
http://napzak.com/tips/?MySQL%E3%81%AE%E3%83%80%E3%83%B3%E3%83%97%EF%BC%88%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%EF%BC%89%E3%80%81%E3%82%A4%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88%E3%80%81%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97
mysqldumpを使う。ふむふむ。

旧サーバで、

引越し先で

結局

おお。あっさりコピーできた。。と、ぱっと見は思ったのだけど、いざ既存のチケットを操作しようとするとエラーが出たりして、不整合があるらしい。何度かやってみるも結局そこで時間切れ。

最終的には旧 Redmine の rails 環境をそのまま /usr/local/redmine-old に持って来て、

してしまいました。やや不完全燃焼。。。

2013年6月7日
by kazoo
0 comments

Ubuntu の resolveconf

先日のネットワークトラブル再発。
内部ネットワークで Redmine や Gitlab が走っているサーバに唐突に繋がらなくなった。

前回同様にローカルネットワークには ping 疎通するものの、外に出て行けない。
さらに前回と違って、$ nslookup yahoo.com もダメで、DNS も引けていない様子。
と、見ると /etc/resolve.conf が空っぽだった。

で、調べると、Ubuntu って起動時に resolve.conf を生成するのですね。その元ファイルは、
/etc/resolveconf/resolve.conf.d/base
に、

のように書いてやって(うちのネットワークの場合)

と、してやれば resolve.conf が更新されるらしい。

とりあえず直ったけど、根本原因を見つけんといかんなぁ。

参考:
http://blog.libero-tecnologia.net/?p=6

2013年5月23日
by kazoo
1 Comment

Ubuntu 唐突の Network Unreachable

1ヶ月のおひさしぶりになっちゃいました。の、わりにしょーもないメモ。

***

ローカルネットワーク内の Ubuntu12.04 で走っていた Gitlab (4.2+nginx) で、2ヶ月ほど運用したところで突然 Gitlab からのメールが飛ばなくなった。
→ SSH ログインは問題ない
→ /var/log/syslog に Network Unreachable 多数
→ 名前は引ける。$ nslookup yahoo.com はできるのに、$ ping yahoo.com デキナイ
→ なので内部ネットワークで Gitlab サービスはできてるんだけど、外部メールサーバと接続できてない
→ ローカルネットワークは疎通するが、ルータ外に出て行けない
→ ルーティング設定がおかしい?
→ デフォルトゲートウェイが引けてない?

…と、ここにいたるまでは実際こんなスムーズでなく、
ルータを疑ったり IP 重複を疑ったり火壁を疑ったりで、えらい時間食ってしまいました。

エンジニアの能力って「当たり」の付け方でわかるよね。。orz

***

で、結局のところ、直接の原因はわかってないのですが、
ずっと稼働していたサーバのデフォルトゲートウェイ設定がいつの間にか消えてしまったらしく、
route コマンドで確認すると、

ない。

Ubuntu の設定ファイルの在処がいまいちあやふやなのですが、ぐぐると
/etc/network/interfaces ちゃんと書けぃという情報があるので、

とか書いて、
$ sudo service networking restart
しても NIC にもルーティングにも反映されないのですね。うーん?

なので、同じく route コマンドで

してやって、解決しました。
いまいちしっくりこない神戸っ子のような気分だ。

で、これだけだと再起動時にまた設定を見失うらしいので、これを恒久化するには、
やはり /etc/network/interfaces に、

の一文を加えてやればよいようです。

参考:

http://www.asterisk-works.jp/wiki/index.php/%E3%83%AB%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E8%A8%AD%E5%AE%9A

2013年4月1日
by kazoo
0 comments

ローカルの Ubuntu12.04 から Amazon S3 へバックアップ

Déjà Dup を使うのが簡単

Déjà Dup は、コマンドラインのバックアップツール duplicity の簡易 GUI 版です。

SystemSettings

左下のやつ。
システムメニューになければ

してから、管理画面を立ち上げ。

また、デフォルトではバックアップ先として S3 が含まれていないので、
Python の AWS インターフェースである boto をインストールしておきます。

バックアップ設定

backup_003
Storage タブの Backup location の選択肢に Amazon S3 が出てきます。
ここに S3 のアクセスキー ID を入力しましょう。バックアップには AWS のアクセスキーとシークレットアクセスキーが必要になります。これらの情報は、AWS にログインして、右上の「アカウント/コンソール」から Security Credentials で確認できます。
また、バックアップ先のフォルダはここで指定できますが、Deja Dup が S3 で使う Bucket は、GUI からは指定できない模様。Bucket を変更するためには、少し古い情報(deja dup ver.19.0)ですが、このあたりが参考になります。

backup_001

次に、バックアップされるフォルダと無視するフォルダ種別を設定。
個人のバックアップだけならデフォルトのままで良いかと思います。ここでは全員分の /home と、システムワイドな設定を含めて /etc と /var もバックアップすることにします。

Schedule タブでバックアップ間隔や期間を設定したら、Overview タブに戻って、とりあえず “Back Up Now”してみます。

backup_002

すると、AWS のアクセスキーとシークレットアクセスキーを聞かれるので、双方を入力。
さらに暗号化する場合のパスワードなど設定し、問題なければバックアップが始まります。
2回目からは差分バックアップになる模様。

レストア

レストアはちゃんと試していないので未確認ですが、同様に GUI ツールから “Restore…”ボタンでレストアするバックアップ元と日時など指定してレストア。このとき注意するのは、そのファイルに対して書き込み権限が無ければレストアに失敗する、ということです。自分の home だけならいいけど /etc などは一般ユーザではレストア不可(上書きするので当然ですが)。
なので、sudo が使えるならコマンドラインから、

するか、

して、root 権限で GUI を立ち上げてあげれば良さそうです。