ホーム > アーカイブ > 2011-01
2011-01
月額1,980円以下の仮想専用サーバ、国内外10サービスまとめ
- 2011年1月28日 10:00 AM
- Linux

前回の記事は読んでいただけましたか?
ガセビア共有サイトgasevistをリリース出来たのも、インフラが安くなったおかげです。
国内ではさくらサーバを初めとして、格安の仮想専用サーバがリリースされています。
そこで、今日は格安の仮想専用サーバについてまとめます。
さくらのVPS
まずは国内から。
言わずと知れた、さくらインターネットが手がけるVPSです。
| 最低利用 | 950円 |
| 仮想化ソフトウェア | KVM |
| メモリ | 512M |
| 選択可能OS |
CentOS 5.5 (初期インストール) Ubuntu 10.04 FreeBSD 8.1 Debian 5.05 Fedora 13 |
| 参考リンク |
【レビュー】月額980円、さくらのVPSは使えるか!? さくらVPSで一日6万PVを処理するためにしたこと |
やはり、私もここが一番気に入っています。
さくらインターネットだけあって、とても安定しています。
管理機能が豊富ではありませんが、その分シンプルです。
小さなウェブ・サービスを立ち上げるのであれば、さくらのVPSで決まりでしょう。
ServersMan VPS
国内最安のVPSでしょうか。
フリービットの子会社DTIが手がけるVPSです。
| 最低利用 | 490円 |
| 仮想化ソフトウェア | OpenVZ |
| メモリ | 512M |
| 選択可能OS |
CentOS 5.4 Ubuntu 10.04 Debian Lenny |
| 参考リンク |
月額490円で使える仮想サーバー「ServersMan@VPS」が実現できた訳 静的コンテンツ配るなら国内VPSも活用すべきたった一つの理由 |
価格は恐ろしく安いです。
さくらのレンタルサーバよりも安く、仮想専用サーバが手に入ります。
難点は、その安定性と管理画面の使い勝手の悪さです。
以前はサーバを複数台用意するために、メールアドレスをその台数分用意する必要がありました。
(現在はわかりません。知っている方がいれば教えてください。)
ただし、機能追加は積極的に行われています。
その点に関しては応援できるので、今後に期待でしょうか。
私は、本番環境にServersMan VPSは選べません。
自分専用のファイル共有サーバやブログ程度であれば、問題ないでしょう。
KAGOYA VPS
現在はベータ中で、誰でも自由に利用出来る訳ではありません。
しかし、リリース後はさくらのVPSと同価格帯になる予定です。
| 最低利用 | 945円 |
| 仮想化ソフトウェア | Open VZ |
| メモリ | 512M |
| 選択可能OS |
CentOS 5.5 Debian Lenny Ubuntu 10.04 |
| 参考リンク | KAGOYA VPSを試してみる |
ここは使ったことがないので、コメント出来ません。
もし、4次ベータがある場合は、申し込んでみると良いでしょう。
ユニットホスティング
今まで紹介したのは全て、単なるVPSでした。
ユニットホスティングは少し毛色が違います。
月額1,980円で利用できますが、プランの形態としてはAmazon EC2に近いです。
| 最低利用 | 1980円 |
| 仮想化ソフトウェア | Xen |
| メモリ | 256M |
| 選択可能OS | CentOS 5 |
| 参考リンク |
UnitHostingの評判(良いのも悪いのも) ユニットホスティングではじめるクラウド |
ここも、私は使ったことがありません。
しかし、期待できるサービスの一つです。
何もしなければ、月額1,980円で利用できます。
アクセス増加に対応する場合は、
- メモリ 256MB: 1.5円/h
- CPU 1コア: 2円/h
- HDD 1G: 0.1円/h
でサーバをスケールアップ可能です。
このように、従量課金で一定期間だけスケールアップできるのは、単なるVPSにない魅力です。
Linode
ここからが海外サーバです。まずは、有名なLinode。
さくらのVPSが出る前は、ここをメインで使っていた方も多いはず。
| 最低利用 | 19.95ドル |
| 仮想化ソフトウェア | Xen |
| メモリ | 512M |
| 選択可能OS |
Arch Linux 2010.05 CentOS 5.5 Debian 5.0 Fedora 14 Slackware 13.1 Ubuntu 10.04 LTS Ubuntu 10.10 OpenSUSE 11.0 Gentoo 2008.0 Debian 4.0 Fedora 13 Slackware 12.2 Ubuntu 9.10 Ubuntu 8.04 LTS Ubuntu 8.10 Ubuntu 9.04 |
| 参考リンク |
海外VPSサーバ Linodeを借りてみた 【画像満載レビュー】 海外で人気のXenベースのVPS、『Linode』を使ってみたよ |
さくらのVPSに比べると、安定性は少し劣ります。
しかし、十分お勧め出来るサービスです。
簡単な監視機能や、インストール時に選択できるOSの数が魅力です。
また、さくらのVPSと違い、DNSが無料で使用できます。
管理機能が充実しているのが良いですね。
海外で簡単なウェブ・サービスを立ち上げるとしたら、間違いなくLinodeでしょう。
Slicehost
Linodeと一緒に良く取り上げられるのが、Slicehostです。
ターゲットとしている客層がLinodeと近く、価格と機能も似通っています。
| 最低利用 | 20ドル |
| 仮想化ソフトウェア | Xen |
| メモリ | 256M |
| 選択可能OS |
Ubuntu 10.10 Ubuntu 10.04 LTS Ubuntu 9.10 Ubuntu 8.04.2 LTS Debian 5.0 Gentoo 10.1 Centos 5.5 Centos 5.4 Fedora 14 Fedora 13 Fedora 12 Arch 2010.05 Red Hat EL 5.4 Red Hat EL 5.3 |
| 参考リンク |
Linode vs. Slicehost Review ホスティングサービス Slicehost のドキュメントがすばらしい |
ここも、私は使用したことがありません。
日本での実績がそこそこあるようで、検索すると情報が見つかります。
なかなか、安定もしていて、ドキュメントも充実しているようです。
ただ、Linodeと比べてちょっとだけコストパフォーマンスが悪いですね。
Amazon EC2 Micro Instance
このプランが出るまで、Amazon EC2は月額7,000円程度でした。
従量課金制のため、一定額では利用できません。
しかし、月額1,300円程度で運用出来るようです。
| 最低利用 | 16.4ドル (トラフィックの従量課金を除く) |
| 仮想化ソフトウェア | Xen |
| メモリ | 613M |
| 選択可能OS |
Red Hat Enterprise Linux Windows Server 2003/2008 Oracle Enterprise Linux OpenSolaris openSUSE Ubuntu Fedora Gentoo Debian など多数 |
| 参考リンク |
Amazonクラウドから「1円クラウド」(自称)登場。Amazonクラウドの値下げが続く Amazon EC2の無料ティアを試す |
言わずと知れたクラウドサービスの先駆けAmazon EC2です。
SLA(Service Label Agreement)で99.5%の稼働率を保証しているので、恐らく安定性は問題ないでしょう。
気になるのはトラフィックの重量課金でしょうか。
1GB当たり、$0.15掛かります。
この従量課金と、インスタンスの性質だけ把握しておけば、サーバ選択の候補に入ります。
Rackspace
Amazon EC2と同じIaas型のサービスです。
Amazon EC2と違うのは、価格帯とその拡張性です。
先に紹介したSlicehostと同じ会社が運営しています。
| 最低利用 | 10.95ドル (トラフィックの従量課金を除く) |
| 仮想化ソフトウェア | Xen |
| メモリ | 256M |
| 選択可能OS |
Ubuntu Debian Gentoo CentOS Fedora Arch Red Hat Enterprise Linux Windows Server 2008 Windows Server 2003 |
| 参考リンク |
Rackspace Cloud ServersがAmazon EC2よりも優れている点 Rackspace Cloud Servers versus Amazon EC2: Performance Analysis |
Amazon EC2と比べて、Rackspaceはスケールアップが容易なようです。
多少のダウンタイムだけで、ウェブ上の管理画面からスケールアップが出来るようです。
Amazon EC2と同じく、トラフィックが従量課金制です。
VPS.NET
Amazon EC2やRackspaceとVPSの中間のサービスです。
Node単位でVPSを借りることが出来ます。
スペックを上げたい場合は、Daily Nodesを1日単位で買います。
こうして買ったDaily Nodesを運用しているVPS Nodesにセットして、再起動するとスペックが上がります。
| 最低利用 | 20ドル |
| 仮想化ソフトウェア | Xen |
| メモリ | 376M |
| 選択可能OS |
Ubuntu 8.04 Ubuntu 10.04 Debian 5.0 CentOS 5.4 CentOS 5.5 Gentoo 10.1 Windows Server 2008 Enterprise Windows 2003 R2 Standard |
| 参考リンク |
VPS.net 8 Month Review VPS.net Review |
ユニットホスティングと似たサービスですね。
異なるのは、リソースが細かく指定出来ない点でしょうか。
しかし、シンプルでわかりやすく、良いサービスだと思います。
いかがですか。
お気に入りの仮想専用サーバは見つかりましたか?
個人的には、さくらのVPSが一番コストパフォーマンスが良いかと。
ただし、拡張性や管理機能を考えたときに、海外のサービスに軍配が上がります。
例えば、Linodeは、管理用のiPhoneアプリがあります。
海外のサーバは基本的にAPI機能があり、サーバ管理も自動化できます。
日本の仮想専用サーバも管理機能を充実させて欲しいですね。
さくらのVPSは普通に使えますが、ServersManはちょっと…。
この他にも良い仮想専用サーバを知っていれば教えてください。
さくらのVPSで動いている、ガセビア共有サイトgasevistもよろしくお願いします。
トリビア共有なんかよりも、100倍面白いガセビア共有gasevist
- 2011年1月27日 12:00 PM
- 開発環境
- 【マカーの本当の意味】
- 熱狂的なマクドナルドの信者のことを指す。
- 【タイタニック2】
- 今年夏公開される名作タイタニックの続編であるタイタニック2の主演女優はパリス・ヒルトン、主演男優はゾマホンである。
- 【法改正により】
- 本年度から法改正により豚の生姜焼きを食べるときには、その都度役所で申請手続きが必要となった。違反した場合には仮釈放なしの無期懲役となる。
- 【アンパンマンのチーズ】
- 実はチーズは血統書付きのスーパードッグ。
- 【gasevist VS trivist】
どうでしょう。
どれが本当のトリビアか、わかりましたか?
ま、全てガセなんですけどね。
最後のガセビアは、今後本当になるかもしれません。
こんなネタを共有できるガセビア共有サイト“gasevist“を立ち上げました。
今日は、こんなくだらないgasevistが出来るまでを記事にします。
トリビア共有サイト”trivist”の記事がホッテントリ入りする
先日書いたこの記事がはてブのホッテントリ入りしました。
ちょっとだけ狙ってタイトルを付けたので、”はてブ100ぐらいはいくかな“と考えていました。
しかし、蓋を開けてみてびっくりしました。
- はてブ: 455ブックマーク
- 記事のページビュー: 8,271PV
前回の記事を見た方がいないかもしれませんが、ここでお礼を言っておきます。
いつも応援、ありがとうございます。
この記事とトリビア共有サイトtrivistを立ち上げたときは、まだ、ガセビア共有サイトgasevistのことは頭にありませんでした。
トリビア共有サイト”trivist”にあるはてブがつく
トリビア共有サイトtrivist自体にあるコメント付きのはてブがつきます。
がせぇボタン?うそくせぇボタン?
確かに、Webからの投稿だと、それが嘘だか、本当だか、わかりません。
中には嘘のトリビアもあるかもしれない。
そのようなトリビアを判断するボタンが欲しいという要望です。
しかし、ここであるアイディアが生まれます。
トリビアを集めるよりも、ガセビアを集めるほうが100倍面白いのでは?
ガセネタを投稿出来るサイトがあれば面白いと、コメント付きのはてブで気がついた訳です。
1日でガセビア共有サイト”gasevist”を作ってみた
この記事を書く前の記事のタイトルが、このサブタイトルです。
しかし、ガセビア共有サイトgasevistは、トリビア共有サイトtirivistをベースにほとんど変更していません。
設定を変更するためのプレフィックス定数を追加しただけ。
当たり前の記事になってしまうので、このタイトルは却下されました。
しかし、実際にgasevistは、ソースコードの変更からサーバの設定まで1日で完成しました。
これもある意味、前回の”ソースコードを書かない“方針の延長です。
開発の話を少し
特に目新しいことはしていないのですが、開発周りの話をしておきます。
gasevistとtrivistはまったくソースコードが同じです。
サイトの判定には、アプリケーションのルートディレクトリの”GASEVIST”ファイルを使っています。
GASEVISTファイルがアプリケーションルートに存在すれば、gasevistになり、存在しなければ、trivistになります。
ソースコードに設定値を用意しても良いのですが、開発時に逐次書き換えるのが面倒なのでこうしています。
GASEVISTファイルをgitの管理下から取り除き、開発時は
touch GASEVIST
とか、
rm GASEVIST
なんてコマンドを打って切り替えてます。
デプロイはCapistranoで自動化されています。
今回は、Capistranoのレシピに設定値を1つだけ追加しました。
この設定値が存在した場合は、アプリケーションルートで”touch GASEVIST“が自動で実行されます。
さらにソースコードには、以下の行が追加されました。
if (file_exists(APP . 'GASEVIST')) {
define('PREFIX', 'gasevist_');
}
あとは、切り替えるファイルや設定値の前にPREFIXを付けるだけです。
例えば、ロゴならこんな感じです。
<a href="/"><img src="/img/<?php echo PREFIX; ?>img_logo.gif" /></a>
今回、変更したのはビュー側のみです。
こういった切り分けがしっかり出来るのも、MVCフレームワークの強みでしょう。
これでソースコードの変更が終わったので、後はさくらサーバにVPS追加の申し込みを。
設定は前回、紹介したセットアップスクリプトを使います。
trivistと同じサーバに載せても良かったのですが、”月1000円ぐらい良いか“と新しくVPSを作りました。
Capistranoとセットアップスクリプトで、そんなに設定に時間が掛からないですしね。
それに、月1000円ならAdsenseで回収できます。
これでガセビア共有サイトgasevistが完成です。
しかし、良い時代ですね。
アイディアもWebから、その実現もWebで出来ます。
特にインフラ周りの進化がすごい。
一昔前に、Webサイトを一つ立ち上げようと思ったら、こんなに格安にしかも、こんなに速く作れなかったはず。
自宅サーバでやるにしても、その管理が大変ですからね。
さくらサーバVPS、様様です。
次は、”VPSのまとめ“でも記事にしましょうか。
gasevistもよろしくお願いします。
trivistと違って、簡単に記事を投稿できるので、気軽にどうぞ。
クスっと笑えるガセビアをお待ちしております。
1週間でトリビア共有サイト”trivist”を作ってみた
- 2011年1月6日 10:00 AM
- 開発環境
ここのところ、ブログの更新もツイッターのつぶやきも完全にストップしていました。
集中力のない@tfmagicianにしては珍しいことです。
何をしていたか。
こんなウェブ・サービスを作っていましたよ。
実はこれ、作成期間1週間です。
シンプルなサイトなので、恐らく、開発に慣れた人なら1週間は余裕でしょう。
今日は、まだフレームワークを使った開発、あるいはウェブ・サービスの開発自体に慣れていない人に向けて、高速開発に関するtipsを紹介します。
高速開発とは何か考える

