在CentOS6.4上搭建gitosis
参考https://github.com/res0nat0r/gitosis
创建git账号
sudo useradd –m git
sudo passwd git # 为git设置密码
su - git
chmod -R 755 /home/git
安装git
sudo yum install git-all
配置git基本信息
git config –global user.name “test”
git config –global user.email test@company.com
git config –global color.ui true
用test账号生成public key
su test #切换test账号
ssh-keygen -t rsa #一路回车, 在~/.ssh/下生成id_res.pub文件
安装python setuptools
sudo yum install python-setuptools
下载gitosis
git clone https://github.com/res0nat0r/gitosis.git
安装gitosis
cd gitosis
sudo python setup.py install
配置gitosis
sudo -H -u git gitoisis-init < /home/test/.ssh/id_res.pub #使用test账号的public key
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
sudo chmod 755 -R /home/git/repository/refs/
sudo chmod 755 -R /home/git/repository/objects/
clone gitosis
su - test #切换test账号
git clone git@localhost:gitosis-admin.git
cd gitosis-admin #里面有gitosis.conf文件和keydir文件夹
gitosis.conf格式如下
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = test@localhost.localdomain
配置gitosis.conf加上如下
[group my_team]
writable = my_project #repository的名字, 待会儿会创建
members = media@localhost.localdomain user1.pub user2.pub #user1.pub 和 user2.pub 是user1和user2的publi key的名字,需要放到keydir目录下
commit
git add gitosis.conf
git add keydir/*.pub
git commit -a -m “1.add user1,user2 public key, 2.add my_project”
git push origin master
分配权限
sudo chmod 755 /home/git/repositories/my_project.git
客户端操作
su - test
cd ~
mkdir my_project
echo “testing” > test.txt
git init
git remote add origin git@localhost:my_project.git
git add .
git commit -a -m “this is a testing repos”
git push origin master
安装GitWeb
gitweb要配合apache一起使用
修改/etc/gitweb.conf
$projectroot = “/var/www/git”
添加/etc/httpd/conf.g/git.conf
Alias /git /var/www/git
<Directory /var/www/git>
Allow from all
AllowOverride all
Order allow,deny
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
SetEnv GITWEB_CONFIG /etc/gitweb.conf
Dav On
RewriteEngine Off
</Directory>
创建软链接,并重启Httpd服务
sudo ln -s /home/git/repositories/my_project.git /var/www/git/
sudo /etc/init.d/httpd restart
可以用浏览器访问 http://localhost/git
Ubuntu12.04下安装gitweb
先安装软件
sudo apt-get install git gitweb python-setuptools
搭建gitosis和CentOS6.4差不多
配置gitweb 修改/etc/gitweb.conf
$projectroot = "/home/git/my_project.git"
浏览器访问 http://localhost/cgi-bin/gitweb.cgi