ServersMan@VPS でGit サーバーを構築してみる

スポンサーリンク

Git 環境をもっと良くしよう

普段は、お仕事がらみで Git を使っています。

個人でももっと利用したいなあ。

と、しばし思っているわけですが。

Git がらみの話をブログでいつしたかなと思ったら。

なんと昨年の11月に講習会に行った時以来。

【Git】ちょっと遅くなりましたが、GitHub講習会へ行ってきました。

2014年の目標では Git をもっと活用しよう!

なーんて思っていたきがする・・・。

そう。まだまだ2014年は終わってせん。

Git もっと活用するぞ!

ということで、ServersMan@VPS でGit サーバーを構築してみました。

ServersMan@VPS を契約

まずはそこから。

【ServersMan@VPS】

ServersMan@VPSは、月額467円(税抜)でメモリ1GBという納得の価格とスペック。OSはお好きなものを選択可能。全プランroot権限・固定IP(IPv4/IPv6)・スワップ付。

月額 467 円。



容量は50GB。

メモリが 1 GB とちょっと心もとないですが、まずは実験。

ServersMan の良い所は、サーバーアップグレードも簡単です。

必要なら、上のプランに変更しても良いですしね。

OS は慣れている 「Ubuntu」 にしました。

VPS を設定する

VPS を契約すると接続情報が送られてきます。

まずは、利用するための環境を用意します。

ServersMan@VPS を導入したあとするべき設定

まずは、セキュリティなどのことも考えて、ssh でアクセスして、VPS を設定します。

最初は root でアクセスします。

コマンドラインから、アクセスするためには

ssh root@xx.xx.xxx.xx -p 8342

といった具合です。

x の並びは IP アドレス。

-p はポートの指定。

ともに ServerMans@VPS からのメールに書いてあります。

コマンドラインで上記を実行すると、パスワードを尋ねられます。

モザイクだらけですが、こんなかんじです。

ssh-login

ログインできたら、そこから運用を開始しても良いのですが、root で運用するのはなんか気持ち悪い・・・。

root 運用の危険性としては、「やらかしてしまった」時の影響範囲が広すぎる。

というのがあります。

安全に運用するために、ユーザーを追加して運用します。

ユーザーを追加する

adduser hoge --ingroup sudo

似たコマンドに useradd というコマンドがありますが、Ubuntu では、home ディレクトリを作ってくれなかったりするので、adduser で実行しています。

途中、パスワードを聞かれます。

新しいパスワードと、確認と 2 度パスワードを入力すれば OK

他にもいろいろ聞かれますが、デフォルトで問題なければ、ENTER で進んでください。

終わったら、ついでですので、apt-get を最新にしておきましょう。

apt-get update

Reading package lists… Done

と、表示されたら完了です。

これを忘れると(後でもできますが)git などをインストールできません。

ここまで完了したら exit でログアウトします。

そして、root のときと同じ要領で、hoge@xx.xx.xxx.xx の形でログインします。

ログインできたら、成功です。

IP アドレスじゃなくて、ドメインを設定したい。

という方のために、お名前.com から ServersMan@VPS への独自ドメインの設定方法はこちら

説明は、IP のまま継続。

root ログイン を禁止に

ここまで来たら、再度 root でログインし直します。

作成したユーザーでログインして、SU コマンドで root に昇格してもよいです。

root でログインできなくしておきましょう。

※新規で追加したユーザーには追加しないように。

root の状態になったら、

vi /etc/ssh/sshd_config

ssh の設定ファイルを開いて、その中の一文。

【変更前】
PermitRootLogin yes

【変更後】
PermitRootLogin no

として保存すれば、完了です。

sudo /etc/init.d/ssh restart

変更したら、ssh を再起動すると、書き換えた内容が設定に反映されます。

※ ssh を再起動しても root で入れるよ。と言う場合は、ちょっと面倒くさいですが DTI の管理画面からサーバーごとリスタートすると反映されます。

セキュリティ向上のために

denyhosts を導入しておきます。

これは、root でアクセスしてきてログインに失敗するとそのアクセス元 IP を登録してログインできなくなるシロモノです。

自分が間違えても即、アウトなので運用にはご注意を。

sudo apt-get install denyhosts

Starting DenyHosts denyhosts

と、表示されたら OK です。

ようやく git を導入

git の導入は簡単? です。

sudo apt-get install git

で、OK。

ローカルマシンにも git を用意

サーバーに git を入れたらローカルマシンにも用意しときます。

今回は、Linux Mint 17 で導入。

こちらも導入方法はサーバーと同じですね。

Git を導入した後は、ユーザー名とメールアドレスを設定

git config --global user.name "hoge"
git config --global user.email "hoge@mail.com"

という形式で、ユーザー名と、E-mail を登録しておきます。

これをしていないと、のちのコミットなどができません・・・。

サーバー側でレポジトリを作成します

sudo mkdir /var/git/test.git
cd /var/git/test.git/
git --bare init

最後の git コマンドは作業ディレクトリのない、空のディレクトリを初期化しています。

続いてローカル側

こちらは同期させたいファイルを格納するディレクトリを作成します。

とりあえず、home ディレクトリに作るしたら

mkdir /home/"ユーザー名"/git/hoge-test
cd /home/"ユーザー名"/git/hoge-test
git --bare init

と、サーバー側とやることは変わりません。

つづいて、同期するための ssh のURL を登録します。

git remote add origin ssh://hoge@xx.xx.xxx.xx/var/git/test.git

登録した URL を確認するには

git remote -v

で確認できます。

ファイルを追加してみる

テスト的に、ファイルを追加します。

touch sample
git add sample
git commit -m "sample file add"
git push origin master

やっていることは、

  1. sampleファイルを作成
  2. sampleファイルをインデックスに登録
  3. sampleファイルをコミット
  4. sampleファイルをプッシュ

という感じです。mster はブランチ名です。

git の細かい使い方は、書籍や web を参考にしてください。

実際、ここまでできれば後は、git pull でサーバー上のデータを引っ張ってきたり、またコミット、プッシュでサーバーへ反映したりできるはず・・・。



スポンサーリンク

シェアする

フォローする

スポンサーリンク