まず、高速開発を可能にする”最強最大の魔法“を考えましょう。
それはこれです。
コーディングしない
コーディングしないで、システムが出来ればなんと良いことか!
これはエンジニアにとって、当たり前のことです。
しかし、これを念頭に置くのと置かないのでは、まるで開発速度が違ってきます。
できるだけ、怠慢を考えます。
“面倒だから、俺はコーディングしたくないんだよ!”
これで良いんです。
フレームワークを使う

trivistではフレームワークとして、CakePHPを採用しています。
フレームワークの効果は説明するまでもないでしょう。
様々な機能がパッケージングされており、高速開発を可能にします。
また、フレームワークに乗ることで、複数プロジェクトで利用可能な共通資産が作成可能です。
それが次の”プラグインを使う“です。
プラグインを使う

大抵のフレームワークには、プラグインの機能が備わっています。
このプラグインを活用することで、高速開発が可能です。
例えば、検索エンジン用のサイトマップ。
trivistのように自動でページが増えていくサイトは、自動でサイトマップを生成する必要があります。
MVCのフレームワークを使ったことがある人は、この処理がすぐにイメージ出来ます。
- モデル: id一覧の取得
- コントローラ: id一覧からURLを生成する
- ビュー: サイトマップの吐き出し
こんなところでしょう。
プラグインを知らない人は、この処理をプロジェクト毎に毎回作成するか、コードを前のプロジェクトからコピーするかのいずれかです。
しかし、プラグインを知っていれば、これらの処理をどんなプロジェクトでも使えるように共通化することが出来ます。
共通化したコードは、pluginsディレクトリに放り込むだけ。
あとは、configディレクトリに設定ファイルを書いておしまいです。
これなら、ほとんどコードを書かなくて済みます。
さらに、プラグインがしっかりテストされていれば、アプリケーションにおけるこの部分のテストは、ほぼ省略出来ます。
trivistでは、以下のプラグインを使っています。
- CakePHP-Twitter-API-Plugin
- TagsPlugin
- UtilsPlugin
- SitemapPlugin
- MigrationsPlugin
- DebugKit
- CakePHP-Bitly-Helper
この中で特に強力なのが、CakePHP-Twitter-API-PluginとTagsPluginです。
CakePHP-Twitter-API-Pluginは、TwitterのOAuth認証が2行で書けます。
(自身のユーザテーブルにデータを格納する処理は別途必要ですが)
TagsPluginは、簡単にタグ付けとそのタグクラウドを実装できます。
タグ登録時の分割処理も自分で書く必要がありません。
いつもの感覚でデータを保存すると、勝手にタグ付けして、勝手にタグクラウドを作ってくれます。
UtilsPluginのCsvImportBehaviorも便利です。
と、話出したら止まらないので、ここまでにします。
よくある機能は自分で実装する前に、プラグインを探してみましょう。
ブログパーツを使う

