Ubuntu下安装Git和Gitolite
来源:岁月联盟
时间:2012-05-18
sudo apt-get update 要不然apt-get只会从本地去找对应的包,肯定找不到了)2. 解压git源码包,我用的是git-1.7.4.2.tar.bz2 www.2cto.com 3. git 依赖的包 Depends: libc6 (>= 2.7), libcurl3-gnutls (>= 7.16.2-1), libexpat1 (>= 1.95.8), zlib1g (>= 1:1.2.0), perl-modules, liberror-perl, git-man (> 1:1.7.4.1), git-man (< 1:1.7.4.1-.), emacsen-common3. 修改源码目录的权限一般是7554. cd 如源码目录, ./configure5. make6. make install apt-get安装sudo apt-get install git或者sudo apt-get install git-core git-doc SSH访问需要在服务器先安装openssh-server并启动其服务1. 创建一个git用户 用于服务器的管理 sudo adduser --system --shell /bin/bash --group git sudo passwd git 修改git的密码 www.2cto.com 2. su git 进入git用户 生成ssh的key3 客户机生成ssh的key ssh-keygen4. 把客户机生成的ssh公匙上传到服务器,然后运行 cat /path/to/user1.pub >> ~anonymous/.ssh/authorized_keys
把你的公匙加到认证里面这样就可以通过 ssh 服务器用户名@服务器Ip或机器名登陆服务器了 例如ssh git@192.168.32.92
如果提示需要输密码则表示ssh不成功 (注: 这一步可以不用因为在gl-setup会自动加入) gitolite的安装配置1. 从github clone出gitolite的源码 git clone git:// github.com/ossxp-com/gitolite2. 进入源码的src目录注意,原来的./gl-easy-install 安装方式已经被./gl-system-install 替代了 会在当前用户的根目录下生成bin和share两个目录, bin中的脚步和源码中的脚本基本一致3. 加入环境变量PATH=/home/git/bin:$PATH4. 把客户机的ssh公匙拷贝到/home/git目录下 添加为gitolite管理员账号 gl-setup /path/to/user1.pub 成功后会在/home/git目录下生成repositories目录和projects.list文件 repositories目录里面有gitolite-admin.git和testing.git gitolite-admin.git就是管理员的库,管理员把它clone出来添加用户,配置权限然后在push到服务器就起效果了 如果要修改gitolite默认的库路径需要修改/home/git目录下的.gitolite.rc文件5. 客户机克隆出gitolite-admin库就可以进行用户和权限的管理了。将用户的key拷贝到keydir目录下然后add 、commit、push用户就添加完成了 权限的控制是在conf/gitolite.conf文件中,权限的具体配置规则详见gitolite的文档,同样权限修改之后也需要add、commit、push才会起效果 如果要修改repositories目录的名称或者路径,需要在安装gitolite时修改,安装完成后就不能修改了。 定义ssh连接服务器的别名在.ssh目录下创建config文件,内容格式如下host 别名 www.2cto.com user 服务器用户名 hostname 服务器名或ip IdentityFile 本机密匙文件 实例host gitDemo user git hostname 192.168.32.92 IdentityFile ~/.ssh/id_rsa就可以用git clone gitDemo:gitolite-admin 代替git clone git@192.168.32.92:gitolite-admin 了 配置远程可以创建配置库的权限gitolite.conf文件加入如下配置 repo demo/.+ C = @admin RW = @admin push之后就可以用git push gitDemo:demo/demo1.git master 在远程git用户目录
的repositories目录下创建一个demo目录及一个demo1.git的库 安装配置gitweb1. sudo apt-get install gitweb2. sudo apt-get install apache23. mkdir /home/<name>/gitweb4. sudo ln -sf /usr/share/gitweb/* /home/<name>/gitweb5. ln -s <git project path> /home/<name>/gitweb6. sudo vi /etc/gitweb.conf $projectroot = "/home/<name>/gitweb";7. sudo vi /etc/apache2/conf.d/gitweb<VirtualHost *:80> www.2cto.com ServerName gitDemoScriptAlias /gitweb /usr/lib/cgi-bin/DirectoryIndex /gitweb/gitweb.cgiDocumentRoot /home/clean/gitwebErrorLog /var/log/apache2/git.pcware.cn-error.logCustomlog "/var/log/apache2/git.pcware.cn-error.log" combined</VirtualHost> 8. sudo /etc/init.d/apache2 restart9. chmod -R 755 <git repo path>10. http://127.0.0.1就可以访问了可以通过修改${GIT_DIR}/description来修改git repo的文字描述。 Gitweb配置不用虚拟机方式 1.安装gitweb apt-get install gitweb 2.卸载apt-get remove gitweb 3.安装apache2服务器 apt-get install apache2 4.安装成功后会发现gitweb的配置文件在/usr/share/gitweb中,cgi文件存放在 /usr/lib/cgi-bin下 5.创建目录home/usrname/gitweb 并将git库存放在此目录下或者将git库连接于此命令为:
ln –sf git库地址 gitweb路径此处为(/home/usrname/gitweb),为了能够实时更新gitweb的
内容需要修改git库中的post-update使任何人都有执行权限方法如下:chmod 755 /.git/hooks/post-update 6.将gitweb的配置文件链接到gitweb目录命令为:ln -sf /usr/share/gitweb /home/usrname/gitweb www.2cto.com 7.将gitweb.cgi拷贝到/home/usrname/gitweb下 8.修改apache设置编辑/etc/apache2/httpd.conf 添加如下内容:ServerName127.0.0.1:80 9.修改gitweb.conf (/ect/apache2/conf.d/gitweb.conf)添加内容如下: Alias /gitweb /home/usrname/gitweb <Directory /home/usrname/gitweb> Options +Indexes +ExecCGI +FollowSymLinks AllowOverride All order allow,deny allow from all AddHandler cgi-script cgi DirectoryIndex gitweb.cgi</Directory> 10. 配置完毕后重启apache2服务。命令为:sudo /etc/init.d/apache2 restart11. 在浏览器中输入本机ip地址/gitweb就可以访问git服务了例如 http://192.168.110.120/gitweb www.2cto.com 注意: 从gitolite克隆仓库的时候是用相对路径例如仓库在/home/git/demo/demo1.git只需要用git clone gitDemo:demo1.git SSH KEY的以下错误将.ssh目录的权限改为700就可以了@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: UNPROTECTED PRIVATE KEY FILE! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Permissions 0744 for '/home/git/.ssh/id_rsa' are too open. 作者 蓝桥书生
上一篇:CentOS双网卡双IP设置