由於手邊的MBP年事已高(五歲多囉),而且RAM最大僅能加到3G,開了IDE與Browser後已經沒什麼多餘的能力來支撐一個VM了。所以把另一台NB裝上Ubuntu 11.10,並將常用的服務裝上去,順便做些更新的筆記。
先前也曾經有個安裝筆記GIT + Apache2 on Ubuntu 8.10 (1),但現在的Ubuntu安裝又更簡單些;主要是因為現在提供了git-http-backend,設定上可以更簡化了。
- 安裝apache 與 git
sudo apt-get install apache2 git
後期的Ubuntu 已將git-core更名為git,但是用git-core也沒問題啦。 - 建立相關人員帳號密碼,-c代表要建新檔,-m代表密碼要加密
sudo htpasswd -cm /etc/apache2/passwd $username
第二位成員起就不需要加-c,只要用-m即可sudo htpasswd -m /etc/apache2/passwd $username
- 建立git repositories目錄,依習慣,一定要先有repository root。
sudo mkdir /srv/git
再建要用的repository,並修改owner為www-data,$reponame代表repository的名稱,.git雖然可加可不加,但建議是要有,.git不會加到clone回來的目錄名稱上sudo git --bare init /srv/git/$reponame.git sudo chown -R www-data:www-data /srv/git/$reponame.git
- 建立dav_git.conf到/etc/apache2/mods-available,並link到/etc/apache2/mods-enabled,檔名可以隨意,但副檔名一定要是conf.
cd /etc/apache2/mods-available sudo vim dav_git.conf
編輯內容如下
#若無設定GIT_HTTP_EXPORT_ALL,則在每個repository下必需有git-daemon-export-ok這個檔案才能被外部存取。 SetEnv GIT_PROJECT_ROOT /srv/git SetEnv GIT_HTTP_EXPORT_ALL ScriptAlias /git/ /usr/lib/git-core/git-http-backend/ #用Location的話代表讀寫都要認證,如果希望開放給anonymous讀取,請改用LocationMatch即可 <Location /git> AuthType Basic AuthName "Git" Require valid-user AuthUserFile /etc/apache2/passwd </Location>
建立link到/etc/apache2/mods-enabledcd /etc/apache2/mods-enabled sudo ln -s ../mods-available/dav_git.conf dav_git.conf
- 重起apache2即可