1. 程式人生 > >Windows2008R2下安裝gitosis伺服器(基於cygwin)

Windows2008R2下安裝gitosis伺服器(基於cygwin)

公司最近買了新的伺服器,由於git的大趨勢,公司決定將原來的tfs程式碼管理改為git,而且tfs只限於studio,其他的開發環境基本不適用,所以就最近研究了下git和git的許可權管理。

看了《Git 權威指南》這本書,上面說了Git下許可權管理有兩個比較好的軟體Gitosis和Gitolite,其中Gitolite是基於Gitosis開發的,功能更加強大。由於是剛剛入門,所以選擇了一個功能較少的開始學習,下面是一些安裝和配置的經驗,分享給大家,大體上步奏分為以下幾步:

(1)安裝cygwin和相關軟體。

(2)配置ssh服務。

(3)生成公鑰和私鑰。

(3)安裝gitosis。

(4)使用gitosis。

下面具體說明。

1, 首先是安裝cygwin,在這裡可以下載cygwin的最新版本,基於作業系統的型別選擇x86還是x64進行安裝。

2,雙擊安裝,出現如下頁面,單擊下一步安裝。


3, 選擇Install from Internet,單擊下一步。


4, 選擇安裝路徑,這裡我們選擇D:\cygwin,然後選擇All User。


5,選擇package的儲存目錄,這裡我們選擇D:\Tools\cygwin\package。


6,選擇網路的連線方式,這裡我們選擇Direct Connection。


7,選擇映象下載地址,選擇不同的會有不同的速度,這裡我們選擇了http://mirros.163.com

,也可以選擇自己輸入URL,單擊下一步。


8, 選擇需要下載的軟體。這裡我們要安裝3個軟體:git、openssh和python。在Search對話方塊中輸入對應的名字就可以找到。

(1)git是在Devel目錄下。


(2)openssh在Net目錄下。


(3)python在python目錄下。

9,等待軟體下載,安裝完成。



10,安裝ssh。以管理員執行cygwin的終端,首先修改/etc/passwd和/etc/group的檔案許可權,輸入:

chmod +r/etc/passwd

chmodu+w /etc/passwd

chmod +r/etc/group

chmodu+w /etc/gourp

11,輸入ssh-host-config進行sshd服務安裝。

在Should privilege separation be used? (yes/no),輸入yes。

在new local account 'sshd'? (yes/no),輸入yes,如果裝了360等防毒軟體會提示風險,這裡我們選擇允許。

在(Say "no" if it is already installedas a service) (yes/no) ,輸入yes。

在Enter the value of CYGWIN for the daemon: [] ,輸入ntsec tty。

在Do you want to use a different name? (yes/no),輸入no。

在Create new privileged user account'cyg_server'? (yes/no),輸入yes,在下面彈出的地方輸入密碼,由於我們使用的是Windows2008所以密碼需要由大小寫字母和數字組成。

如果出現*** Info: Host configuration finished. Havefun!字樣表示安裝成功了。

12,以管理員執行cmd,然後輸入net start sshd,開啟ssh服務。


13,配置ssh。ssh可以使用公鑰和私鑰認證,也可以通過密碼進行登入。由於使用密碼登入容易被攻擊者暴力破解,所以我們這裡管理禁用密碼登入和root使用者登入。如果使用密碼登陸,在客戶端輸入:ssh [email protected],在輸入密碼就能夠登入,如圖。

14,用你喜歡的方式修改/etc/sshd_config檔案,進行配置。

修改埠:

將Port 22改為Port 22386(後面這個port的值隨你定)