ブログパーツも活用しましょう。
最近のウェブ・サービスで必要となるのが、ソーシャルメディアのコメントを表示する機能と検索機能です。
trivistでは、以下のブログパーツを活用しています。
ソーシャルメディアのコメントを取得するのって、結構面倒なんですよね。
対応するサービス分のコードを書く必要がある。
また、データが膨大に増えていくのも気になります。
Zenbackは、各ページのソーシャルメディアのコメントを自動で表示してくれるブログパーツです。
jsのコードを貼り付けるだけのお手軽実装です。
これで、どれだけ工数が削減できることか。
検索機能は、全文検索に対応させる必要があります。
その上、検索結果のランク付けも必要です。
そこはもう、本業のGoogleさんに任せてしまいましょう。
Googleカスタム検索も導入は簡単。
これで、検索実装からも解放されます。
このように、ソースコードだけでなく、外部サービスも活用します。
アクセスの少ない立ち上げ当初は、これで十分かと。
自動化する

ここまで来たら、サーバも晒します。
- さくらサーバVPS
- OS: Ubuntu 10.04
- メモリ: 512M
- 構成: Apache2, MySQL5, PHP5
さくらサーバVPS標準のCentOSでなく、Ubuntuを使っていることにはいくつか理由があります。
- 最新のパッケージや比較的マイナーなパッケージを、自分でビルドせずに使える
- セットアップスクリプトをUbuntu 10.04用に書き溜めてある
特に大きいのは、2つ目です。
セットアップスクリプトを書き溜めることで、サーバのセットアップを効率化します。
先程の構成を作るには、apache_phpスクリプトとmysqlスクリプトを実行して、設定ファイルを少し変更するだけです。
また、アプリケーション自体のデプロイは、Capistranoのレシピを使います。
CakePHP用のレシピを作ってあるので、それを適用するだけで、自動デプロイ環境が完成です。
サーバ関連の作業で重要なのは、一回こっきりの作業をしないことです。
大抵の作業は、必ずと言っていいほど再び行います。
それを見越して、予め準備しておきましょう。
どうでしょうか。
1週間でウェブ・サービスを立ち上げられる気がしてきましたか。
とにかく、あるモノをとことん利用しましょう。
あなたの欲しいモノは、恐らく世界の誰かがすでに作っています。
せっかく、公開されているのに使わなければ損です。
それが自分の要求を満たさなくても、改造することで自分の要求を満たせないか、考えてみましょう。
自分で作るよりも、そっちのほうが絶対に早いです。
最後に、trivistの応援もお願いします!
うまく起動に乗れば、もっと機能を拡張したいと考えています。
もっと、共有機能を充実して、仲間内で楽しめるサイトになれば、と。
どんなトリビアでも良いので、投稿お願いします。
[イベント告知] この春はCakePHP温泉部でゆったりと
- 8:00 AM
- Event

