2012年1月2日 星期一

Git Server via HTTP with Apache2 on Ubuntu 11.10

折磨我好久的Git Server安裝終於建立成功了,這淘氣的東西讓我這Linux生手搞了三個禮拜才安裝好...真是....嘰咕修~~~
趕緊把它寫下來,免得之後發生意外,又要三個禮拜去回想...

首先環境是 Ubumtu 11.10 on vmware station 8,network 用 NAT,設定port forwarding讓外部電腦可以經由Host的ip直接連結進去。

接下來是指令,開啟終端機,開始輸入吧!


#安裝apache2
apt-get install apache2
#安裝git
apt-get install git-core
#建立存放repository的base(位置可以自訂)
mkdir /var/git
#在repository底下建立新的專案
cd /var/git
mkdir MyNewProject.git
#初始化專案git設定
cd /var/git/MyNewProject.git
git --bare init
#修改權限(設給www-data <= apache用)
chown -R www-data.www-data .
#注意後面有一個小點 => .
#再次修改權限(不知道為什麼要設到777這麼大)
chmod 777 . -R
#注意有一個小點 => .
#更新git server info
git update-server-info
#安裝dav模組
a2enmod dav_fs
#編輯apache serve 的設定檔
gedit /etc/apache2/conf.d/git.conf
#填入下列內容,注意專案名稱與路徑的對應
#passwd.git 密碼檔案名稱可以自訂
Alias /MyNewProject.git /var/git/MyNewProject.git
<location /mynewproject.git>
DAV on
AuthType Basic
AuthName "Git"
AuthUserFile /etc/apache2/passwd.git
Require valid-user
</Location>
#新增帳號密碼
htpasswd -c /etc/apache2/passwd.git 帳號
#接著會要你輸入密碼
#重新起動apach
/etc/init.d/apache2 restart
最後用瀏覽器測試連線:http://your.domain.name.or.ip/MyNewProject.git(剛剛建立的專案資料夾)/HEAD
如果有跳出輸入帳號密碼的話,恭喜你!你成功安裝完成了!