修改禁用密碼和root登入(注意去掉了前面的#號):

        #PermitRootLoginyes 改為 PermitRootLogin no

#ChallengeResponseAuthenticationyes 改為 ChallengeResponseAuthenticationno

        #PasswordAuthenticationyes 改為 PasswordAuthentication no

#UsePAMno 改為 UsePAM yes

15,修改完成後,重啟sshd服務才能生效,現在發現就不能用密碼遠端登入。PS:如果有防火牆,記得開啟埠的上下行。

16,安裝python工具包,我們這裡安裝的是python2.7,所以要下載對應的工具包。百度搜索setuptools-0.6c11-py2.7.egg,下載工具包,將工具包拷貝到/home/Administrator下。

17,輸入chmod 755 /lib/python2.7/ -R修改讀寫許可權。

18,輸入./setuptools-0.6c11-py2.7.egg安裝工具包。當出現Finished processing dependenciesfor setuptools==0.6c11字樣表示安裝成功。

19,安裝gitosis。在/home/Administrator下新建一個sources目錄,進入sources目錄,然後輸入git clonehttps://github.com/res0nat0r/gitosis.git,進行克隆。

20,進入gitosis目錄,輸入python setup.py install進行安裝。出現Finished processing dependenciesfor gitosis==0.2字樣表示安裝成功。

21,在“控制面板”中新建一個git使用者,標準使用者,密碼自定義。

22,將git使用者新增到cygwin的passwd中,輸入mkpasswd -l -u git >> /etc/passwd,檢視/etc/passwd下git使用者是否新增上了,輸入vi /etc/passwd。

23,,新建一對公鑰和私鑰,輸入ssh-keygen –C “[email protected]” –t rsa,注意這個公鑰和私鑰一定要在cygwin中新建,不然會造成無法匹配,比如說使用windows下的Git Bash下輸入上面同樣的命令,再將公鑰放入公鑰匹配庫,就無法進行匹配。

24,將/home/Administrator/.ssh下的id_rsa.pub(公鑰)拷貝到/tmp目錄下,並輸入:

                  chmod 755 /tmp/id_rsa.pub

進行讀寫許可權的修改。

25,關閉cygwin終端,shift+右鍵點選cygwin桌面快捷方式“以其他使用者身份執行”。

26,在該終端下輸入:

gitosis-init < /tmp/id_rsa.pub

         進行gitosis的安裝,如果出現如圖字樣,表示安裝成功。

27,gitosis的使用和配置。這裡客戶端採用的是windows8的64位系統,安裝了git。

28,將預先生成的私鑰檔案id_rsa檔案拷貝,C:\Users\Administrator\.ssh\目錄下。

29,啟動Git Bash,在你喜歡的位置輸入:

                   git clone ssh://[email protected]:22386/gitosis-admin.git

這樣我們就可以將gitosis的許可權管理倉庫克隆島本地,進行修改。

30,在gitosis-admin目錄下,有一個gitosis.conf檔案,開啟進行編輯,新增如下語句:

        [group test]

         writable = test

然後儲存。

31,在Git Bash下輸入:

         git add .

         git commit –m “just for test”

         git push

出現以下字樣表示提交成功。

32,在你喜歡的位置新建一個test目錄,在裡面新建一個test .txt。然後輸入:

        git init

         git add .

         git remote add originssh://[email protected]:22386/test.git

        git commit –m “just for test”

         git push origin master

成功會出現以下字樣。

33,現在我們可以再伺服器上的D:\cygwin64\home\git\repositories目錄下看到一個test.git。

34,刪除[group test]下members行,這樣我們就不能push到遠端伺服器了,至此達到了管理git倉庫使用者的目的。

參考文獻:

《Git權威指南》-蔣鑫


相關推薦

Windows2008R2安裝gitosis伺服器基於cygwin

公司最近買了新的伺服器,由於git的大趨勢,公司決定將原來的tfs程式碼管理改為git,而且tfs只限於studio,其他的開發環境基本不適用,所以就最近研究了下git和git的許可權管理。 看了《Git 權威指南》這本書,上面說了Git下許可權管理有兩個比較好的軟體Gi

物理機在windows 7 安裝redhat 7雙系統

物理機在windows 7 下安裝redhat 7(雙系統)linux 物理機掛載 真實機掛載 紅帽7 老唐 安裝之前,我們先把紅帽7的鏡像文件刻入U盤,用於後面在物理機上安裝linux。刻入工具我們用UltraISO 這個軟件。UltraISO 軟件大家可以在百度下載!!!打開軟件選擇 紅帽7

Mac OS X安裝Vue腳手架vue-cli

前言 Vue作為前端三大框架(Angular,React,Vue)之一,號稱是最簡單,最容易上手的框架,同時也是行內的大趨勢,還可以用來開發最火的小程式。具有開發快,雙向資料流等特點,有些人認為Vue是Angular和React的結合,既有Angular的模板語法也有React的元件化體系,以至於促使其發展

linux centos6.8 安裝svn伺服器yum方式

1.檢視yum是否安裝          在終端中輸入yum即可如果已經安裝,會顯示yum的引數          如果沒有安裝,會提示yum未安裝或無效命令…… 2.安裝svn yu

內網搭建一個yum源伺服器基於httpd

環境 httpserver 192.168.182.143 客戶端使用者 192.168.182.144 1,首先我們安裝 httpd 用到epel源或者163的源或者阿里雲的源做好本地的 yum -y install httpd* httpd-devel 2,安裝完成測試 serv

Linux搭建FTP伺服器Ubuntu16.04

搞了下FTP伺服器,基本上能遇到的問題都遇到了-。-! 先說步驟: 1.安裝vsftpd軟體包 sudo apt-get install vsftpd 2.開啟配置檔案 vim /etc/vsftpd.conf 3.修改引數 一些引數可以去掉註釋啟用,為了方便,

Linux環境搭建Apache伺服器完整版

Linux下搭建Apache伺服器(完整版) 什麼是Apache? Apache Licence是著名的非盈利開源組織Apache採用的協議。該協議和BSD類似,同樣鼓勵程式碼共享和尊重原作者的著作權,同樣允許程式碼修改,再發布(作為開源或商業軟體)。需要

linux環境安裝ngnix步驟很詳細

安裝準備開始前,請確認gcc g++開發類庫是否裝好,預設已經安裝。ububtu平臺編譯環境可以使用以下指令apt-get install build-essentialapt-get install libtoolcentos平臺編譯環境使用如下指令 安裝make:yum

VMWare安裝Linux系統詳細版

建立虛擬機器 新建一個虛擬機器 典型型別配置 安裝客戶機作業系統 4.選擇Linux作業系統,版本選擇centos6就可以了 5.虛擬機器存放位置,建議新建一個資料夾專門放虛擬機器檔案 6.磁碟容量,預設即可 7.完成虛擬機器建立 8.設定

Ubuntu安裝tensorflow-gpu1.7

一、系統環境 作業系統:Ubuntu(16.04) 顯示卡       :NVIDIA GeForce GTX 1080ti 二、CUDA安裝 1、下載CUDA Toolkit 9.0 2、安裝CUDA      1)執行: sudo sh cuda_9

