一、下載安裝編譯Git依賴
yum install -y wget
yum install gcc
yum install gcc-c++
yum install -y zlib-devel
yum install -y perl-ExtUtils-MakeMaker package
二、下載Git源碼包
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.22.0.tar.gz
這裏我下載的是2.22.0版本的,如果要下載其他版本,把URL後面的版本號修改即可
三、解壓、編譯、安裝GIt
tar -xvf git-2.22.0.tar.gz
進入到解壓後目錄,執行如下命令,進行編譯和安裝:
./configure --prefix=/usr/local/devilyang/git make && make install
--prefix=/usr/local/devilyang/git 指定git的安裝目錄
make編譯
make install 安裝
等待程序執行完成,進入到安裝目錄的bin目錄下,即可使用git了
四、配置Git環境變量
vi /ect/profile
在文件的末尾添加如下配置
GIT_HOME=/usr/local/devilyang/git
PATH=$GIT_HOME/bin:$PATH
export GIT_HOME PATH
讓配置生效
source /ect/profile
此時在任意位置,輸入git --version即可查看git的版本號,表名git環境變量配置成功!
五、安裝Apacht服務器
yum install httpd
修改端口號
vi /etc/httpd/conf/httpd.conf
在配置文件中找到Listen 80,我這裏把它修改爲9000
啓動服務
/bin/systemctl start httpd.service
啓動後,使用瀏覽器訪問http://192.168.154.141:9000/ 可以看到Apache提供的默認頁面,表示安裝成功!(IP和端口修改爲你自己的。防火牆要放行,因爲我這裏是虛擬機,防火牆直接使用命令systemctl stop firewalld 關閉)
六、創建倉庫
在自己喜歡的位置創建一個git倉庫,如下
mkdir -p /usr/local/gitRepository/config.git
cd /usr/local/gitRepository/config.git
git init
其中 -p 表示遞歸創建目錄
七、配置Apache
將上一步我們創建的git倉庫文件夾授予apache用戶和用戶組(安裝apache時會自動創建該用戶和用戶組)
chown -R apache:apache /usr/local/gitRepository/config.git/
創建apache認證賬號:
// configuser爲用戶名 可以隨意定義,此命令執行完會要求設置密碼,我設置的和用戶名一致
htpasswd -m -c /etc/httpd/conf.d/git-team.htpasswd configuser
// 修改git-team.htpasswd文件的所有者與所屬羣組
chown apache:apache /etc/httpd/conf.d/git-team.htpasswd
// 設置git-team.htpasswd文件的訪問權限
chmod 640 /etc/httpd/conf.d/git-team.htpasswd
修改apache配置文件,讓請求轉發到git-cgi
vi /etc/httpd/conf/httpd.conf
在文件末尾 IncludeOptional conf.d/*.conf 的上方添加如下內容
<VirtualHost *:9000>
ServerName 192.168.154.141
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv GIT_PROJECT_ROOT /usr/local/gitRepository
ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
<Location />
AuthType Basic
AuthName "Git"
AuthUserFile /etc/httpd/conf.d/git-team.htpasswd
Require valid-user
</Location>
</VirtualHost>
其中
VirtualHost 後面的端口號換成你自己的
ServerName 換成你自己的IP地址
SetEnv GIT_PROJECT_ROOT 換成我們剛纔創建的倉庫地址的上一層目錄
重啓服務
/bin/systemctl restart httpd.service
此時我們去到git倉庫下,創建一個文件並提交
cd /usr/local/devilyang/gitRepository/config.git
touch 1.txt
git add 1.txt
git commit -m "add file"
然後我再win10下使用git bash進行clone,如下:(第一次會要求輸入用戶名和密碼,之前設置的都爲configuser)
成功!