かなり、告知が遅れてしまいましたが、スタッフとして宣伝記事を書いておきます。
しかも、募集締め切りまであと4日しかない。
本当はすぐに記事にしようと思っていたのですが、何かと忙しく。
何の話…?
そう、CakePHP温泉部のお誘いです。
“温泉に入ってゆっくりしよう“という会です。
第1回CakePHP温泉部を振り返りながら、この会の内容を紹介してみます。
箱根と温泉
CakePHP温泉部は、今年が第2回目。
去年が記念すべき第1回目です。
去年のCakePHP温泉部は写真の通り。

え、なんで富士山?

それに、CakePHP温泉部の看板を持った和気あいあいとした集合写真。
富士山は開催場所である箱根から帰る途中に撮ったモノ。
CakePHP温泉部の看板を持った集合写真は、旅館を後にするときにスタッフの方が撮ってくれたモノです。
第1回CakePHP温泉部は、これぐらいフリーでノープランな会でした。
ちょっとした発表もしましたが、勉強会より格段にゆるい形で行われました。
(そもそも、MASA-Pさん以外、発表資料をCakePHP温泉部のために用意していなかったし!)
CakePHP + My Development Story
これが私の去年の発表資料です。
レベルが低く、ちょっと恥ずかしいです。
この資料も、行きのMASA-Pさんの車の中で作りました。
あの時は渋滞で遅れて、スタバでこれを作ってたっけ。
スタッフ・ミーティングも1度しかしていないし、やることも大して決まっていないし。
2日目なんて特にノープラン。
あ、これ以上言うと逆に来る人が少なくなりそうですね。
とにかく、”CakePHP温泉部はとーってもゆるい会ですよ。“というのを知ってもらいたいのです。
小田原とかまぼこ
もはや、タイトルが意味不明です。
しかし、去年の参加者は思い出して、懐かしめる(笑える)はずです。
帰りに、小田原のかまぼこの里に寄りました。
ちょうど時期的にはバレンタインデー。
バレンタインチョコならぬ、バレンタインかまぼこが売られていました。
写真がないのが残念ですが。
この企画も初めからあった訳でなく、@hidetoshingさんの提案で決まりました。
私は、参加者の半分以上と初対面でした。
恐らく、他の方々もそうだったはず。
それが何故だか、こんな(?)かまぼこ館に行くぐらい仲良くなっていまいました。
これも温泉効果でしょう。
おまけのCakePHP
もう、CakePHPはある意味”おまけ“です。
とはいえ、ちゃんとCakePHPトークでも盛り上がりました。
第1回CakePHP温泉部では、主にCakePHPで作られたCMSを触って楽しんでいました。
特にBaserCMSは盛り上がりました。
皆でわいわいと協力しながら、BaserCMSの環境を準備したり。
XAMPじゃ駄目だ、MAMPを使え、いやいや仮想化でしょう。
なんて話をしたり。
最近はMacユーザが多いですが、CakePHP温泉部では半分ぐらいがWindowsユーザでした。
そのおかげか、BaserCMSの区切り文字定数DSに関するバグを発見出来ました。
ある意味、BaserCMSのテスト大会になっていましたね。
この話は@konsanさんの記事を読むとわかります。
これで、CakePHP温泉部の概要はわかったのではないでしょうか。
主催者MASA-Pさんの言う通り、
温泉に入って日頃の疲れを癒す
がこの会の目的なんです。
温泉に浸かりながら、ゆっくり、ゆったり、まったりとCakePHPトークでもしましょう。
“こんなゆるい会で大丈夫か“と思った方もいるでしょう。
しかし、今回は前回の反省を踏まえてプランニングしています。
恐らく、前回よりは内容的に有意義になるはず。
“前回のいいところを残しつつ、もうちょっと温泉部としての成果物を出せれば良いな“と考えています。
こんな会なので、誰でも大歓迎です!
CakePHPを触ったことがない人でも大丈夫です。
興味があれば参加してみてください。
色々と勉強になると思いますよ。
参加したい人はMASA-Pさんのブログからどうぞ。
締切りは10日まで、残り枠は4名程度です。
応募はお早めに。
それでは、CakePHP温泉部で会いましょう!
ホームディレクトリをGitで簡単に管理するための.gitignore活用法
- 2011年1月4日 10:00 AM
- Git

