サーバ(linux / centOS)にgitとリポジトリをセットしたい

作成日:2023-11-07, 更新日:2023-11-09

処理の流れ

基本、「XSERVER+bitbucketの設定」と同じ

  1. gitのインスト前の準備: gettextのインスト
  2. gitのインスト
  3. ひとまず確認
  4. リポジトリをセット / クローンの作成

めも

  • 「gettext」は全ユーザー共通で使える
  • 「git」はユーザーごとにインストールが必要

インストール時の前提条件

  • 今回はスーパーユーザーとして設定する必要がある
  • 対象ユーザーは「/home/ユーザー名」にしたい

gitのインスト前の準備: gettextのインスト

▼通常

$ sudo yum install gettext

▼スーパーユーザーになっているとき

$ yum install gettext

インストールされたか確認 / バージョン確認

$ gettext --version

gitのインスト

▼「/home/ユーザー名」にカレントを移して実行

$ cd /home/ユーザー名
$ mkdir opt
$ mkdir sysad
$ wget https://codeload.github.com/git/git/zip/master -O git-master.zip
$ unzip git-master.zip
$ cd git-master
$ autoconf
$ ./configure --prefix=/home/ユーザー名/opt
$ make -i all
$ make -i install

インストールされたか確認 / バージョン確認

$ /home/ユーザー名/opt/bin/git --version

PATHを通す

▼「/home/ユーザー名」にカレントを移して実行

$ cp ~/.bashrc ~/.bashrc.bk

##編集の実行
$ vi ~/.bashrc
## 「export PATH」を「export PATH=$HOME/opt/bin:$PATH」に書換え
## もしくは「export PATH=/home/ユーザー名/opt/bin:$PATH」に書換え

##変更内容の反映
$ source ~/.bashrc

※「$HOME」が「/home/ユーザー名」になるっぽい

PATHが通っているか確認

$ git --version

通っていない場合、PATHの設定が間違っている可能性アリなので、下記実行

$ ls $HOME/opt/bin

$HOMEが想定通りじゃない場合は下記のようなエラー

$ ls: cannot access '/〇〇〇/opt/bin': No such file or directory

→「/〇〇〇/opt/bin」が想定しているPATHかを確認する

他、確認

composerも必要なので確認。たぶんインストされているはず…

composerのインスト

▼ひとまず確認

$ composer --version

インストする

インストされてなければインストする。さきにPHPがインストされていなければインストが必要

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php composer-setup.php
$ sudo mv composer.phar /usr/local/bin/composer

インストールされたか確認 / バージョン確認

$ composer --version

リポジトリをセット / クローンの作成

$ cd /home/ユーザー名
$ git clone https://ユーザー名@example.com/xxx/xxx.git

エラーと対応

▼「git clone」をすると下記のようなエラーに。

$ git clone https://ユーザー名@example.com/xxx/xxx.git
Cloning into 'xxx'...
git: 'remote-https' is not a git command. See 'git --help'.

▼調べると…gitの再インスト → Gitの設定(ssl)を確認+設定追加 → 依存関係の対応…とすれば良いらしい

## gitの再インスト
$ sudo yum remove git
$ sudo yum install git

## Gitの設定(ssl)を確認+設定追加
$ git config --global http.sslBackend
$ git config --global http.sslBackend openssl
$ git config --global http.sslBackend

## 依存関係の対応
$ sudo yum install openssl-devel

それでも…エラーが解消されないproxyの確認+設定が必要とのこと…
もしくはgitのインストが失敗している…