Windows安裝ScureCRT步驟親測

今天進到公司實習,第一次接觸到ScureCRT這個軟體,在瞭解了之後開始安裝,廢了很大功夫,總結具體步驟如下: 首先下載註冊器keygen.exe和ScureCRT的安裝檔案scrt814-x64.exe: 點選執行scrt814-x64.exe,傻瓜安裝法一

VMware Workstation安裝VMware ToolsUbuntu系統

VMware版本:VMware Workstation 10Ubuntu版本:VM-Ubuntu-12.04-64bit-zlg(這個是ZLG官方在VM-Ubuntu-12.04上改的)主機系統:WIN 10安裝步驟如下:1.開啟虛擬機器後,右鍵單擊下圖中箭頭指向的位置,在彈

如何在Linux—ubuntu16.04版本安裝JAVA環境jdk&eclipse

   說在前面:隨著Linux作業系統的不斷完善,在很多情況下,程式設計師的選擇也不僅僅侷限於windows系列作業系統,Linux的操作更加快捷便利,很平常的一個apache Web伺服器的部署可能windows要花很長時間,而ubuntu提供的apt-get

windows安裝rabbitMQ教程實戰書寫

圖示如下: 下載完後,開始執行安裝。很簡單。預設就可以了。一直下一步到最後。(下面這個圖借別人的哈哈) 第二步: 下載安裝rabbitMQ 安裝效果如下: 安裝完畢後是這樣: 然後。重點來了,網路上好多過(胡)時(說)的(八)文(道)章。就

Windows安裝Kali Linux 雙系統

相信很多朋友使用的電腦都是單系統的,因為單系統在安裝和使用方面都是比較方便,還有就是硬碟的空間比較小且沒有什麼很大的使用性質,因為同是Windows 系統,單系統和雙系統有什麼區別呢?但是,因為有了雙系統的存在,讓 Windows 和 Linux 之間共存與一臺

win7安裝MySQL_5.7壓縮版教程

1 下載MySQL 官網 https://dev.mysql.com/downloads/mysql/ mysql分為安裝版本(.mis)和免安裝版本(.zip),選擇下載Windows (x86, 64-bit), ZIP Archive,根據自身電腦選擇32or63位

Ubuntu 14.04搭建SVN伺服器SVN Server

為了學習SVN伺服器是怎麼搭建的,我在Ubuntu虛擬機器上搭建了一個SVN伺服器,可以作為專案開發的版本,記錄下來防止自己遺忘,同時可以幫助更多的人。 一:搭建環境 檢視Ubuntu系統的版本資訊:可用cat /proc/version命令、uname -a命令與s

deepin(linux)環境安裝mysql資料庫新手入門

環境:deepin15.5 1.開啟終端,輸入命令:sudo apt-get update   更新軟體列表 2.輸入命令:sudo apt-get install mysql-server     安裝MySQL資料庫程式 中間會彈出設定root使用者密碼的輸入框,輸

LINUX之samba伺服器安裝與配置基於redhat 6.3發行版

linux系統之間或者linux系統和windows系統之間難免會有共享檔案的時候,實現共享的方法有很多,這裡簡單介紹一下通過samba伺服器實現linux系統與windows系統之間的檔案共享的方法。 我是windows下通過虛擬機器安裝的linux系統,redhat 6.3發行版。實現sa

UbuntuPyTorch 安裝 基於conda

最近準備學習一下PyTorch,裝的時候也是各種坑坑,記錄一下過程以供查閱。 1、安裝conda命令(anaconda) Anaconda指的是一個開源的Python發行版本,其包含了Conda、Python以及一大堆安裝好的工具包,比如:numpy、panda