Hatena::Groupcatalyst

dann@catalyst このページをアンテナに追加 RSSフィード

2008-02-11

自宅鯖管理者の憂鬱

23:34 |  自宅鯖管理者の憂鬱 - dann@catalyst を含むブックマーク はてなブックマーク -  自宅鯖管理者の憂鬱 - dann@catalyst  自宅鯖管理者の憂鬱 - dann@catalyst のブックマークコメント

自宅鯖->さくらインターネット->自宅鯖 と、結局自宅鯖に戻ってきた今日この頃。自宅鯖が煩いからレンタルに変えたのだけれど、何とか音が気にならない環境を確保できたので戻ってきた。Catalystで遊ぶには、さくらインターネットのレンタルだと殆ど遊べなかったので、これでぼちぼち楽しめそう。実際、電気代もサーバー1台あたり月1000円程度だから、レンタル鯖の制約の中でやるよりはよっぽどいい。

自宅鯖に戻ったこともあって、ルータを家庭用(BA8000Pro)をやめて、IX2015っていう小規模拠点用の業務用ルータにしてみた。自宅鯖@2chでは、ぼちぼち評判はいい。1日100万Hit程度は捌けるとか。設定は、殆どCatalyst互換のインターフェースでできる。これで少しくらいアクセスあったって、まぁ落ちないはず。といっても、今は落ちることを心配するようなアクセスはないんだけれど...

サーバーは、SC440を1台。一応、もう一台予備を買ったんだけれど、電気代がかかるからサーバーとしては使ってない。Xen環境作るために使おうかなと考え中。

Catalyst遊び用の環境のTODOとしては、

  • 固定IPの取得?(まぁ、無くてもいいんだけど)
    • Dynamic DNSで運用しているのだけれど、やっぱり固定IPを取ろうかなぁと。
  • Xenでの自動VMデプロイメント
    • 遊ぶサーバー作るために、環境作りたいなぁと。
  • NFSでマウントできるNASの購入(ReadyNASとか?)
    • なんかまだ結構高くて、買う気がしない。サーバー立てるのは電気代が高そうでやる気がしない。今年は一段と大容量HDDの価格が下がりそうだから、いいのがあったら買いたいんだけどなぁ。

なんだか、週末2-3時間はいつも環境構築しているような。。環境作りはそろそろ止めて、アプリケーション作りに戻ろうかな。

メンテナンス画面

23:35 |  メンテナンス画面 - dann@catalyst を含むブックマーク はてなブックマーク -  メンテナンス画面 - dann@catalyst  メンテナンス画面 - dann@catalyst のブックマークコメント

Rails風に、cap deploy:web:disableでメンテナンス画面、cap depoy:web:enableでアプリケーションの画面に切り替わるようにしてみた。dann-catastarterに組み込み済み。

後は

  • Deployしたものの取り消し機能(アプリケーションのRollback、Apacheのファイルの削除。enabledからシンボリックリンク削除程度でいいいかも。)
  • ステージングサーバーへのDeploy
  • railsのmigrate

段々、TODOが減ってきた。個人用とでは、Deployしたものを削除できるようになれば、十分実用で使えそうな気はする。

Catalystアプリのアジャイル公開

17:02 |  Catalystアプリのアジャイル公開 - dann@catalyst を含むブックマーク はてなブックマーク -  Catalystアプリのアジャイル公開 - dann@catalyst  Catalystアプリのアジャイル公開 - dann@catalyst のブックマークコメント

公開するまでは、最低限以下のステップが必要です。結構やること多いですね。10分で掲示板を作れても、公開しようとすると結構時間がかかります。

  • Catalystプロジェクト作成
  • Subversionレポジトリに取り込む
  • 不必要なファイルを削る
  • DBにユーザーとデータベースを作る
  • DBにテーブルを作る
  • ドメイン決定
  • アプリケーションサーバーの設定
  • リバースプロキシサーバーの設定
  • DBサーバーの設定
  • Capistranoでデプロイ

そこで、自動化してみることにしました。

  • Catalystプロジェクト作成(catgen.sh)
  • Subversionレポジトリに取り込む(catgen.sh)
  • 不必要なファイルを削る(catgen.sh)
  • SVKでミラー(catgen.sh)
  • DBにユーザーとデータベースを作る(cap deploy:setup)
  • DBにテーブルを作る
  • ドメイン決定
  • アプリケーションサーバーの設定(cap deploy:setup)
  • リバースプロキシサーバーの設定(cap deploy:setup)
  • DBサーバーの設定(cap deploy:setup)
  • Capistranoでデプロイ(cap deploy)

以下で、上記プロセスが殆ど自動化できるようになりました。

% catgen.sh プロジェクト名
% vim config/deploy.rb (ドメイン決定、DBのユーザーのパスワード決定)
% cap deploy:setup
% vim config/sql/schema.sql
% cap deploy:create_table 
% cap deploy

規約

規約は以下のように決めています。

  • Subversionレポジトリ
  • SVK
    • ミラー: //mirror/プロジェクト名
    • ローカル: //プロジェクト名
  • ドメイン名
    • subdomain.domain
  • ファイルの配置
    • /u/apps/<domain>/<subdomain>/プロジェクト名
  • mod_proxy_balancer
    • balancer名: プロジェクト名
  • DB
    • ユーザー名 : プロジェクト名のlowercase
    • DB名: プロジェクト名のlowercase

ダウンロード

上記自動deploymentスクリプトなどを含むcatastarterは、CodeReposに置いてあります。catgen.shは、先日のエントリに。

構成が、mod_proxy_balancer + mod_perlUbuntu(or Debian)でないと使えず、かなり環境に依存した構成になってますが、これでさくさく開発とDeployができるようになりました。

TODO

  • アプリケーションサーバーのportの自動割当
  • staging serverへのDeploy
  • catastarterから分離?
    • starterで無理にやってる感は否めないので、テンプレートを切り離そうかなと。

RangleRangle2011/12/27 22:45That's going to make things a lot eisaer from here on out.

dblujrfxgldblujrfxgl2011/12/28 19:08bHAl0W <a href="http://lenyutschvoc.com/">lenyutschvoc</a>

ajuwyiiayajuwyiiay2011/12/29 19:149kHh8q <a href="http://bmchbnzmmakk.com/">bmchbnzmmakk</a>

seateyjmbseateyjmb2011/12/29 23:27ebWJjE , [url=http://olhqyzchfash.com/]olhqyzchfash[/url], [link=http://gfwlkfwnypas.com/]gfwlkfwnypas[/link], http://rwrabchbieeo.com/

トラックバック - http://catalyst.g.hatena.ne.jp/dann/20080211