Gitolite+gitweb 源码搭建及迁移

搭建不难迁移蛋疼

一、软件下载
gitolite下载:git clone git://github.com/sitaramc/gitolite
git下载:http://git-scm.com/
gitweb下载: git clone git://git.kernel.org/pub/scm/git/git.git
gitweb样式:https://github.com/kogakure/gitweb-theme
git官方中文文档:git官方中文文档
gitweb官方中文文档:gitweb

二、安装

1.创建git账号

<!-- lang: shell -->
groupadd git
useradd -g git -d /DATA/git -s /bin/bash git (将家目录指向gitolite项目目录)
ssh-keygen

2.安装并初始化gitolite

gitolite/install -to /usr/local/bin/
gitolite setup -pk $HOME/scott.pub (key要以隐藏文件形式指定,默认初始化在家目录下)
git clone git@IP:gitolite-admin

3.gitweb安装配置

1)使用yum安装http服务,在http.conf添加并修改启动用户为git:

ServerName IP
DocumentRoot /var/www/gitweb
<Directory /var/www/gitweb>
    Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
    AllowOverride All
    order allow,deny
    Allow from all
    AddHandler cgi-script cgi
    DirectoryIndex gitweb.cgi
</Directory>
ErrorLog logs/gitweb-error_log
CustomLog logs/gitweb-access_log common 

4.gitweb安装

<!-- lang: shell -->
cd git/ ; make GITWEB_PROJECTROOT="/opt/git"  prefix=/usr gitweb ; cp -Rf gitweb /var/www/

5.修改cgi文件git命令地址,lists等,前段样式定制(待研究)

至此全部搭建完毕!

四、迁移

1.进入gitolite初始化后的目录gitolite-admin内,将之前线上config和keydir内文件全部拷贝过来。
2.git push后 client就有权限做操作了。
3.将原有服务repositories目录打包拷贝至git家目录下。
4.替换gitolite-admin.git目录。

迁移完毕!

五、gitweb样式优化
1.网上提供了开源方案
gitweb-theme
2.下载,修改setup文件,安装,一气呵成
./setup -vi –install

最后启用git:// 只读协议

<!-- lang: shell -->
git daemon --reuseaddr --base-path=/home/git 

============================================================================
内部wiki备份

一、软件下载
Gitolite(Git 服务管理工具)下载: git clone git://github.com/sitaramc/gitolite
Git下载: http://git-scm.com/
Gitweb下载: git clone git://git.kernel.org/pub/scm/git/git.git
Gitweb样式下载: https://github.com/kogakure/gitweb-theme
Git官方中文文档
Gitweb官方中文文档

二、安装
创建Git账号
groupadd git
useradd -g git -d /DATA/git -s /bin/bashgit (将家目录指向gitolite项目目录)
ssh-keygen

安装并初始化Gitolite
解压并进入clone下来的gitolite
gitolite/install -to /usr/local/bin/
gitolite setup -pk $HOME/scott.pub (key要以隐藏文件形式指定,默认初始化在家目录下)
git clone git@IP:gitolite-admin
使用yum安装http服务,配置Gitweb访问页面
在http.conf中添加如下内容:
ServerName IP
DocumentRoot /var/www/gitweb

Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
AllowOverride All
order allow,deny
Allow from all
AddHandler cgi-script cgi
DirectoryIndex gitweb.cgi


ErrorLog logs/gitweb-error_log
CustomLog logs/gitweb-access_log common
并修改启动用户为git
(nginx的没搞出来,官方给的例子是apache的)
安装Gitweb
解压并进入clone下来的Gitweb,使用下面命令安装项目
cd git/ ; make GITWEB_PROJECTROOT=“/opt/git” prefix=/usr gitweb ; cp -Rf gitweb /var/www/

Gitweb样式优化
解压进入clone下来的gitweb-theme
修改setup文件,修改target目录至Gtiweb项目目录
最后执行脚本安装:./setup -vi –install

启动Git://协议,否则只能使用git@方式操作项目
git daemon –reuseaddr –base-path=/home/git
至此安装完成。

三、迁移
进入Gitolite初始化后的目录gitolite-admin内,将老项目下的config和keydir内文件全部拷贝过来。
git push后 client就有权限做操作了。
将原有服务repositories目录打包拷贝至git家目录下。
替换gitolite-admin.git目录。
迁移详细步骤记不清了,实际操作还需结合google。

你可能感兴趣的:(Gitolite+gitweb 源码搭建及迁移)