本地配置gitweb服務
1.先通過mirror指令clone下載下傳mirror鏡像(非完整代碼)
repo init -u ssh://[email protected]:port/platform/manifest -b branch_name --mirror
repo sync
2.先安裝 gitweb和 apache2
sudo apt-get install apache2 git-core gitweb
3. 修改配置檔案(因為gitweb在/etc/apache2/conf.d/下安裝了配置檔案,這個目錄是過時的):
sudo cp /etc/apache2/conf.d/gitweb /etc/apache2/conf-available/gitweb.conf
cd /etc/apache2/conf-enabled
sudo ln -s ../conf-available/gitweb.conf
修改gitweb.conf 如下:
sudo vi ../conf-available/gitweb.conf
Alias /gitweb /usr/share/gitweb
<Directory /usr/share/gitweb>
Options +FollowSymLinks +ExecCGI
AddHandler cgi-script .cgi
</Directory>
(在 FollowSymLinks之前加上了 "+"解決文法問題)
4. 使能cgi:
ubuntu中gitweb cgi腳本應該預設放在/usr/lib/cgi-bin/中,剛好和apache2預設的cgi-bin目錄一緻
sudo a2enmod cgi
sudo service apache2 restart
此時,http://127.0.0.1/cgi-bin/gitweb.cgi
即,可顯示成功運作,隻是我們還未将git項目加入其中。
5. 修改/etc/gitweb.conf,添加上項目資訊:
sudo vi /etc/gitweb.conf
$projectroot = "/home/charles/repo"; //本地項目源碼根路徑
$projects_list = $projectroot;
6.添加多個項目:
projectroot 路徑,指向包含所有mirror鏡像的父路徑,會自動掃描該路徑下所有的.git檔案
重新開機apache2後,等待自動掃描完成,即可通路多個項目,
但此種方式掃描多個項目存在個問題,項目太多的情況下,gitweb首頁打開會非常慢,暫時沒有找到解決辦法
其他機器通路方式:http://ip/gitweb
參考資料:
1. Install git/gitolite/gitweb on Ubuntu 14.04
https://ubuntuforums.org/showthread.php?t=2244960