9)Git服务器的搭建
$ yum install git #安装git
$ groupadd git #添加git用户组
$ adduser git -g git#在git组下添加一个全局git用户
$ mkdir /var/www #网站管理总目录
$ mkdir /var/www/juoon #网站目录
$ mkdir /var/www/juoon.git #网站git记录存放位置
$ chown -R git:git /var/www/juoon.git #把git目录拥有者改为git用户
$ cd /var/www/juoon.git #切换目录
$ git init --bare #初始化一个git仓库
$ vi hooks/post-receive #新建文件,输入以下内容
##post-receive这个脚本在提交文件到git仓库时,会运行文件内的代码,
##可以通过这样的方法,我们在客户端push提交代码后,就能自动更新网站的文件了。
#!/bin/sh
GIT_WORK_TREE=/var/www/webapp git checkout -f
# or GIT_WORK_TREE=../webapp git checkout -f
################################
$ chmod +x hooks/post-receive #添加可执行权限
创建ssh密钥免密码访问git仓库:
1)在需要访问仓库的客户机上生成公钥文件
git config --global user.name yourname
git config --global user.email youremail
ssh-keygen -t rsa -C "张三的公钥" # -C表示注释,执行完了会提示密钥的生成路径,Windows一般在/c/Users/yourcomputername/.ssh/ 目录下,yourcomputername是指你的计算机名称,id_rsa是私钥文件,id_rsa.pub是公钥文件
2)在git仓库服务器上配置公钥
su git #切换到git用户
cd /home/git #切换到git目录
mkdir .ssh #查看目录下面是否有.ssh目录,没有则创建
chmod 700 .ssh #修改权限
cd .ssh
rz #选择客户机生成的id_rsa.pub文件,上传到当前目录
touch authorized_keys #创建authorized_keys配置文件
chmod 600 authorized_keys #修改权限,这里要注意,不修改权限最终clone代码时还是会提示你输入密码
cat id_rsa.pub >>authorized_keys #把公钥信息写入配置文件,>> 表示在内容后追加
访问git服务器:
1)未修改ssh端口方式
git clone git@domain.com:path/project.git #domain.com 为你的域名,也可以使用ip,path为仓库路径,project指git工程(仓库)名
2)有时候为了安全,可能会修改默认的ssh的端口,修改了ssh端口的git clone方式
git clone ssh://git@juoon.com:port/path/project.git #port 为端口号
### 安装gitweb,通过浏览器访问git仓库
### 需要先安装apache的httpd服务器
yum install httpd
vi /etc/httpd/conf/httpd.conf
Listen 80 --> Listen 81 #修改端口为81
yum install gitweb
systemctl start httpd
浏览器访问 ip:81 若能显示httpd的欢迎页面,说明安装httpd成功
usermod -a -G git apache #把 apache用户加入git分组,使其有权限访问git仓库