CentOS 安裝 git 伺服器 CentOS + Git 1.8.5 + gitosis(手記)

來源:互聯網
上載者:User

這兩天在折騰搭建組內的git伺服器環境,剛開始本來想嘗試使用gitlab的,但是安裝起來對於我這樣的linux菜鳥來說有點困難,折騰了半天gitlab沒弄好就果斷放棄了。

然後網上找了些文章來照著弄,可能是由於伺服器的版本、軟體的版本不同等原因,總之我就沒找到一篇文章能按照它上面說的完全順利的安裝成功,再加上自己沒怎麼接觸過git,所以期間費了不少力氣。

我是已一篇文章為主,按照它的說法安裝下來,出現問題了就問Google大叔,找到解決方案再回到安裝流程繼續下去,最後終於成功了。

由於自己對git的不瞭解,在建立其他使用者公用一個項目的時候繞了很大個圈子,差不多搞了一晚上才明白,??~~

Anyway,皇天不負有心人呐,最後還是基本上弄好了。明天和小夥伴們一起測測試試看~ Good night~~

安裝手記如下:

1、安裝 git

 代碼如下 複製代碼
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

2、下載git源碼(http://code.google.com/p/git-core)

 代碼如下 複製代碼
cd /usr/local/src
wget https://git-core.googlecode.com/files/git-1.8.5.tar.gz
tar -zvxf git-1.8.5
cd git-1.8.5
make prefix=/usr/local/git all
make prefix=/usr/local/git install

———————————————————
如果編譯時間提示錯誤:
LINK git-credential-store
libgit.a(utf8.o): In function `reencode_string_iconv’:
/opt/git-master/utf8.c:530: undefined reference to `libiconv’
libgit.a(utf8.o): In function `reencode_string_len’:
/opt/git-master/utf8.c:569: undefined reference to `libiconv_open’
/opt/git-master/utf8.c:588: undefined reference to `libiconv_close’
/opt/git-master/utf8.c:582: undefined reference to `libiconv_open’
collect2: ld 返回 1
make: *** [git-credential-store] 錯誤 1

解決辦法:

 代碼如下 複製代碼
cd /usr/local/src/
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure –prefix=/usr/local/libiconv  &&  make  && sudo  make install

然後回到git繼續編譯:

 代碼如下 複製代碼
cd /usr/local/src/git-1.8.5
make configure
./configure –-prefix=/usr/local –with-iconv=/usr/local/libiconv
make
make install

此時,git應該編譯安裝成功了,可以測試下:

 代碼如下 複製代碼
cd /usr/local/bin
./git –version
git version 1.8.5

可能你會發現為什麼直接在命令列輸入git卻提示無效呢,這裡還需要做點設定,編輯/etc/profile, 將/usr/local/bin加入到系統路徑:

 代碼如下 複製代碼
export PATH=$PATH:/usr/local/bin

儲存退出,再重新整理一下系統路徑:

 代碼如下 複製代碼
source /etc/profile

在終端直接輸入 git –-version
如能正確顯示版本,git version 1.8.5,則大功告成。
———————————————————

3、安裝 gitosis

 代碼如下 複製代碼

yum install python python-setuptools

cd /usr/local/src
git clone git://github.com/res0nat0r/gitosis.git
cd gitosis
python setup.py install

———————————————————
如果安裝時報錯如下:
Traceback (most recent call last):
File “setup.py“, line 2, in <module>
from setuptools import setup, find_packages

ImportError: No module named setuptools

解決方案:

 代碼如下 複製代碼
cd /usr/local/src
wget http://python-distribute.org/distribute_setup.py
python distribute_setup.py

然後再運行

 代碼如下 複製代碼
python setup.py install

如果顯示Finished processing dependencies for gitosis==0.2  表示安裝成功
———————————————————

4、在開發機上產生密鑰並上傳到伺服器上

 代碼如下 複製代碼
ssh-keygen -t rsa   #一路斷行符號,不需要設定密碼
scp ~/.ssh/id_rsa.pub root@192.168.103.10:/tmp   #上傳公開金鑰到伺服器(預設SSH連接埠22)

scp -P 3600  ~/.ssh/id_rsa.pub root@192.168.103.10:/tmp

5、伺服器上產生git使用者,使用git使用者並初始化gitosis

 代碼如下 複製代碼

adduser -m git
su – git
gitosis-init < /tmp/id_rsa.pub
#顯示以下資訊即表示成功
#Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
#Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/

#刪除密鑰
su – root
rm -rf /tmp/id_rsa.pub

6、在開發機上匯出管理

 代碼如下 複製代碼
mkdir -p /repo
cd /repo
git clone git@xxx:gitosis-admin.git
或 git clone ssh://git@xxx:3600/gitosis-admin.git

7、增加及設定管理項目

 代碼如下 複製代碼

cd /repo/gitosis-admin
vim gitosis.conf
#在檔案尾增加以下內容
[group test] # 組名稱
writable = test # 項目名稱
members = jankerli #密鑰使用者名稱

#提交修改
git add .
git commit -a -m “add test repo”
git push

8、初始,增加及使用項目test-git

 代碼如下 複製代碼
cd /repo
mkdir test-git
cd test-git
git inti
touch readme
git add .
git commit -a -m “init test-git”
git remote add origin git@xxx:test.git
git push origin master

9、在 test 項目新增使用者
①在新增使用者的本機輸入ssh-keygen -t rsa產生私密金鑰公開金鑰;
②把產生的公開金鑰id_rsa.pub上傳或複製到 gitosis-admin/keydir檔案夾下,並重名,如:jankerli.pub;
③vim gitosis.conf

 代碼如下 複製代碼
#在檔案尾增加以下內容
[group test]
writable = test
members = jankerli (此處增加新使用者的名稱,名稱必須與上面重名的jankerli.pub一致,去掉.pub)
④#提交修改
git add .
git commit -a -m “add test repo”
git push

⑤新使用者便可通過 git clone git@xxx:test.git 複製代碼到本機了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.