自分のコードを管理するときは、常にgithubを使用します。プライベートプロジェクトは公開したくない場合があります。GitHubに配置したい場合は、お金を使わなければなりません。この問題の解決策は、実際には非常に簡単です。コンピューター上で仮想マシン(VirtualBox)を使用してサーバー(CentOS)を実行し、sshサーバーとgitサーバーを構成します。言われているように:歴史上あなたに最も近いサーバー。
SSHは、プログラマーが自宅のサーバーに接続するためになくてはならないものです。したがって、VirtualBoxにCentOS(最小インストール)をインストールした後の最初のジョブは、SSHを構成することです。
ssh-keygen -t rsa -C "[email protected]"
自分のメールボックスに入るように注意してください
パスワードの入力を求められますが、空白のままにすることができます(少なくとも、空白のままにしておきます。パスワードを入力するのは面倒です)。
完了すると、 id_rsa
と id_rsa.pub
の2つのキーファイルが .ssh
ディレクトリに生成されます。
コンピュータを変更してシステムをやり直した場合でも、これら2つのファイルを保存するように注意してください。忘れずにバックアップしてください。
ip addr
写真が示すように:
ssh [email protected] -p 22
xxx.xxx.xxx.xxxはCentOSのIPアドレスであり、CentOSのルートアカウントのパスワードも入力する必要があります。この時点で使用されているSSHログインは、キーをauthorized_keysにコピーするためのものです。
CentOS
サーバーで構成します。//作成する.sshフォルダー:
mkdir .ssh
//承認済みの作成_キーファイル:
touch .ssh/authorized_keys
//許可された変更_キーの許可:
chmod 600.ssh/authorized_keys
cat .ssh/id_rsa.pub
vi .ssh/authorized_keys
図に示すように、ポート転送を設定します。
上記の操作は、クライアント(Mac)でエイリアスログインを設定するときにipアドレスを127.0.0.1として書き込むことで、CentOSが起動するたびにip変更が自動的に取得されないようにし、変更するのが面倒です。
vi .ssh/config
次のように入力します:
Host cent
HostName 127.0.0.1
User root
Port 4444
セントはエイリアスで、自由に設定できます。
ssh cent
SSHを使用してCentOSに接続することにより、すべての操作をクライアントマシン(Mac)で実行できます。
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
yum remove git
cd /usr/local
mkdir git
cd git
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)にアクセスして、最新バージョンのリンクをコピーしてダウンロードできます。
tar -xzvf v2.13.2.tar.gz
cd git-2.13.2
make prefix=/usr/local/git all
make prefix=/usr/local/git install
コンパイルプロセスは少し長くなります。辛抱強く待ってください
vi /etc/profile
参加する
export PATH="/usr/local/git/bin:$PATH"
構成をすぐに有効にする
source /etc/profile
git --version
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
groupadd git
useradd git -g git
passwd git
gitアカウントに切り替えます
su -git
.ssh
ディレクトリと.ssh / authorized_keys
ファイルを作成し、クライアント(Mac)のid_rsa.pubのキーをauthorized_keys
ファイルに追加します。
ディレクトリとファイルの権限を変更する
chmod 700.ssh
chmod 600.ssh/authorized_keys
cd /home/git
mkdir gitrepos
cd gitrepos
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