Xserver(エックスサーバー)にGitをインストールする

ローカル(Windows)にGitをインストールするのは簡単でしたが、サーバに何かをインストールするのは、初めてだったので、忘れないようにメモ。

流れとしては、
・サーバとSSHで接続できるようにする
・Gitを動かすために必要なライブラリをインストールする(gettextとCurl)
・Gitをインストールする

そもそもエックスサーバには、古いバージョンのGitがすでにインストールされていました。が、せっかくなので、最新版をインストールすることにしました。

元々入っていたGitのバージョンは、1.8.3.1でした。

サーバとSSHで接続できるようにする

インストールは、ターミナルを使ってコマンドで行っていくので、パソコンとサーバを安全につなぐためのSSHという仕組みを使って接続します。
以下の過去記事を参考に、接続できる環境を構築してみてください。

レンタルサーバにSSH接続をする方法(エックスサーバー、さくらのレンタルサーバ)

gettextのインストール

SSH接続ができるようになったら、接続して、以下のコマンドを使ってインストールをしていきます。

インストール

#最新版の場合
$ wget "http://ftp.gnu.org/gnu/gettext/gettext-latest.tar.gz"
#または
#バージョンを指定する場合
$ wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.20.1.tar.gz

#解凍
$ tar zxvf gettext-0.20.1.tar.gz

#移動
$ cd gettext-0.20.1

#インストール前処理
$ ./configure --prefix=/home/[サーバID]/opt

#コンパイル
$ make

#インストール
$ make install

パスを通す

#ルートディレクトリに移動
$ cd ~

#.bashrcを開いて編集
$ vi .bashrc

#以下を書き込む
export PATH=$PATH:$HOME/opt/bin

#設定を反映させるために再読み込み
$ source .bashrc

補足

.bashrcに書き込む時、Vimというエディタが起動します。これは基本すべてキーボードで操作するエディタで、専用のショートカットを知らないとハマります・・・。

簡単に説明すると、
「i」でInsert(インサート)。書き込みモードになります。
十字キーでカーソル移動できます。
書き込み終わったら、「Esc」キーでコマンドモードに戻り、
「:wq」と打つと、保存してからファイルが閉じます。

詳しくは、「Vim コマンド」などでググると、たくさん出てきます。

確認

$ gettext --version

バージョンが表示されたら成功!

Curlのインストール

gettextのインストールとほぼ同様の手順でインストールします。

インストール

#バージョンはお好きなものを指定
$ wget https://curl.haxx.se/download/curl-7.65.3.tar.gz

#解凍
$ tar zxvf curl-7.65.3.tar.gz

#移動
$ cd curl-7.65.3

#インストール前処理
$ ./configure --prefix=/home/[サーバID]/opt

#コンパイル
$ make

#インストール
$ make install

確認

$ curl -V

バージョンが表示されたら成功!

Gitのインストール

こちらも同様に

インストール

#ダウンロード
$ wget https://github.com/git/git/archive/master.zip

#解凍
$ unzip master.zip

#移動
$ cd git-master

#インストール前処理
$ ./configure --prefix=/home/[サーバID]/opt --with-curl=/home/[サーバID]/opt --with-expat=/home/[サーバID]/opt

#コンパイル
$ make -i all

#インストール
$ make -i install

補足

コンパイルとインストールのコマンドで、-iオプションを付けているのは、エラーを無視するためです。オプションなしだと、msgfmtが見つからないというエラーが出るようです。

--with-curlは、http転送を使うためのオプション--with-expatは、pushでhttp転送使うためのオプション

確認

$ git --version

バージョンが表示されたら成功!