1. 程式人生 > >一步一步搭建git私有倉庫伺服器記錄

一步一步搭建git私有倉庫伺服器記錄

1、首先安裝好linux系統,本文以Ubuntu為例進行解析 2、安裝好系統開啟終端       1> sudo passwd重置root賬戶密碼           sudo + passwd + 賬戶名重置該賬戶密碼       2> sudo apt-get update 更新庫到最新 3、sudo apt-get install git-core openssh-server openssh-client       安裝git伺服器所需的軟體 4、安裝gitosis(已停止更新建議使用gitoslite代替,可實現像svn一樣的變態的許可權控制)      1> 由於gitosis以來Python的一些工具,需先確認Python已正常安裝      2> 安裝setuptools,sudo apt-get install python-setuptools 
     3> 初始化git伺服器使用者資訊           git config --global user.name "暫時隨便填,作用不大"           git config --global user.email "隨便填,作用暫時不大"      4> 安裝gitosis,用來管理使用者金鑰對(client傳過來的公鑰,方便許可權管理)                cd gitosis (進入目錄)                sudo python setup.py install (執行安裝指令) 5、建立git管理使用者      sudo useradd -m git
(建立git使用者)      sudo passwd git (更新git使用者密碼) 6、建立倉庫儲存      --1、sudo mkdit /home/gitrepositories     (建立倉庫儲存位置)--(可選步驟)      --2、sudo chown git:git /home/gitrepositories     (更改倉庫許可權只有git使用者可訪問(root也可)) -- (可選步驟)      --3、sudo chmod 700 /home/gitrepositories     (更改倉庫讀寫許可權)      --4、sudo ln -s /home/gitrepositories/ /home/git/repositories     (可選步驟,若1-2-3執行了,則4必須執行)         備註:gitosis預設狀態下會將倉庫放在使用者的repositories目錄下,例如git使用者的倉庫地址預設在
/home/git/repositories/目錄下 7、建立管理員金鑰對      1、若直接在伺服器建立,則直接執行           ssh-keygen -t rsa      2、mac同Linux建立方式      3、window在git-bash下建立方式同Linux,在openssh下建立則參照window建立rsa非對稱金鑰對<不過這種方式建立的金鑰對,暫時好像存在問題,還沒有弄清問題出在哪兒,應該是建立金鑰對,沒有正常新增到git金鑰串中,導致git使用訪問時出問題>)      4、把建立的公鑰放到伺服器任意資料夾目錄,一般/tmp或者登陸使用者目錄下,以便不同使用者均能正常訪問(保證使用者均能正常訪問)。      5、使用公鑰初始化管理員倉儲(gitosis-admin.git)           1>sudo -H -u git gitosis-init < /tmp/id_rsa.pu     (一般建立方式,普通使用者<非root或git使用者>,如果在git使用者下該中方式需要在/etc/sudoer檔案(更改檔案許可權為可編輯(sudo chmod 700 ...))中新增git的root許可權(複製root ALL..行,更改root為git使用者,更改完sudoer許可權,需要把該檔案的許可權重新設定為440))           2>gitosis-init < /tmp/id_rsa.pub     (該種方式用於當前使用者就是git使用者,且git具有root許可權,具有gitosis-init和git倉儲儲存的訪問許可權下,一般不用)      6、初始化後的git管理許可權配置倉儲應該在/home/git/repositories/下      7、配置post-update許可權     (暫時沒發現具體作用)           sudo chmod 755 /home/gitrepository/gitosis-admin.git/hooks/post-update 8、到生成管理金鑰對的機器上建立gitadmin資料夾,名字隨意。      sudo mkdir gitadmin
     cd gitadmin  9、clone管理倉儲           git clone [email protected]:/gitosis-admin.git  <測試在win下和mac下>   (此處正常情況下,直接就是伺服器ip:/倉儲,或者是ip:/home/git/repositories/倉儲<備註:懷疑是Linux的許可權造成的,上述兩種方式,只要能正常clone不需要驗證密碼就是可以的,需要密碼一般是由於相對路徑存在問題或者找不到金鑰造成的>,兩種方式都可能產生ERROR:gitosis.serve.main:Repository read access denied fatal: Could not read from remote repository.也就是說產生該種錯誤並不都是由放在keydir/目錄下公鑰名稱和gitosis.conf中配置不一造成的<當然名稱不一也會產生上述型別的錯誤>)           在同臺Ubuntu伺服器上進行clone倉儲時,路徑一般為[email protected]:/home/git/repositories/倉儲。否則,容易產生fatal: '/repositories/5060.git' does not appear to be a git repository fatal: Could not read from remote repository.錯誤。<具體原因還未弄懂,以後更新吧> 10、新增其他成員(client)的公鑰      1> 把client的公鑰放到9中clone的gitosis-admin.git/keydir/目錄下,名稱隨意(但是要和配置在gitosis.conf中的members名稱一致),字尾為.pub。      2> 然後配置該client的倉儲訪問許可權。如: <注:多個成員寫作同個倉儲,則在members後面一次新增公鑰名稱,以空格隔開(不能多個group,同個倉儲名)>,許可權配置一般為一個倉儲一個group。           [group git-test]           writable = 倉儲(不帶.git) <此處配的倉儲一般為已經存在git伺服器的倉儲>                /*readonly = 倉儲*/           memberes = 步驟1>中配置的pub名稱,不帶.pub。 成員1 成員2      3> 提交配置修改      git add gitosis.conf      git add keydir/成員.pub      git commit -m "message 日誌"      git push origin master      4> 一般提交修改後,都要去伺服器重啟sshd服務           sudo /etc/init.d/ssh restart  <或sudo /etc/init.d/sshd restart>