さて、まったくブログを更新していないtfmagicianです。
こんにちは。
先月は1記事しか書いてないですね。今年は月10記事以上を目標に、楽しみながら書いていきます。
今日は、Gitをネタに取り上げます。
前回はプロジェクトに関するGitネタでしたが、今回は個人的なモノ。
あなたの宝物が詰まったホームディレクトリをGitで管理してみます。
ホームディレクトリの”なに”を管理するか
これは人によって異なります。
例えば、あなたがMac使いで、Mac上でGitを使うというなら、ドキュメントも管理したくなるかもしれない。
例えば、あたながLinux使いなら、設定ファイルだけGitで管理出来れば良いかもしれない。
.gitignoreをうまく設定出来れば、どちらのパターンも対応出来ます。
ただ、.gitignoreを設定する前に、自分が”なに”を管理したいかは決めておきましょう。
でないと、大変なことになります。
.gitignoreとは
Gitを使ったことがある人であれば、.gitignoreはお馴染みです。
その名のとおり、”Gitに無視させるファイル“を指定できる設定ファイルです。
試しに、.gitignoreを作ってみます。
$ mkdir ignore_test $ cd ignore_test $ git init $ touch first_file $ git commit -a $ touch .gitignore
リポジトリを初期化したら、.gitignoreファイルを作ります。
中身は以下の通りに記述してください。
/tmp
この.gitignoreもGitリポジトリが管理してくれます。
.gitignoreもコミットしておきます。
$ git add .gitignore
続けて、以下のコマンドを打ってください。
$ mkdir tmp $ git status
Gitの管理対象から、tmpディレクトリが除かれています。
(変更されたファイル一覧にtmpディレクトリがないはずです。)
このように、普通はリポジトリには含めたくないファイルを.gitignoreで指定します。
ホームディレクトリに.gitignoreを置く
さて、初心者向けの説明だったので、知っている人は飽き飽きしてきたと思います。
そんな人のために、早速、私のホームディレクトリに置いてある.gitignoreを晒します。
# 全てのファイルを一度、無視する。 /* # さらに、ドットから始まる設定ファイルを無視する。 /.* # しかし、"無視したくないファイル"は以下に"![ファイル名]"で指定する。 ##### Gitで管理するファイルリスト ##### !/.bash_aliases !/.bash_colour.example !/.bash_profile !/.bashrc !/.selected_editor !/.vimrc !/.vim !/.gitignore !/.gitconfig !/.gitmodules !/bin # 上記に"無視したくないファイル"としてリスト化した中から、さらに"無視したいファイル"を指定する。 /.vim/.netrwhist
勘の良い人はわかると思います。
ここで重要なのは”/*“と”/.*“、それに”エクスクラメーションマーク(!)“です。
行の先頭にエクスクラメーションマークを書くと、”無視したくないファイル“を示せるんです。
この書き方をすることで、ごった返したホームディレクトリから自分の指定したファイルだけ、Gitに管理させることが出来ます。
新しく管理したいファイルを追加したい場合は、”Gitで管理するファイルリスト“以下にファイル名を追加すればOKです。
それで、Gitがファイルを追跡するようになります。
ホームディレクトリの管理に役立つ.gitignoreの設定
.gitignoreは、複雑な設定が出来ません。
基本的な設定は以下の通りです。
# 全てのtmpディレクトリを無視する。 tmp/ # トップレベルのtmpディレクトリのみ無視する。 /tmp # 全てのphpファイルを無視する。 *.php # 全てのtmpディレクトリのphpファイルのみ無視する。 tmp/*.php # トップレベルのtmpディレクトリのphpファイルのみ無視する。 /tmp/*.php
これに先程のエクスクラメーションマーク(!)を使えば、特定の拡張子のファイルや特定のディレクトリのみ管理できます。
トップディレクトリに置く.gitignoreだけでは、この程度しか設定出来ません。
しかし、.gitignoreはサブディレクトリに置くことも出来ます。
$ cd ~/ $ cat .gitignore # documentsディレクトリのみ、Gitで管理する。 /* /.* !/documents $ cd ~/documents $ cat .gitignore # documentsディレクトリの中の全ての.DS_Storeファイルを無視する。 .DS_Store
これで、”documentsディレクトリはGit管理するが、その中の.DS_Storeは無視する“という設定が出来ました。
.gitignoreは、なかなか扱いにくい子です。
しかし、うまく使って自分のホームディレクトリを効率的に管理しましょう。
参考ページとプロジェクト
ホームディレクトリをGitで管理するために、以下のページが参考になります。
また、私は使っていませんが、こんなプロジェクトもあるようです。
こんなことを考えるのは、私だけではないんですね。
皆さんもGitでホームディレクトリを管理してみてください。
Gitで管理すると、サーバ間の設定共有も楽々です。
ちなみに、私の設定ファイルはgithubに載せてありますよ。
ホーム > アーカイブ > 2011-01
- エキスパートPythonプログラミング読書会 第二期 07の募集を開始しました! http://t.co/DuVQ32jM #expertpython 2 days ago
- 受付を撤収したので、遅れてくる方は @sanojimaru か、 @tfmagician まで声をかけてください。 #expertpython 3 days ago
- http://t.co/e4N59JH3 4章ですね、募集ページを修正しました。 #expertpython 3 days ago
- More updates...
- 無印良品の高度なFacebook連携がさすがだと思った件 « Looops 直人の備忘録
- Node.jsがどうして注目されているのか、もしくはどうして他のサーバサイドJavaScriptはスルーされているのか - id:anatooのブログ
- 0から始めるiPhoneからのWordPress更新術。第9回 終わりに。一連の流れ ...
- shell.vim 0.9.6 -- Improved integration between Vim and its environment (fullscreen, open URL, etc)
- Cakephp auth refresh websites and posts on cakephp auth refresh
- さよなら、iPhone。 日本でも訴訟されて発売されるGalaxyS2の凄さがわかる動画 alpha device
- フィードからの情報をデスクトップ通知してくれるChrome拡張機能「RSS Alert」
- PHPとアジャイル開発の勉強会を開催しました | 48JIGEN
- レノボ、Android 採用の ThinkPad タブレットを今夏発売へ。Windowsタブレットは年内
- 致命的すぎるバグがgithubで話題 « A-Listers




