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

はじめに

そもそもエックスサーバには、古いバージョンのGitがすでに入っています。通常のGitコマンドだけなら特に問題なく実行できそうです。この記事では最新版をインストールしてみます。

デフォルトで入っているGitのバージョンは、1.8.3.1でした。

前提

SSH接続ができる環境での手順です。まだの方は以下の記事参照。

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

インストール手順

Gitをインストールする前にGitに必要なライブラリを確認します。

必要なライブラリ:curl、zlib、openssl、expat、libiconv

エックスサーバーでは、デフォルトですべて入っているようです。が、公式のドキュメントをみるとgettextという翻訳関連のライブラリも入れているので、一応インストールしておきます。

gettextがないと、Gitインストール時にエラーが出る事があります。その場合は、-iオプション(エラー無視)でエラー回避できます。

gettextのインストール

gettext でインストールするバージョンを調べます。

最新版0.21.1だとGitのインストールで以下のエラーになったので、0.21を使用しています。

msgfmt: “po/build/locale/pt_PT/LC_MESSAGES/git.mo”への書き込みが許可されていません

#ホームディレクトリに移動
cd ~

#ダウンロード
$ wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.21.tar.gz

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

#移動
$ cd gettext-0.21

#インストール先を設定
$ ./configure --prefix=$HOME/opt

#コンパイル
$ make

#インストール
$ make install

./configuremakeコマンドは時間がかかるので気長に待ちます。

ちなみに今回はインストール先として、optディレクトリを指定しました。ない場合はインストール時に新規に作成されます。optディレクトリは「options」の略で自分の好きなアプリケーションをインストールする際によく使われます。

パスを通す

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

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

#以下を書き込む
export PATH=$HOME/opt/bin:$PATH
# $HOME/bin:$PATHなどとすでに設定されている場合は以下のように追記する
export PATH=$HOME/opt/bin:$HOME/bin:$PATH

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

補足

.bashrcに書き込む時、Vimというエディタが起動します。これは基本すべてキーボードで操作するエディタで、専用のショートカットを知らないとハマります・・・。Vimを使いたくない場合は、FTPソフトなどで.bashrcをダウンロードして編集しても良いです。

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

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

確認

$ gettext --version

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

不要なファイルの削除

ダウンロードしたファイルと解凍フォルダは不要なので削除します。

$ cd ~
$ rm gettext-0.21.tar.gz
$ rm -rf gettext-0.21

Gitのインストール

Kernel.org または GitHub でインストールしたいバージョンを調べます。

#ホームディレクトリに移動
cd ~

# Kernel.orgからダウンロードする場合
$ wget https://www.kernel.org/pub/software/scm/git/git-2.38.1.tar.gz
# GitHubからダウンロードする場合
$ wget https://github.com/git/git/archive/refs/tags/v2.38.1.tar.gz

# 以下、Kernel.orgからダウンロードした場合のファイル名になってます。GitHubの場合はファイル名を変更してください。
#解凍
$ tar zxf git-2.38.1.tar.gz

#移動
$ cd git-2.38.1

#インストールオプションの設定
$ ./configure --prefix=$HOME/opt --with-curl=$HOME/opt --with-expat=$HOME/opt

#コンパイル
$ make all

#インストール
$ make install

補足

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

確認

$ git --version

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

不要なファイルの削除

ダウンロードしたファイルと解凍フォルダは不要なので削除します。

$cd ~
$ rm git-2.38.1.tar.gz
$ rm -rf git-2.38.1

まとめ

エックスサーバーなどの共用レンタルサーバへ何かインストールする場合は、自分のホームディレクトリ以下にしか書き込み権限がないので、インストールファイルのダウンロード→コンパイル→インストール→パスを通す。という作業をする必要があり結構面倒ですね。