ubuntugit伺服器搭建
⑴ ubuntu不能聯網怎麼搭建git伺服器
我使用的gogs+cetos6搭建git伺服器,因為gogs搭建伺服器比較簡單
我給您大概說一下搭建過程
linux伺服器上安裝git
linux伺服器上安裝gogs
運行./gogs web ,然後可以通過瀏覽器訪問: localhost:3000配置伺服器.
最後是開啟防火牆埠3000(gogs默認埠)
因為不熟悉Ubuntu,但是過程是一樣的,您可以嘗試一下 :)
⑵ 怎樣在Ubuntu 14.04中搭建gitolite git伺服器
相比gitosis,gitolite的功能更為強大,支持對許可權的細分控制,學習一下在最新版
的ubuntu
14.04
LTS中搭建gitolite伺服器是非常有必要的,嘿嘿,一會屬於我們自己的GitHub就要出來了!
工具/原料
Ubuntu
14.04
LTS
gitolite
方法/步驟
首先這里我們安裝openssh-server
openssh-client,如果你用的是VPS之類的一般都默認安裝好了,不過運行一個這個命令不會有錯的,如果有安裝就會提示已安裝。
sudo
apt-get
-y
install
openssh-server
openssh-client
安裝git,在這個核心軟體,不可或缺。
sudo
apt-get
-y
install
git
添加gitolite用戶和同名用戶組,加上--system參數,用戶就不會在登陸界面顯示。
sudo
adser
--system
--shell
/bin/sh
--group
--disabled-password
--home
/home/gitolite
gitolite
生成ssh
key,一路回車下來。
ssh-keygen
-t
rsa
將你當前用戶的ssh
pub
key復制到/tmp下備用,由於我用的是桌面版在同一台機器上。
cp
~/.ssh/id_rsa.pub
/tmp/ubuntugege.pub
如果你是ssh遠程登陸到伺服器上安裝,就要把你本地的key復制到遠程的機器上
scp
~/.ssh/id_rsa.pub
gitolite.server:/tmp/ubuntugege.pub
安裝gitolite,在ubuntu中已經集成了,不用自己去下載。
sudo
apt-get
-y
install
gitolite
切換到gitolite用戶環境中,因為我要以gitolite用戶身份去初始化安裝。
sudo
su
-
gitolite
執行初始化安裝gitolite。
gl-setup
/tmp/ubuntugege.pub
把管理庫gitolite-admin克隆過來就可以開始gitolite用戶及代碼庫的管理了,如果不能克隆,那麼就說明初始化的ssh
pub
key錯了,如圖就是成功了。
git
clone
ssh://gitolite@localhost/gitolite-admin.git
⑶ ubuntu搭建git伺服器 後上傳的文件在伺服器的什麼位置
首先這里我們安裝openssh-server openssh-client,如果你用的是VPS之類的一般都默認安裝好了,不過運行一個這個命令不會有錯的,如果有安裝就會提示已安裝。 sudo apt-get -y install openssh-server openssh-client 安裝git,在這個核心軟體,...
⑷ 如何用虛擬機ubuntu搭建git伺服器配置 並可以按照網頁訪問
安裝安裝好後按照提示,配置用戶名與郵箱
2
安裝
3
隨便進入一個git倉庫, 如我的
開啟git web服務: g
默認埠是1234, 在瀏覽器輸入試吧。如果你的主機已經有自己的域名,把localhost 替換成你的域名試試吧.
⑸ 怎麼在ubuntu創建git伺服器
首先這里我們安裝openssh-server openssh-client,如果你用的是VPS之類的一般都默認安裝好了,不過運行一個這個命令不會有錯的,如果有安裝就會提示已安裝。
sudo apt-get -y install openssh-server openssh-client
安裝git,在這個核心軟體,不可或缺。
sudo apt-get -y install git
添加gitolite用戶和同名用戶組,加上--system參數,用戶就不會在登陸界面顯示。
sudo adser --system --shell /bin/sh --group --disabled-password --home /home/gitolite gitolite
生成ssh key,一路回車下來。
ssh-keygen -t rsa
將你當前用戶的ssh pub key復制到/tmp下備用,由於我用的是桌面版在同一台機器上。
cp ~/.ssh/id_rsa.pub /tmp/ubuntugege.pub
如果你是ssh遠程登陸到伺服器上安裝,就要把你本地的key復制到遠程的機器上
scp ~/.ssh/id_rsa.pub gitolite.server:/tmp/ubuntugege.pub
安裝gitolite,在ubuntu中已經集成了,不用自己去下載。
sudo apt-get -y install gitolite
切換到gitolite用戶環境中,因為我要以gitolite用戶身份去初始化安裝。
sudo su - gitolite
執行初始化安裝gitolite。
gl-setup /tmp/ubuntugege.pub
把管理庫gitolite-admin克隆過來就可以開始gitolite用戶及代碼庫的管理了,如果不能克隆,那麼就說明初始化的ssh pub key錯了,如圖就是成功了。
⑹ linux怎麼搭建git伺服器
GitHub就是一個免費託管開源代碼的遠程倉庫。但是對於某些視源代碼如生命的商業公司來說,既不想公開源代碼,又捨不得給GitHub交保護費,那就只能自己搭建一台Git伺服器作為私有倉庫使用。
搭建Git伺服器需要准備一台運行Linux的機器,強烈推薦用Ubuntu或Debian,這樣,通過幾條簡單的apt命令就可以完成安裝。
假設你已經有sudo許可權的用戶賬號,下面,正式開始安裝。
第一步,安裝git:
$ sudo apt-get install git
第二步,創建一個git用戶,用來運行git服務:
$ sudo adser git
第三步,創建證書登錄:
收集所有需要登錄的用戶的公鑰,就是他們自己的id_rsa.pub文件,把所有公鑰導入到/home/git/.ssh/authorized_keys文件里,一行一個。
第四步,初始化Git倉庫:
先選定一個目錄作為Git倉庫,假定是/srv/sample.git,在/srv目錄下輸入命令:
$ sudo git init --bare sample.git
Git就會創建一個裸倉庫,裸倉庫沒有工作區,因為伺服器上的Git倉庫純粹是為了共享,所以不讓用戶直接登錄到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾。然後,把owner改為git:
$ sudo chown -R git:git sample.git
第五步,禁用shell登錄:
出於安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改為:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
這樣,git用戶可以正常通過ssh使用git,但無法登錄shell,因為我們為git用戶指定的git-shell每次一登錄就自動退出。
第六步,克隆遠程倉庫:
現在,可以通過git clone命令克隆遠程倉庫了,在各自的電腦上運行:
$ git clone git@server:/srv/sample.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.
剩下的推送就簡單了。
⑺ 如何在ubuntu系統上建立git倉庫
一、 在 Ubuntu 系統中部署 Git Server
在Ubuntu系統中,這一步相當簡單,只需要在Terminal中輸入
sudo apt-get update
完成這一步後,就可以安裝 git core 組件,通常情況下,安裝在系統中的git 只是一個簡單的客戶端,包括一些最基本的命令以及特性,而作為保管代碼的倉庫,則還需要其他特性支持,所以需要安裝 git core,如果之前已經安裝了 git,那麼仍然需要安裝 git core
sudo apt-get install git-core
二、配置Git Server
完成這兩步之後,就可以開始配置 Git Server 了。
增加 developers 組以及創建保存項目的倉庫
需要創建一個新的用戶組,並且將創建的倉庫都放置在名為 git 的用戶下,當然git 要隸屬於 developers 組,這樣也是為了方便將來的管理需要。
sudo groupadd developers
cd /home/
sudo mkdir git
sudo useradd git -d /home/git
以上四個命令分別為創建 developers 用戶組, 並在/home/ 文件夾下為名為 git 的用戶創建工作目錄,創建名為 git 的用戶賬戶並將它的工作目錄指向/home/git。
之後,需要將增加的用戶添加到 developers 用戶組中,這一步一般通過修改/etc/group 文件達成,在正式修改 /etc/group 文件前或許需要先做一個備份。找到創建的用戶組,譬如例子中創建的 developers。或許能在文件中看到類似的一行:
developers:x:1003:
將剛才創建的用戶 git,添加到developers中,當然也可以添加其他的「開發者」,就像這樣
developers:x:1003:git,tom,francklin,james
創建代碼倉庫,並修改許可權。現在,回到創建好的工作目錄 /home/git/,可能需要通過命令cd 來完成將工作路徑由 /etc/ 切換為 /home/git/,然後讓在 git 下創建一個新的倉庫
sudo mkdir yourproject.git
sudo chgrp developers yourproject.git
sudo chmod g+rws yourproject.git
需要將創建的文件夾的所有人由 root 修改為 developers,這樣當在本地上傳代碼至倉庫時就不會遇到許可權不夠的問題。其次需要將倉庫的所有權修改,也可以用「777」修改倉庫的許可權,不過不建議這樣做。
sudo git init —bare —shared yourproject.git
在正式上傳代碼至倉庫前,還需要對倉庫進行初始化,請注意這里和平常使用方式的不同,—bare 指定創建的倉庫為公共倉庫,—shared 將使其他人都有許可權將他們的代碼提交至這個倉庫中。
三、提交代碼
使用SSH進行提交代碼,需要在GIT Server上先安裝SSH伺服器,可以使用 apt-get 安裝 SSH 伺服器。
sudo apt-get install openssh-server
在伺服器上安裝好 ssh 之後,可以使用 ssh localhost 試著登錄一下。在沒做其他配置的情況下,一般會要求輸入用戶名和密碼,之後會提示登錄成功。可以在登錄成功後,使用 ls -l 或者 ll 命令查看當前工作路徑下有哪些文件和目錄,之後,需要使用 exit 退出 ssh 登錄。
在本地客戶端上,可能需要創建隸屬於 developers 組的用戶,當然這一步並非必須。
$ sudo groupadd developers # 創建developers用戶組
$ sudo mkdir -p /home/git # 創建主目錄
$ sudo useradd git -d /home/git -g developers # 創建git用戶,並制定其默認的工作路徑和隸屬的用戶組
$ sudo passwd git # 為git設置密碼
登錄到系統,並使用 passwd username 為用戶指定一個密碼:
$ sudo passwd git # 為用戶git指定密碼為1234
之後你再次嘗試一次,那麼就會成功的把公鑰發送給 GIT Server 了。可以使用 ssh [email protected] 試一試,看看能不能免密碼登錄至 GIT 伺服器上。
完成這些後,就可以上傳自己的代碼、或者從 Git server 上拉取代碼了。
git remote add origin [email protected]:/home/git/yourproject.git
git push origin master
四、可能出現的錯誤
如果出現了類似的錯誤
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for .net has changed,
and the key for the according IP address xx.xx.xxx.xxx
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /Users/user/.ssh/known_hosts to get rid of this message.
Offending key in /Users/user/.ssh/known_hosts:5
RSA host key for .net has changed and you have requested strict
checking.
Host key verification failed.
處理方法是,刪除客戶端的 .ssh/known_hosts 文件。
⑻ 如何在Ubuntu上幾步搭建Git Server
搭建Git伺服器需要准備一台運行Linux的機器,強烈推薦用Ubuntu或Debian,這樣,通過幾條簡單的apt命令就可以完成安裝。 假設你已經有sudo許可權的用戶賬號,下面,正式開始安裝。 第一步,安裝git: $ sudo apt-get install git
⑼ 怎麼在win10下訪問搭建在ubuntu上的gitlab伺服器
GitLab是由Ruby語言開發的基於Linux的Git伺服器,是我見過的最強大的Git伺服器。發現它之後,立即決定將Git伺服器換成GitLab。但安裝好GitLab之後面臨一個問題,如何將伺服器上的git項目直接導入到GitLab,之前的Git伺服器是由是git+apache搭建的(詳見在Linux上用Apache搭建Git伺服器)。
在網上發現了這篇文檔——Import bare repositories into your GitLab instance,並按之進行了操作。
1)設置存放代碼庫的主目錄
vi /etc/gitlab/gitlab.rb
比如這里設置為:git_data_dir "/gitlab/repos"
2)訪問剛搭建的GitLab站點,創建一個group,比如cnblogs。
這時會在 /gitlab/repos 下創建 /gitlab/repos/repositories/cnblogs 文件夾。
然後在/gitlab/repos/repositories/創建一個文件夾,比如cnblogs
3)將現有的所有git項目文件復制到這個文件夾
cp -r /data/git/* /gitlab/repos/repositories/cnblogs
4)修改一下復制過來的文件夾的所有者:
chown -R git:git /gitlab/repos/repositories/cnblogs
5)運行GitLab導入命令
cd /var/opt/gitlab
gitlab-rake gitlab:import:repos
等了一段時間之後,顯示done,卻一個項目也沒導入進來。
經研究發現,在導入時,GitLab只認文件夾名以.git結尾的項目。於是,將要導入的項目文件夾名稱加上.git後綴,再次進行導入。
結果顯示導入成功,比如:
Processing cnblogs/CNBlogsJob.git
* Created CNBlogsJob (cnblogs/CNBlogsJob.git)
Done!
可以是GitLab站點上卻看不到已導入的項目。多次努力,也沒能解決這個問題。
後來,實在沒辦法,改為手動導入,導入方法如下:
1)在GitLab站點上創建與要導入的項目同名的項目。
2)進入剛創建的項目文件夾
cd /gitlab/repos/repositories/cnblogs/項目名稱.git
3)刪除該文件下的所有文件
rm -rf *
4)將要導入的項目文件夾下的所有文件復制過來
cp -r /data/git/CNBlogsJob/* /gitlab/repos/repositories/cnblogs/CNBlogsJob.git
就這樣將項目一個一個地導入進來。
5)導入完成後,修改一下導入的所有項目的文件所有者
chown -R git:git /gitlab/repos/repositories/cnblogs
如果不修改所有者,客戶端無法進行git push。
就這樣手動地完成了現有Git項目的導入。
備註:操作系統是CentOS 6.2,GitLab版本是7.8.4。