VirtualBoxのCentOS構成gitサーバー

序文##

自分のコードを管理するときは、常にgithubを使用します。プライベートプロジェクトは公開したくない場合があります。GitHubに配置したい場合は、お金を使わなければなりません。この問題の解決策は、実際には非常に簡単です。コンピューター上で仮想マシン(VirtualBox)を使用してサーバー(CentOS)を実行し、sshサーバーとgitサーバーを構成します。言われているように:歴史上あなたに最も近いサーバー。

SSHを構成します##

SSHは、プログラマーが自宅のサーバーに接続するためになくてはならないものです。したがって、VirtualBoxにCentOS(最小インストール)をインストールした後の最初のジョブは、SSHを構成することです。

SSH ###をインストールします

  1. 更新システム:
    yum update
  2. openssh-serverをインストールします。
    yum install -y openssl openssh-server
  3. SSHサービスを開始します。
    systemctl start sshd.service
  4. ブートを設定してsshサービスを開始します。
    systemctl enable sshd.service

パスワードなしのログインを構成する###

  1. クライアントシステムの端末でキーを生成します(私のものはMacです)。
ssh-keygen -t rsa -C "[email protected]"

自分のメールボックスに入るように注意してください

  1. パスワードの入力を求められますが、空白のままにすることができます(少なくとも、空白のままにしておきます。パスワードを入力するのは面倒です)。

  2. 完了すると、 id_rsa id_rsa.pubの2つのキーファイルが .sshディレクトリに生成されます。

コンピュータを変更してシステムをやり直した場合でも、これら2つのファイルを保存するように注意してください。忘れずにバックアップしてください。

  1. VirtualBoxでCentOSのIPアドレスを確認します。
    CentOSを実行し、rootユーザーのログイン後に次のように入力します。
ip addr

写真が示すように:

  1. sshを使用して、クライアントのCentOSに接続します。
ssh [email protected] -p 22

xxx.xxx.xxx.xxxはCentOSのIPアドレスであり、CentOSのルートアカウントのパスワードも入力する必要があります。この時点で使用されているSSHログインは、キーをauthorized_keysにコピーするためのものです。

  1. VirtualBoxの CentOSサーバーで構成します。
//作成する.sshフォルダー:
mkdir .ssh
//承認済みの作成_キーファイル:
touch .ssh/authorized_keys
//許可された変更_キーの許可:
chmod 600.ssh/authorized_keys
  1. クライアント(Mac)でid_rsa.pubを表示し、その中のキーをコピーします。
cat .ssh/id_rsa.pub
  1. CentOSでauthorized_keysを開き、コピーしたばかりのキーを貼り付けます。
vi .ssh/authorized_keys
  1. 設定が完了しました。

クライアント(Mac)構成CentOSエイリアス###

  1. VirtualBoxでCentOSネットワークのポート転送を設定する
    図に示すように、ネットワークタイプをNATに設定します。

図に示すように、ポート転送を設定します。

上記の操作は、クライアント(Mac)でエイリアスログインを設定するときにipアドレスを127.0.0.1として書き込むことで、CentOSが起動するたびにip変更が自動的に取得されないようにし、変更するのが面倒です。

  1. クライアント(Mac)がCentOSのエイリアスを構成します
vi .ssh/config

次のように入力します:

Host cent
	HostName 127.0.0.1
	User root
	Port 4444

セントはエイリアスで、自由に設定できます。

CentOSに接続するのに非常に便利です###

ssh cent

gitserverを構成してインストールします##

SSHを使用してCentOSに接続することにより、すべての操作をクライアントマシン(Mac)で実行できます。

  1. CentOSは、最新のgit、依存ライブラリのインストールをインストールします
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
  1. 低バージョンのGitをアンインストールします
yum remove git
  1. gitディレクトリを作成し、次のように入力します
cd /usr/local
mkdir git
cd git
  1. Git2.13.2の最新バージョンをダウンロードする
wget https://github.com/git/git/archive/v2.13.2.tar.gz

