ConoHa VPSにgit サーバを構築!

Post : 2022/10/29 Update : 2023/7/17

gitと言えば圧倒的なシェアを誇るGitHub。開発者の中でお世話になったことがない人はいないんじゃないでしょうか?

他にもGitLabやbitbucket等など様々なサービスがあります。

私も普段GitLabを使用していたのですが、最近リポジトリのサイズ上限が10GB→5GBに変更があったようで段階的に制限がかかっていくみたいです。

git LFSなどを使用してバイナリファイルは別で管理するのが推奨されているみたいですが、ちょっと面倒くさい、環境によってはLFSに対応していなかったり等と全部commitしちゃっていることが割と多いです。

プロジェクトが長期になっていくと、やはりリポジトリのサイズも肥大化していきます。

「それならgitにサーバを立てちゃえ!」とおもったわけです。

サーバの選定

ラズパイでサーバを立てようか思っていたのですが、自宅で使っているNUROは固定IPを取得できなかったのでパス。レンタルサーバが一択に。

とはいえ、なるべく月額の料金は抑えたいなーと思い

候補としてgitが使える共有サーバ or VPS(仮想占有サーバ)が上がりました。

普段は老舗のSakura(共有サーバ)を使用しているのですが、いろいろ調べてみるとConoHaをやたら皆さんおすすめしてきます。

料金を見てみるとかなり安い?!

本当に大丈夫なのかと思うぐらい安い。

おそらく、長期割引のようで通常料金だと割と相場の価格帯です。

とりあえずお試しで!1GBを3カ月借りてみます

※512MBプランでは1GB以上のプランへの変更に対応していないみたいです。

https://support.conoha.jp/v/changeplan/

サーバ追加

アカウントを作成(要クレジットカード)します。サーバを追加するまではお金はかかりません。

アカウントを作成後ログインをするとConoHaのコンパネから上のメニューVPS > サーバーを追加を選択。

VPS割引きっぷを利用する

とりあえずお試しで1GBで有効期限は3カ月!

※必要になったらプランを変更が可能ですが、512MBから1GB以上のプラン変更、他のプランから512MBのプラン変更に対応していないみたいです。

OSはCentOSを選択。

rootパスワードにはサーバのログインパスワード(忘れないように!)

ネームタグはお好みで(後で管理画面から変更可能です)

右ボタンの次へ(まだ決済はしません)をクリック。

決済画面ページでアカウントに紐づけられたカード情報が表示されていると思います。

最後に決済をクリック。

VPSを無事借りることができました。

サーバ設定

gitのインストール

サーバの一覧から起動していることを確認します。

ネームタグを選択すると

サーバの詳細が表示されるので、コンソールからVNC経由でサーバにアクセスできます。

最初にパスワードが訊かれるのでサーバを作成する時に登録したパスワードを入力してログイン。

OpenSSHが入っているか確認します。

$ ssh -V
OpenSSH_8.7p1, OpenSSL 3.0.1 14 Dec 2021

私の環境ではgitは入っていなかったみたいなので、yum経由でインストールします

$ sudo yum update
$ sudo yum install git

gitのバージョンを確認

$ git --version
git version 2.31.1

git ユーザの追加

SSHアクセスする際にrootアカウントでログインはセキュリティ上危ないので、新規でユーザを追加しておきます。

sudo adduser 【ユーザ名】

$ sudo adduser git 

上ではユーザ名「git」で追加。

SSH 設定ファイルの変更

設定ファイルは/etc/ssh/sshd_configにあるのでviなどで開きます。

$ sudo vi /etc/ssh/sshd_config

rootでログインできないように変更

- PermitRootLogin prohibit-password
+ PermitRootLogin no

パスワードでログインできないように変更

- #PasswordAuthentication yes 
+ PasswordAuthentication no

※Portも適宜変更してください。

sshデーモンを再起動してさっき変更した設定ファイルを反映させます。

$ sudo systemctl restart ssh

公開鍵の配置

公開鍵・秘密鍵Keyを配置します。

gitユーザの場合 /home/gitがホームディレクトリになるのでそこに移動後.sshディレクトリを追加します。

$ cd /home/git
$ sudo mkdir .ssh

さらに.sshフォルダに移動して、authorized_keysファイルを作っておきます。

$ cd .ssh
$ touch authorized_keys

このままではauthorized_keysの所有者がrootになっているので追加したユーザに変更します。

$ sudo chown git authorized_keys

authorized_keysに書き込みます。

ConoHaのコンソール画面で開いている場合、コピペができないので

上のテキスト送信に貼り付けてテキスト送信ができるので、viなどで開いてinsert状態にして送信ボタンを押すと便利です。

gitディレクトリの作成

/varの中にgitフォルダを作って所有者を変更しておきます。

$ sudo mkdir /var/git
$ sudo chown git /var/git

テストでhoge.gitリポジトリを作成してみます。

$ cd /var/git
$ mkdir hoge.git
$ cd hoge.git
$ git init --bare --shared

PCからアクセスする

リポジトリができあがったので、PCからアクセスしてみます。

git clone [ユーザ名]@[ホスト名]:/var/git/hoge.git

無事クローン出来たら終了です。

ホスティングサービスを使用すれば、もっと手軽にできるのですが制限等を受けたくない場合はやはり自前でサーバを立てちゃうのが後々頭を抱えずに済むかもしれません。

にしても,月々500円でVPSが借りれるのはちょっと前は考えられなかったですね。

下のリンクからだと700円ぐらいのクーポンがあるので

1000円ぐらいで3カ月お試しで使えるので、検討してみてはいかがでしょうか。