11、一般空倉庫的建立都要在伺服器產生或者由管理員在本地生成再push到伺服器      git init --bare sample.git     (一般與gitosis-admin.git同目錄建立)
12、其他錯誤記錄      1> ERROR:gitosis.serve.main:Repository read access denied fatal: Could not read from remote repository 或一直需要輸入密碼 [email protected]:/home/git/repositories/gitosis-admin.git     (使用預設/homet/git/repositories/gitosis-admin.git時容易產生沒有許可權或者找不到證書git操作時需要一直輸入密碼問題吧),應使用正確:[email protected]:/gitosis-admin.git。           2> ERROR:gitosis.serve.main:Repository read access denied fatal: Could not read from remote repository      可能是gitosis.conf中配的members名稱和keydir/目錄中新增的公鑰名稱不一致。如:members = 成員1 , 成員1.pub      3> 
13、git的其他操作有待之後學習完善

相關推薦

搭建git私有倉庫伺服器記錄

1、首先安裝好linux系統,本文以Ubuntu為例進行解析 2、安裝好系統開啟終端       1> sudo passwd重置root賬戶密碼           sudo + passwd + 賬戶名重置該賬戶密碼       2> sudo

Centos7搭建Harbor私有倉庫()

eas entos 使用 gis 搭建 name ref 說明 vim 1 說明 前文Centos7搭建DockerRegistry介紹了DockerRegistry的搭建,但它沒有UI頁面,因此選擇Harbor 以下基於鏡像CentOS-7-x86_64-Minimal

Git學習()---Windows平臺下搭建Git本地倉庫

安裝Git Windows下要使用很多Linux/Unix的工具時,需要Cygwin這樣的模擬環境,Git也一樣。Cygwin的安裝和配置都比較複雜,就不建議你折騰了。不過,有高人已經把模擬環境和Git都打包好了,名叫msysgit,只需要下載一個單獨的

CentOS7搭建Docker私有倉庫----Docker

服務 tar 由於 安全 lib mage 本地倉庫 用戶 鏡像 有時候使用Docker Hub這樣的公共倉庫可能不方便,這種情況下用戶可以使用registry創建一個本地倉庫供私人使用,這點跟Maven的管理類似。目前Docker Registry已經升級到了v2,最新版

Docker基礎-搭建本地私有倉庫

ubuntu acf docker倉庫 rep repo ref yun osi 重啟 1、使用registry鏡像創建私有倉庫   安裝Docker後,可以通過官方提供的registry鏡像來簡單搭建一套本地私有倉庫環境: docker run -d -p 5000:5

docker搭建私有倉庫,卻從谷歌下載鏡像的問題???

docker為kubelet添加一個額外的參數 // 這樣kubelet就不會在啟動pod的時候去墻外的k8s倉庫拉取pause-amd64:3.0鏡像了KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.

搭建docker私有倉庫