これまでの最新バージョンは2.13.2ですが、[https://github.com/git/git/releases](https://github.com/git/git/releases)にアクセスして、最新バージョンのリンクをコピーしてダウンロードできます。

  1. gitディレクトリに解凍します
tar -xzvf v2.13.2.tar.gz
  1. Gitv2.13.2をインストールします
cd git-2.13.2
make prefix=/usr/local/git all
make prefix=/usr/local/git install

コンパイルプロセスは少し長くなります。辛抱強く待ってください

  1. 環境変数に追加
    / etc / profileを開きます
vi /etc/profile

参加する

export PATH="/usr/local/git/bin:$PATH"

構成をすぐに有効にする

source /etc/profile
  1. gitバージョンを表示
git --version
  1. クローン作成時のエラーを回避するために、最新バージョンのgitをシステムのデフォルトとして設定します
ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack 
ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack
  1. v2.13.2Gitの最新バージョンが正常にインストールされました

gitユーザーグループを作成し、users ##を追加します

  1. ユーザーの組み合わせユーザーを追加し、パスワードを設定します
groupadd git
useradd git -g git
passwd git

gitアカウントに切り替えます

su -git
  1. 証明書ログイン、パスワードなしでgitを使用

.sshディレクトリと .ssh / authorized_keysファイルを作成し、クライアント(Mac)のid_rsa.pubのキーを authorized_keysファイルに追加します。

ディレクトリとファイルの権限を変更する

chmod 700.ssh
chmod 600.ssh/authorized_keys

Gitリポジトリを初期化します##

  1. すべてのリポジトリはgitreposディレクトリに配置されているため、このディレクトリを作成しました
cd /home/git
mkdir gitrepos
cd gitrepos
  1. 最初のテストウェアハウスを初期化します
git init --bare test.git

ローカルクライアントクローンウェアハウス##

クライアント(Mac)のCentOSでtest.gitリポジトリのクローンを作成します

git clone git@cent:/gitrepos/test.git

centは、2.3章で設定したCentOSのSSH接続エイリアスであり、対応するIPアドレスに置き換えることもできます。

シェルログインは禁止されています##

リモートVPSサーバーでgitサーバーを構成している場合、セキュリティ上の理由から、シェルログインを禁止できます。この記事の本来の目的のように、「履歴で最も近いサーバー」を構築することである場合は、この手順を省略できます。

ルートアカウントに切り替えます。

su

/ etc / passwdファイルを編集します。

vi /etc/passwd

この行を変更します。

git:x:502:502::/home/git:/bin/bash

と置換する:

git:x:502:502::/home/git:/usr/local/git/bin/git-shell

結論###

Virtualboxを使用してこのマシンでCentOSを構築すると、開発者がテストするのに便利です。CentOSで独自のGitサーバーを構築することで、独自に開発したコードを管理およびバックアップできます。

Recommended Posts

VirtualBoxのCentOS構成gitサーバー
centosサーバーにvirtualboxをインストールする
virtualboxのCentosネットワーク設定
Percona Serverデータベースのインストール(CentOS 8)
CentOSNTPサーバーのインストールと構成
CentOS7インストールgogsgitコードサーバー
centos6.5環境でのTomcat構成JMX
CentOS7.0ネットワーク構成
CentOS7.0ネットワーク構成
CentOS7の基本構成
CentosMySQL8構成
VirtualBoxインストールcentos7
CentOS7システムでのJDKのインストールと構成
CentOS6.5でのrsyncサーバーのインストールと構成
VMwareWorkstationでのCentOS7のインストールと構成
CentOSビルドプライベートgit
Centos7にMySQL5.7をインストールします
セントスにphpをインストールする
CentOS 7.3+サーバーJRE1.8 + Hadoop-2.8.0
CentOSサーバー展開(YUM)
Centosカーネルコンパイル構成
VirtualBoxはCentOSシステムをインストールします
CentOS6.XはVirtualBox-5.1をインストールします
Mysql8.0.15インストール構成(centos7)
CentOS7にredis5.0をインストールします
CentOSでHadoopを構築する
セントスでのKVM仮想化
CentOS7.6サーバー展開VNC
CentOSでGitサーバーをセットアップするための詳細な手順
CentOS7でOpenV **サーバーを構築する
Centosmysqlのインストールと構成
Centos7.4デプロイメント構成Elasticsearch5.6クラスター
CentOS7でOpenLDAPサーバーを構築する
Centos7のインストールと構成のプロメテウス
CentOS7.6でzabbixモニタリングzabbix4.2をビルドする
CentOS7のインストールと構成PPTP
CentosはGitをコンパイルしてインストールします
CentOSのインストールと構成cmake
CentOS 7.2デプロイメールサーバー(Postfix)
CentOS7ユーザーアカウント構成オリジナル
Centos7.5のインストールと構成MongoDB4.0.4
CentOS7のインストールと構成PPTP
CentOSmysql構成マスタースレーブレプリケーション
Centosでカーネルパニックをデバッグする
CentOS8.0ネットワーク構成の実装
CentOS 7 Redis5.0.8センチネルモード構成
CentOS8ネットワークカード構成ファイル
CentOS7にNginxサーバーをインストールします
gccをcentosで6.4.0に更新します
Centos8はApachehttpd2.4.37を使用して、Webサーバーの手順を詳細にインストールします
CentOS8でNginxサーバー構成ブロックを設定する方法