5個步驟給自己搭建一個簡單的GIT伺服器
前段時間購買了一個雲伺服器,想在上面自己東西。對於程式猿來講,程式碼的修改記錄是個非常重要的事情,自己搞個git庫就理所當然,在網上搜了搜記錄,參考了一下,基於我個人使用的原因,沒有加入許可權管理那些特性極其對應的控制元件。
1、安裝git
sudo apt-get install git-core
2、git的資料交換跟互動是基於ssh的,需要給系統配置ssh服務,通過 ps -ef|grep sshd看看系統是否已經有ssh服務,
如果沒有則安裝 sudo apt-get install openssh-server openssh-client
sudo useradd git(建立名稱為git的使用者)
sudo passwd git(git使用者對應的密碼也是git)
sudo mkdir /home/git/repositories
sudo chown git:git /home/git/repositories
sudo chmod 755 /home/git/repositories
5、切換到git使用者並建立伺服器倉庫
su git
cd /home/git/repositories初始化一個倉庫名稱為alloySQL
git init --bare alloySQL.git
最後在客戶端上驗證一下:在客戶端命令列輸入:git clone [email protected]:/home/git/repositories/alloySQL.git
123.207.96.87 為我的git伺服器的IP地址(我的雲伺服器地址)
根據提示先輸入yes,然後輸入密碼git使用者的密碼(上面設定為git)
之後就可以在客戶端看到 alloySQL這個目錄了,進入這個目錄,修改這目錄裡面的檔案,就能把修改push到伺服器了
-------------------更新1----------------------
解決ssh不能新增已訪問的主機到信任列表的問題(Failed to add the host to the list of known hosts)
在ssh訪問一個伺服器的時候第一次會提示簽名驗證,只要同意之後就會將這個host新增到~/.ssh中的known_hosts中,以後再連線就不會再出現提示了。
但是有的時候每次還是提示,這個原因可能是因為用root許可權移動或使用者的home資料夾位置,所以產生許可權問題
解決方法(假如是ubuntu使用者)
sudo chown ubuntu ~/.ssh/
sudo chown ubuntu ~/.ssh/*sudo chmod 764 ~/.ssh
sudo chmod 764 ~/.ssh/*
-------------------更新2----------------------
上面的方法再每次提交修改到伺服器的時候都會要求輸入密碼,這個比較麻煩,為了解決這個問題,可以將客戶端使用者ssh key寫入伺服器端git使用者的authorized_keys檔案中,具體操作
1、在客戶端shell命令列輸入: ssh-keygen
會在~/.ssh/id_rsa.pub 這個公鑰檔案
2、把上面這個公鑰檔案內容上傳到git伺服器,保證git使用者可讀
伺服器在su到git使用者狀態時輸入 cat id_rsa.pub >> ~/.ssh/authorized_keys