str tutorial login text author 數據保存 標簽 -a let 搭建docker私倉,可以使用docker官方提供的registry鏡像。該鏡像目前有2.0,2.3和2.3.1版本。它只與1.6.0以上版本的docker兼容。搭建私倉的步驟如下

搭建docker私有倉庫(用戶認證、web管理)

docker倉庫 http equal rec pre art link spa code ubuntu:16.04 docker:18.06.0-ce docker倉庫服務器:192.168.83.102 ---------------------------------

通過Nexus搭建maven私有倉庫,並通過gradle上傳jar

pre install oss 通過 epo 選擇 配置 容器 ffffff 安裝nexus 安裝docker``·bashyum install docker-ce 拉取鏡 docker pull registry.docker-cn.com/sonatype/nex

maven搭建私有倉庫過程記錄

maven搭建私有倉庫過程記錄 一、下載maven          https://maven.apache.org/download.cgi 二、下載nexus 百度網盤地址:https://pan.baidu.com

如何在伺服器搭建Git版本倉庫?------玉米都督

最近要做一個django的商城網站放在伺服器上,. 以前都是用xftp 直接上傳修改原始碼.但是發現這種方法太lowB 所以需要學習一下git 技術   網站原始碼沒有放在git倉庫下,伺服器上分了2個部分,一個是git自己的版本控制,另外一個則是git 的鉤子 勾到

基於gogs搭建Git私有服務

一、基於gogs搭建Git私有服務 1、Git遠端通訊詳解   在我的上一篇文章裡面說Git是一個分散式的系統,既然它是一個分散式的系統那就肯定會涉及到遠端通訊,那麼Git是採用什麼協議來進行遠端通訊呢? a、Local(本地協議)   Local本地協議就是基於本地檔案

git私有倉庫與pycharm聯合使用

1、建立git私有倉庫和pycharm的使用 [[email protected] home]# pwd /home [[email protected] home]# useradd -s /usr/bin/git-shell git #建立git使用者並制定登

docker 搭建本地私有倉庫及映象上傳時HTTPS client問題解決(windows 10)

1, 設定容器可訪問的盤: 點選小鯨魚圖片,滑鼠右鍵-》settings->Shared Drives,進行設定,選擇相應的盤,比如E盤,然後點選“Apply”,如圖   2, 下載registry映象: 執行命令docker pull

使用Nexus3.x搭建Docker私有倉庫

1、啟動 Nexus 容器(啟動Nexus前最好先確定私有倉庫的埠) $ docker run -d --name nexus3 --restart=always \ -p 5000:5000 -p 8081:8081 \ --mount src=nexus-data

利用win10的Linux子系統在PC上搭建git遠端倉庫

在windows上搭建git遠端倉庫一直比較麻煩,主要是由於windows的ssh服務支援比較難辦。Microsoft Store現在提供了一個名為Ubuntu的免費App,執行後可以在windows10上建立一個沒有圖形介面的ubuntu子系統並自帶ssh服

Docker自學紀實(六)搭建docker私有倉庫

docker的映象倉庫分兩種:一種是從官方公有倉庫拉取;還有就是自己搭建私有倉庫。官方的映象倉庫是面對整個應用市場的;私有倉庫一般用於公司內部,就是公司專案自身所需的映象。搭建私有倉庫有什麼好處?私有倉庫,是在公司內網伺服器上搭建的,不受外網影響,響應時間快,而且方便整理。OK,下面開始。準備環境:cento

03搭建docker私有倉庫

         搭建docker私倉,可以使用docker官方提供的registry映象。該映象目前有2.0,2.3和2.3.1版本。它只與1.6.0以上版本的docker相容。搭建私倉的步驟如下:

Nexus3搭建Docker私有倉庫並push映象

在前面的文章中,我們已經安裝好了docker,也已啟動了Nexus3,接下來我們就在Nexus3中搭建一個docker的私服。 首先,開啟Nexus3首頁登入(預設使用者名稱為admin、預設密碼為admin123)。 接下來,我們建立docker的私有倉庫,按照下圖中的方

使用sinopia搭建npm私有倉庫

sinopia 的優點:   配置簡單,對環境依賴少(僅 node 就夠了) 支援 windows 系統下執行 不需要資料庫,sinopia內建一個數據庫了 是比較主流的方案   1.安裝sinopia包 2.配置