centos下配置gitosis服务器
背景:
- 一臺windows電腦,Xshell可以登錄centos服務器(centos7.2 64位,有root用戶權限),windows電腦已經安裝好git和tortoies
- 在windows下下載和上傳文件用的是tortoies工具,tortoies版本是1.6(安裝過程中選擇的是tortoiesgitplink)
博客內容大致分以下幾部分:
- 安裝gitosis
- 修改gitosis*權限
- 創建管理員用戶
- 配置gitosis倉庫,初始化
- 添加項目和項目成員
配置步驟:
1、? 在centos下,安裝gitosis。安裝git,用git來下載gitosis安裝包,由于安裝gitosis依賴python庫,在安裝gitosis之前安裝python的setuptools,接著安裝gitosis。
1)? 安裝python-setuptools。
root用戶下:
#yum install python python-setuptools //安裝python-setuptools?
2)? 安裝git 2.5。
root用戶下:
#wget https://www.kernel.org/pub/software/scm/git/git-2.5.0.tar.gz //下載git壓縮包#tar -zxf git-2.5.0.tar.gz //解壓#cd git-2.5.0# ./configure --prefix=/usr/local/git# make && make install //安裝git# ln -s /usr/local/git/bin/* /usr/bin/# git --version //查看git版本,有版本信息則安裝成功?
3)?下載gitosis 2.0,暫存在tmp目錄下。
root用戶下:
#cd /tmp#git clone https://github.com/res0nat0r/gitosis.git //下載gitosis安裝包 # cd gitosis # sudo python setup.py install //安裝gitosis
有finish表示安裝成功。
2、在centos下,修改gitosis文件的權限,將權限改為755,使得root用戶有可寫可讀可執行權限,組和其他用戶有可讀可執行權限。
1)?修改/tmp/gitosis目錄的權限,改成755.
-----root用戶
將/tmp/gitosis目錄下的所有文件的權限改成755,進去gitosis目錄下檢查看看是否所有文件的權限是否都改成了755,確保權限改好了:
root用戶下:
#chmod -R 755 gitosis #ls -la
2)在/usr/bin目錄下找到gitosis的文件,若權限不是755,則修改成755,然后檢查下權限是否都修改好了:
root用戶下:
#cd /usr/bin# ls -l git* //查找文件,看看gitosis文件權限#chmod 755 gitosis* //修改gitosis文件權限
3)進入到/usr/lib/python2.7/sit*下,將 /usr/lib/pyth*/sit*/ gitosis-0.2-py2.7.egg目錄下的文件改成755權限。
---root用戶下:
# cd /usr/lib/python*/sit* //進入/usr/lib/pyth*/sit*目錄 # chmod -R 755 gitosis*
3、在window下,生成私鑰和公鑰,將公鑰上傳到centos服務器,然后在centos服務器上修改公鑰權限(改為755)。
1)在windows下,打開git bash(默認安裝好了git),輸入ssh-keygen,回車三次,出現如下圖則說明密鑰生成成功,密鑰默認保存在c:\usr\電腦名稱\.ssh目錄下,截圖上有生成密鑰的地址:
$ssh-keygen //生成公鑰和私鑰公鑰:id_rsa.pub ? 私鑰:id_rsa
2)將公鑰上傳到centos服務器/tmp目錄下,在這個過程中需要輸入root用戶的密碼。
---git bash下:
//此處我的root用戶名是root,服務器IP地址格式類似:111.11.11.11,將公鑰上傳的目錄是/tmp scp ~/.ssh/id_rsa.pub root用戶名@centos服務器地址:/tmp
3)在centos服務器上tmp查找公鑰權限,將權限改為755。
---root用戶下:
#cd /tmp #chmod 755 id_rsa.pub4、?新建gitosis管理員gittest(管理員名字任意取,我這里取gittest),設置密碼。
1)創建用戶gittest和設置密碼
---root用戶下
#useradd gittest //創建用戶gittest #passwd gittest //給用戶設置密碼//然后在輸入兩遍你設置的密碼,顯示授權信息則創建成功
2)在上一步創建用戶之后,默認會在home目錄生成一個gittest的目錄,將gittest目錄的權限改為755.
---root用戶下
#chmod -R 755 /home/gittest5、用公鑰初始化gitosis,在/home/gittest目錄下生成兩個文件,一個是gitosis,另一個是repotories倉庫。
?---root用戶下
//gittest是gitosis的管理員,/tmp/id_rsa.pub是放置公鑰的目錄 #sudo -H -u gittest gitosis-init < /tmp/id_rsa.pub出現以下信息則配置成功:
6、在本地電腦上新建一個文件夾(默認安裝好了tortoies),然后下載gitosis-admoin倉庫。
1)在文件夾空白處,右鍵git clone,填寫URL和添加私鑰,然后就把倉庫clone下來了,生成了一個gitosis-admoin的目錄。
注:由于我安裝tortoiesgit過程中,默認選擇的是tortoiesgitplink,需要將私鑰由id_rsa改成id_rsa.ppk。用tortoiesgitplink.exe加載id_rsa,然后保存為私鑰id_rsa.ppk。
?
2)在gitosis-admoin的目錄下有keydir和gitosis.conf文件:keydir是放置gitosis用戶的公鑰(格式是git用戶名.pub);gitosis.conf是配置gitosis倉庫中項目和項目用戶的文件。
至此只有管理員gittest可以管理倉庫gitosis-admin。
7、增加項目test,將管理員gittest和xiaoming加入到項目test中,管理員配置test倉庫。配置test倉庫授權給管理員gittest和xiaoming后,管理員gittest和xiaoming可以在本地下載test倉庫,上傳項目test文件及代碼到服務器和和從服務器上下載項目test文件及代碼。
1)在git用戶的window電腦下,讓git用戶按照第3步中生成私鑰和公鑰的方式生成公鑰和私鑰,然后將公鑰交給管理員gittest。git用戶xiaoming將私鑰保管好,后面需要用到。
2)在gittest管理員window電腦上,gittest管理員將xiaoming的公鑰放置在第6步中的keydir目錄下,將公鑰重名為git用戶名.pub(按照我生成密鑰的方法,在公鑰末尾有git用戶名,暫時取名叫lenovo@xiaom)。
a、編輯gitosis.conf,增加項目test,添加參與這個項目的成員管理員和xiaoming。
b、進入gitosis-admin目錄,在空白處右鍵git commit,出現如下對話框:
c、刪除gitosis-admin目錄,再在這個文件空白處,右鍵git clone,將倉庫gitosis-admin下載下來(填寫URL,由于之前填寫過私鑰地址,這次不用再次填寫),可以看到之前修改的文件都改好了。
3)管理員在centos服務器上創建一個test項目的倉庫并初始化。
----gittest用戶
$ cd re* $ mkdir test.git //創建test倉庫,命名需要和gitosis.conf文件中的項目名稱一樣 $ cd liu* $ git init --bare //初始化倉庫test //出現如下信息,說明初始化成功 Initialized empty Git repository in /home/gittest/repositories/test.git/4)管理員可以在自己的電腦上,新建一個文件夾,右鍵git clone,然后填寫URL:gittest@服務器IP地址:test.git和添加自己的私鑰(私鑰與添加到服務器上的公鑰是一對的,意思是要是同時生成的),會出現test的目錄;xiaoming可以在自己的電腦上,新建一個文件夾,右鍵git clone,然后填寫URL:gittest@服務器IP地址:test.git和添加自己的私鑰(私鑰與添加到服務器上的公鑰是一對的,意思是要是同時生成的),會出現test的目錄。管理員和xiaoming可以在test目錄下上傳和下載test項目的代碼和相關文件。
?
?
?
至此,gitosis的服務端和客戶端都配置好了。
在此感謝冉華給予我的幫助?。
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/liusx0303/p/9219312.html
總結
以上是生活随笔為你收集整理的centos下配置gitosis服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 20179214 2017-2018-2
- 下一篇: C#线程--5.0之前时代(一)---