centos 6.3 搭建git/gitosis/gitweb
1. git的安装和配置
- yum install git
(2)创建git用户并设置密码
- #useradd --home /home/git git
- #passwd git
- //注意这里要设置一个密码,建议不要不设密码,网上很多资料都不设密码
- 在使用git之前,要设置git的两个全局变量,设置方式为:
-
- # git config --global user.name "dylan"
- # git config --global user.email "[email protected]"
- 设置git仓库目录的权限
-
- # su - git //切换到git用户
- $ chmod -R 755 /home/git //修改目录的权限
- 创建并初始化一个repository
-
- $ mkdir /home/git/repo //假设要创建的repository放在/home/git/repo目录下
- $ cd /home/git/repo
- $ mkdir test_repo
- $ cd test_repo
- $ git init --bare
- 测试新创建的repository是否可用
-
如果显示" Initialized empty Git repository in /home/git/repo/test_repo/.git/",则说明成功的clone了一个local repository。之后就可以在此repository下进行开发了,比如,添加一个readme.txt文件。
- su - test (test为另外一个user或者exit,使用root用户)
- $ cd /home/test
- $ mkdir repos
- $ cd repos
- $ git clone /home/git/repo/test_repo
-
- $ cd test_repo
- $ vim readme.txt (创建一个文件)
- $ git add . (注意后面有一个[.])
- $ git commit -a
- $ git push origin master
- $ chmod -R 777 refs/
- $ chmod -R 777 objects/
- #yum install python-setuptools
- #git clone git://github.com/res0nat0r/gitosis.git//下载gitosis到你想存放的目录下
- #cd gitosis
- #python setup.py install //如果没有报错,则说明安装成功
(3)创建是用这个git server的用户的公钥
- # su - git
- $ ssh-keygen -t rsa
- 假设在于gitosis不同的另外一台机器上,使用git用户将gitosis-admin.git clone到本地。
-
- git clone [email protected]:/home/git/repositories/gitosis-admin.git
- 修改gitosis配置文件gitosis.conf
-
gitosis.conf 文件是用来设置用户、仓库和权限的控制文件(对于gitosis.conf文件的详细含义,以及keydir目录下公钥的作用,将会另写文档说明,在此不再详述),只需知道gitosis仓库是可写的,支持的用户有git
- $ vim gitosis.conf
- //会看到如下内容
- [gitosis]
- [group gitosis-admin]
- writable = gitosis-admin
- members = [email protected]
- [gitosis]
- [group gitosis-admin]
- writable = gitosis-admin
- members = [email protected]
- [group test_repo] //新添加的仓库名称
- writable = test_repo //此仓库的读写权限,此处为可写
- members = user1@host1 user2@host2 //可以访问此仓库的用户名@主机名
- git clone user1@git_server_ip:/home/git/repo/test_repo.git
此时会要求输入user1的密码,此密码就是创建user1的公钥时输入的密码。那么gitosis又是怎么来确定user1的身份的呢? 这就要求必须事先将user1产生的公钥传给管理员,即对gitosis-admin有权限操作的管理人员,然后由他将公钥拷贝到keydir目录下,然后,执行git add,git push即可。
3. gitweb安装
- # yum install gitweb
4. gitweb配置
- $projectroot = "/var/www/git" //将projectroot修改为/var/www/git
- 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>
- /etc/init.d/httpd restart
- ln -s /home/git/repositories/test_repo.git /var/www/git/
- mkdir test.git
- cd test.git
- git init --bare
- //可以在这里添加源文件,也可以在client端clone之后添加
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。