centos 6.3 搭建git/gitosis/gitweb
1. git的安装和配置
- yum install git
(2)创建git用户并设置密码
- #useradd --home /home/git git
- #passwd git
- //注意这里要设置一个密码,建议不要不设密码,网上很多资料都不设密码
(3)创建一个git仓库,验证git是否可用
- 在使用git之前,要设置git的两个全局变量,设置方式为:
- # git config --global user.name "dylan"
- # git config --global user.email "ustc.dylan@email.com"
- 设置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是否可用
- su - test (test为另外一个user或者exit,使用root用户)
- $ cd /home/test
- $ mkdir repos
- $ cd repos
- $ git clone /home/git/repo/test_repo
如果显示" Initialized empty Git repository in /home/git/repo/test_repo/.git/",则说明成功的clone了一个local repository。之后就可以在此repository下进行开发了,比如,添加一个readme.txt文件。
- $ cd test_repo
- $ vim readme.txt (创建一个文件)
- $ git add . (注意后面有一个[.])
- $ git commit -a
- $ git push origin master
- $ chmod -R 777 refs/
- $ chmod -R 777 objects/
2. gitosis的安装
- #yum install python-setuptools
(2)gitosis的安装
- #git clone git://github.com/res0nat0r/gitosis.git//下载gitosis到你想存放的目录下
- #cd gitosis
- #python setup.py install //如果没有报错,则说明安装成功
(3)创建是用这个git server的用户的公钥
- # su - git
- $ ssh-keygen -t rsa
公钥生成了,默认放在/home/git/.ssh/id_rsa.pub下,如果生成公钥时设置了密码,注意记住密码,为了简单,我这里没有设置密码。
- 假设在于gitosis不同的另外一台机器上,使用git用户将gitosis-admin.git clone到本地。
- git clone git@192.168.x.xx:/home/git/repositories/gitosis-admin.git
- 修改gitosis配置文件gitosis.conf
- $ vim gitosis.conf
- //会看到如下内容
- [gitosis]
- [group gitosis-admin]
- writable = gitosis-admin
- members = git@compute-29-01.local
gitosis.conf 文件是用来设置用户、仓库和权限的控制文件(对于gitosis.conf文件的详细含义,以及keydir目录下公钥的作用,将会另写文档说明,在此不再详述),只需知道gitosis仓库是可写的,支持的用户有git
- [gitosis]
- [group gitosis-admin]
- writable = gitosis-admin
- members = git@compute-29-01.local
- [group test_repo] //新添加的仓库名称
- writable = test_repo //此仓库的读写权限,此处为可写
- members = user1@host1 user2@host2 //可以访问此仓库的用户名@主机名
假设当user1,来访问这个test_repo仓库时,需要输入如下命令:
- 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
(2)修改/etc/httpd/conf.d/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>
(3)重启httpd
- /etc/init.d/httpd restart
(4)将gitosis仓库连接到/var/www/git下,完成web显示
- ln -s /home/git/repositories/test_repo.git /var/www/git/
- mkdir test.git
- cd test.git
- git init --bare
- //可以在这里添加源文件,也可以在client端clone之后添加
centos 6.3 搭建git/gitosis/gitweb的更多相关文章
- CentOS 6.4 搭建git 服务器
CentOS 6.4 搭建git 服务器 (2013-11-22 19:04:09)转载▼ 标签: it 分类: Linux 此文件是依据markdown所编写,更好效果参见本人github的文档ht ...
- Centos 6.4搭建git服务器【转】
前阵子公司需要,让我搭个Git服务器,把之前用的SVN上代码迁移到git上去,所以就在阿里云主机上搭了一个,记录了下安装过程,留存文档以备查阅.本篇本章只涉及搭建部分的操作,更多git的使用可以参考文 ...
- CentOS 6.8 搭建 Git 代码托管系统 Gitea
[荐] Gitea:Git with a cup of tea,在 Gogs 基础上,发展起来的 自助 Git 服务系统.Gogs是一个个人维护的版本,而Gitea是一个社区组织维护的,版本迭代更新快 ...
- [CentOS] 使用gitolite搭建git服务端
1. 创建用户 #创建gitadmin用户 useradd gitadmin #设置gitadmin密码 passwd gitadmin #创建git用户 useradd git #设置git密码 p ...
- 在CentOS 7中搭建Git服务器
环境说明 - CentOS 7.x 最小安装 - 配置网络连接 1. 安装Git及创建用户 # 安装Git $ yum install git # 创建一个git用户组和用户,用来运行git服务 $ ...
- 自定义Git之使用centos搭建git 服务器
Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费. 这时我们就需要自己搭建一台Git服务器作为私有仓库使用. 接下来我们将以 Centos 为例搭建 Git 服务器. 1 ...
- CENTOS下搭建git代码仓库 ssh协议
centos服务器下搭建git仓库,使用ssh协议管理仓库代码权限 git官网(http://git-scm.com/) 使用ssh协议: 一.安装git,使用yum install git 或 ...
- debian下使用gitosis+gitweb搭建SSH认证的git服务器
搭建完成Git服务器后,需要使用两台机器进行测试,一台机器作为服务器端server,一台服务器作为客户端client.整个系统,需要三个计算机账户,这里假设server端的账户名为git,client ...
- CentOs上搭建git服务器
CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...
随机推荐
- Linux下gdb使用整理记录
1.创建cpp文件:vim sourcefile.cpp 2.生成可执行文件:g++ -g sourcefile.cpp -o exename ------据说是要必须加上-g参数,否则不可调试 3. ...
- 用js完成blog项目
//前台调用 var $ = function (args) { return new Base(args); } //基础库 function Base(args) { //创建一个数组,来保存获取 ...
- 精美&创意的WordPress新发主题集合
今天我整理了一些精美&创意的WordPress新发主题,它们基本上都融合了最新的设计理念,从简约到响应式,应有尽有. Engo – Smart & Minimal WordPress ...
- Linux进程间通信——使用共享内存
一.什么是共享内存 顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存.共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式.不同进程之间共享的内存通常安排为同一段物理内存. ...
- Dreamweaver SSH Tunneling
- 深入理解HBase Memstore
2013/08/09 转发自http://www.cnblogs.com/shitouer/archive/2013/02/05/configuring-hbase-memstore-what-you ...
- 原生JS默认设置默认值的写法
json=json||{};json.type=json.type||'get';json.data=json.data||{};json.time=json.time||2000;
- easyui datagrid 部分参数整理
数据表格属性(DataGrid Properties) 属性继承控制面板,以下是数据表格独有的属性. 名称 类型 描述 默认值 columns array 数据表格列配置对象,查看列属性以获取更多细节 ...
- 第三百三十七天 how can I 坚持
看了两集<太阳的后裔>,你眼中的你自己,真实的你自己,他眼中的你,你眼中的他,他眼中的他自己,真实的他自己.好乱. 何须让别人懂你,何须让自己懂自己,将就着一天天过吧. 睡觉.
- 第二百一十一天 how can i 坚持
参与感.做项目要有激情. 睡觉.