ubuntu git server
今天開始配置git服務,之前已在ubuntu虛擬機器上配置過,但最後客戶端連線失敗。先重新安裝一次,並記錄過程:
參考:http://my.oschina.net/u/1240239/blog/495654
1、安裝配置git
A、安裝:
sudo apt-get install git-core openssh-server openssh-client
git-core是git版本控制核心軟體
安裝openssh-server和openssh-client是由於git需要通過ssh協議來在伺服器與客戶端之間傳 b、配置:
-
建立所有程式碼倉庫和使用者許可權的管理者git,並更改使用者的密碼。在當前使用者下執行:
sudo useradd -m -s /bin/bash git
sudo passwd git
useradd會在ubuntu上增加一個git使用者
-
建立git倉庫的儲存目錄、更改檔案目錄屬主為程式碼倉庫的管理者git,只讓git使用者對此目錄有許可權。本文件以/srv/git目錄做為git倉庫的儲存目錄。在當前使用者下執行:
sudo mkdir /srv/git
sudo chown git:git
/srv/git
sudo chmod 700
/srv/git
2、安裝配置gitosis
-
-
安裝gitosis前準備
-
初始化git使用者。在任何一臺機器上使用git,第一次必須初始化一下。在當前使用者下初始化全域性的git資訊:
git config --global user.name "jackliu"
git config --global user.email "[email protected]"
-
安裝python的setup tool。在當前使用者下執行如下命令安裝:
sudo apt-get install python-setuptools
-
-
安裝gitosis。在當前使用者下進行安裝,執行如下命令:
cd /tmp
git clone https://github.com/res0nat0r/gitosis.git
上面有2個零啊,不要打錯了
-
-
cd gitosis
-
sudo python setup.py install
預設狀態下,gitosis會將git倉庫放在 git使用者的home下,所以我們做一個連結到/home /repo,su到git使用者,執行如下命令:ln -s /srv
然後退出git使用者,一定要切換到git使用者下執行
-
- 到這一步,/home/git/下沒有repositories這個檔案夾,再檢視,原來有個gitcy使用者,且在那個資料夾裡有了repositories資料夾。可是刪了該使用者後,不管怎麼重複之前打步驟,始終不能生成該資料夾,後來,新建一個虛擬機器測試,git賬戶也不能生成這個資料夾,原來是需要手動建立打。
- 建立/home/git/repositories : sudo mkdir /home/dir/repositories
- sudo chown git:git /home/dir/repositories
- sudo chmod 755 /home/dir/repositories
- ln-s /srv/git /home/dir/repositories
- ssh-keygen -t rsa 在/home/git/.ssh/下生成公鑰
- 切換到其他賬戶,ssh-keygen -t rsa 生成管理員公鑰/home/cy/.ssh/
- scp /home/cy/.ssh/id_rsa.pub [email protected]:/tmp
- su git
- cd /tmp
- sudo chmod a+r id_rsa.pub
- sudo -H -u git gitosis-init < /tmp/id_rsa.pub 初始化管理倉庫
- sudo chmod 755 /home/git/repositories/gitosis-admini.git/hooks/post-update
-
-
在git伺服器上搭建測試專案庫
建立倉庫名“test”的測試倉庫
- mkdir /srv/git/test.git (用git賬戶建立test.git)
- cd /syv/git/test.git
- git
init --bare (初始化倉庫)
- gitosis本身的配置也是通過git來實現的。
- 克隆gitosis-admin.git倉庫
- 切換到管理員賬戶(cy)
- 在git管理員使用者目錄下,
git clone [email protected]<server>:gitosis-admin.git
- 如果出現:
fatal: '~/gitosis-admin.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
改成:sudo git clone [email protected]<Server-IP>:/home/repo/gitosis-admin.git
cd gitosis-admin/
- 該目錄下的keydir目錄是用來存放所有需要訪問git伺服器的使用者的ssh公鑰:各個使用者按照前面提到的辦法生成各自的ssh公鑰檔案後,把所有人的ssh公鑰檔案都拿來,按名字命名一下,比如[email protected], [email protected]等,統統拷貝到keydir下:
su root
cp /path/.ssh/id_rsa.pub ./keydir/[email protected]
-
-
修改gitosis.conf檔案
[gitosis]
[group gitosis-admin]
members = [email protected] [email protected]
writable = gitosis-admin
[group hello]
members = [email protected] [email protected]
writable = test
這個配置檔案說明:
members = 後面跟的一定要和 .pub的字首一致,否則沒有訪問許可權
目前這些配置檔案的修改只是在你的本地,你必須推送到遠端的gitserver上才能真正生效。 加入新檔案、提交併push到git伺服器:
git add .
git commit -am “add test prj and users”
git push origin master
-
gitosis-admin組成員有[email protected], [email protected], 該組對gitosis-admin倉庫有讀寫許可權;
-
hello組有[email protected], [email protected]兩個成員, 該組對test倉庫有讀寫許可權;
-
測試搭建的專案庫
伺服器搭建完了,並且有一個空的專案test在伺服器上。接下來測試一下,空倉庫是不能clone的,所以需要某一個有寫許可權的人初始化一個版本。 下面是在[email protected]客戶端完成。
mkdir test-ori
cd test-ori/
git init
echo “/*add something*/” > hello
git add .
git commit -am “initial version”
git remote add origin [email protected]<server-ip>:test.git
git push origin master
-
新增其他賬戶並clone 在cy-virtual客戶機上
cd ~
ssh-keygen -t rsa
scp .ssh/id_rsa.pub [email protected]<server-ip>:/tmp
服務端:
cp
/tmp/id_rsa.pub <管理員的gitosis-admin目錄>/keydir/cy@virtual.pub
修改gitosis.conf檔案
[group test]
members = 新增
cy@virtual
並提交管理更改
git
add .
git commit -am “and newusers”
git push origin master
現在客戶端可以clone了
客戶端:在需要克隆的目錄:
git clone [email protected]<server-ip>: test.git
完成搭建
-
git 帳號執行sudo ,報不在sudoers檔案中,修改/etc/sudoers,添加當前使用者
-
git ALL=(ALL:ALL) ALL。我是直接新增的git組:@git ALL=(ALL:ALL) ALL
-
如果修改了埠,clone: git clone ssh://[email protected]<serverip>:22/git專案。就是必須加ssh://,以及新增埠。預設埠為22(ssh的埠)
-
Linux中SSH預設埠為22,:
如果使用者想讓22和60000埠同時開放,只需在/etc/ssh/sshd_config增加一行內容如下:
在/etc/ssh/sshd_config中找到Port 22,將其修改為60000,或使用/usr/sbin/sshd -p 60000指定埠。
[[email protected] /]# vi /etc/ssh/sshd_config
Port 22
Port 60000
儲存並退出
[[email protected] /]#service ssh restart
相關推薦
ubuntu git server
今天開始配置git服務,之前已在ubuntu虛擬機器上配置過,但最後客戶端連線失敗。先重新安裝一次,並記錄過程: 參考:http://my.oschina.net/u/1240239/blog/495654 1、安裝配置git A、安裝: sudo
Ubuntu 搭建簡單的git server
簡介 Git 可以使用四種主要的協議來傳輸資料: 本地協議(Local), HTTP 協議, SSH(Secure Shell)協議 Git 協議。 在此,我們將會討論那些協議及哪些情形應該使用(或避免使用)他們。 這裡使用的是ssh協議,採用的是的gitcore搭建的,如果想搭建一個高
UBUNTU上的GIT SERVER
Git是一個開源的版本控制系統,由Linus Torvalds主導,用於支援Linux核心開發。每一個Git工作目錄,都是一個完整的程式碼庫,包含所有的提交歷史。有能力跟蹤所有的程式碼版本,而不會去依賴於網路與中央伺服器。 安裝 Git可以通過以下的命令進行安裝 sudo apt-get install gi
Ubuntu下安裝git server
1.更新:防止安裝git依賴包時出錯 sudo apt-get update sudo apt-get upgrade 2.安裝openssh和openssh-client:安裝問題詳見我的其他部落格 3.安裝git sudo apt-get install git-cor
在Ubuntu上建立Git Server
在 Ubuntu 系統中部署 Git Server 雖然有很多開源的Git倉庫,不過並非所有都盡人意,譬如Github,Gitlab等,不是伺服器不穩定,就是強制開源,又或者有檔案大小,專案數量等方面的限制,我們認為Git服務提供商設定的這些限制是合理的,是無可指責的,但從實際出發,這些免費倉庫並不一定都
已經在Git Server服務器上導入了SSH公鑰,可用TortoiseGit同步代碼時,還是提示輸入密碼?
www 服務器端 com 技術分享 style 訪問 github 情況 ima GitHub雖好,但畢竟在國內訪問不是很穩定,速度也不快,而且推送到上面的源碼等資料必須公開,除非你給他交了保護費;所以有條件的話,建議大家搭建自己的Git Server。本地和局域網服務器都
ubuntu live-server 啟動報錯
sysctl ech inf max 需要 原因 con 很多 使用 背景:在Ubuntu 系統中使用live-server進行刷新時報錯,報錯如下 原因:當前問題主要是因為live-server的watch需要監聽很多文件的改動,但是fedora、ubuntu系統的文件
使用Gitblit 在windows 上部署你的Git Server
pos tail local 日誌信息 pac 分支 delete ava ip地址 Gitblit Gitblit 是一個使用Java來管理Git的軟件,其本身有很多特性分支。關於Gitblit 的詳細情況可以到官網上查看: http://gitblit.com 閑話
linux服務器上搭建gitolite實現對git server的版本庫的權限控制
搭建gitolite一、環境介紹: 1.1Git賬戶管理機器manageip:10.0.0.56 [root@manage ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [root@manage ~]# hostname manage [roo
windows下git server搭建
安裝 修改 epo .net 下載 分享圖片 http win 編輯 使用gitblit1.8搭建 首先要安裝JDK 然後下載gitblit,這裏給一個CSDN下載 https://download.csdn.net/download/nietzsche0/10482683
在Windows上搭建Git Server
Git在版本控制方面,相比與SVN有更多的靈活性,對於開源的專案,我們可以託管到Github上面,非常方便,但是閉源的專案就會收取昂貴的費用。 那麼私有專案,如何用Git進行程式碼版本控制呢?我們可以自己構建Git伺服器。一般來說,在Linux上搭建Git的教程比較多,但是如何
Centos搭建 Git Server
yum install -y git git –version git version 1.8.3.1 新增Git使用者 useradd jggit passwd git#git //新建庫 Cd /home/jggit/data mkdir -p suanfa.gi
在Windows上搭建Git Server (2)
第一步:下載Java,下載地址:http://www.java.com/zh_CN/ 第二步:安裝Java.安裝步驟不再詳述。 第三步:配置Java環境變數. &nb
IBM伺服器安裝Ubuntu Linux server 64以及網路配置
最近在部署AC環境,雲AC要求軟體環境為Ubuntu 14.04 版本的伺服器Linux作業系統,下面是環境部署的準備工作: 一、下載檔案 (1)下載系統檔案 (2)下載md5summer 地址:http://www.md5summer.org --> D
Set Up a Minimal Git Server
Github is well-known and we are enjoying it, but now I will set up a minimal Git server on Ubuntu according to Git on the Server for some reason you h
《Swift入門》Ubuntu 14 server安裝Swift執行環境
Swift的開發環境可以使用蘋果平臺(OS X)或Linux系統(Ubuntu),這裡介紹在我在Ubuntu 14 server下安裝Swift執行環境的過程1、安裝所需的依賴項$ sudo apt-get install clang libicu-dev我是先安裝的clan
企業級Git Server服務的部署與應用
開源的普及,讓使用Git來進行版本控制管理的開發者、團隊、企業也越來越多。 市場上,無論國內外,提供的免費的Git託管服務商也越來越多。Github當然首當其衝,還有Gitlab、Bitbucket等。國內基於Git的程式碼託管也非常多,如果是面向企業,收費其實都不低。最重要的,也不是收費問題,原
golang 實現GIT SERVER基本原理
go語言實現的服務端程式和java一樣很容易做到跨平臺部署。對於私有git伺服器而言,使用golang實現也是一個不錯的選擇。 在 Github 上可以使用 HTTP 協議 fetch 和 push 倉庫中的程式碼, 其實想要寫一個簡單的 Git HTTP Server
最新GitHub新手使用教程(Linux/Ubuntu Git從安裝到使用)——詳細圖解
說明:該篇部落格是博主一字一碼編寫的,實屬不易,請尊重原創,謝謝大家! 一.敘述 1.說明:需要在Windows 安裝Git的同學,可以檢視該篇部落格 https://blog.csdn.net/qq_41782425/article/details/85183250 
團隊合作---使用Gitblit在Windows下搭建Git Server(HTTP)
用過Git之後再使用Svn是很頭疼的事情 於是就讓向老大要了一塊Windows伺服器的地址空間,來搭建Git Server 一、下載Gitblit 二、下載完解壓 (1)解壓之後我的gitblit檔案的路徑: D:\gitblitserver\gitb