您的位置:首页 > 其它

Ubuntu 14.04 配置 gitosis 和 gitweb

2016-04-20 14:06 411 查看
1. sudo apt-get install git-core openssh-server openssh-client python-setuptools2. 创建git用户sudo useradd -d /app/git -m gitsudo passwd git3. 创建git用户密钥su git
ssh-keygen -t rsa -b 4096
git config --global user.name "git"git config --global user.email "git@test.com"4. install gitosiscd /tmp#git clone https://github.com/res0nat0r/gitosis.git
git clone https://github.com/tv42/gitosis
cd gitosissudo python setup.py install5. 配置 gitosissu gitgitosis-init < ~/.ssh/id_rsa.pubInitialized empty Git repository in /mnt/git/repositories/gitosis-admin.git/Reinitialized existing Git repository in /mnt/git/repositories/gitosis-admin.git/cd ~mkdir myrepocd myrepogit clone git@localhost:gitosis-admin.git将git用户的 ssh key 的 pub 文件复制到 gitosis-admin/keydir/ 目录下。然后编辑 gitosis.conf 文件,将 pub 文件名加到gitosis-admin 的members中,然后提交修改,新用户就有了远程clone gitosis-admin的权限,然后可以添加新的仓库。git add keydir/xxx.pubgit commit -am "add new user xxx."git push origin master6. 回到用户机器上,git clone git@xxxx:gitosis-admin.git克隆完毕。创建工程cd gitosis-adminvim gitosis.conf添加内容:[group dev]members = xxxwritable = proj1然后保存文件提交上库。mkdir proj1cd proj1git initecho "1st time create." > readme.txtgit add .git commit -am "1st time create."git remote add origin master git@xxxx:proj1.gitgit push origin master这样就提交到服务器上内容了。7. gitweb 配置sudo apt-get install gitweb apache2sudo vim /etc/gitweb.conf修改 $projectroot = "/app/git/repositories";$projects_list = $projectroot;8. 服务器修改apache 配置sudo cp /etc/apache2/conf.d/gitweb /etc/apache2/conf-available/gitweb.confcd /etc/apache2/conf-enabledsudo ln -s ../conf-available/gitweb.confsudo vim /etc/apache2/conf-available/gitweb.conf注意唯一修改就是下面的红色 + 号:Alias /gitweb /usr/share/gitweb<Directory /usr/share/gitweb>Options +FollowSymLinks +ExecCGIAddHandler cgi-script .cgi</Directory>然后保存退出sudo a2enmod cgidsudo service apache2 restart然后客户机浏览器打开 http://xxxx/gitweb/就可以看到工程列表了。
如果出现 404 错误,那是权限问题sudo chmod -R 775 /app/git/repositories然后重启 apache 刷新浏览器即可看到创建的工程了。如果想让某些工程不显示在 gitweb 中,则需要修改sudo vim /etc/gitweb.conf
$projects_list = "/app/git/gitosis/projects.list";

然后编辑 gitosis-admin 中的 gitosis.conf文件,编辑工程:[repo proj1]daemon = yesgitweb = yes或者[repo proj1]daemon = yesgitweb = no然后重启 apache2 即可。要美化gitweb显示,更换主题:http://kogakure.github.io/gitweb-theme/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: