大家好,欢迎来到IT知识分享网。
这里介绍两种方法:
- 手动创建
- gitlab(web方式)
手动创建
$ ps -ef | grep sshd // 可查看是否安装SSH服务 # 如果没有安装SSH服务,可通过如下命令安装. $ sudo apt-get install openssh-server openssh-client
centos 戳这里 centos7安装ssh服务
安装git (服务器上)
$ sudo apt-get install git # 老一点的Ubuntu,需要改为 $ sudo apt-get install git-core
添加git用户,并设置密码
$ sudo useradd git -m $ sudo passwd git
创建证书登录(本地电脑上)
收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
如果本机没有公钥,可以通过执行以下命令:
ssh-keygen -t rsa -C "your email address" //即可以当前用户目录.ssh下生成公钥文件. $ ssh-copy-id -i ~/.ssh/id_rsa.pub git@118.24.153.55 //上传公钥到服务器 这个ip是我的腾讯服务器 请换成你自己的
首次上传公钥会在服务器git用户目录下创建 .ssh/authorized.keys文件.
如果是手动复制公钥,需要自己创建 .ssh/authorized.keys 文件. 注意保证git用户权限.
禁止git用户shell登录. 编辑/etc/passwd文件,找到:
git:x:1001:1003::/home/git:/bin/sh
修改为:
git:x:1001:1003::/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
初始化仓库,并设置权限.
$ sudo mkdir /rep //在根目录新建文件夹 $ cd /rep //进入该文件夹 $ sudo git init --bare project.git //初始化空仓库 $ sudo chown -R git:git project.git //修改文件夹权限
在当前目录下会生成一个project.git目录.
测试仓库(本地电脑)
$ git clone git@118.24.153.55:/rep/project.git
$ cd project.git
$ echo "Hello world" >> index.html
$ git add index.html
$ git push
实际过程:
gitlab(web方式)
安装
官方有安装包下载和官方安装指南. 官方不推荐一键安装包,特别是Bitnami 的一键安装包….虽然Bitnami的安装包确实非常容易安装.
那我们就按照官方的步骤来安装.环境还是我们上面的那台服务器.
- 安装依赖
sudo apt-get install curl ca-certificates postfix
安装到postfix时会跳出选择框,一切默认选择就好了.
- 如果你的网速足够快的话可以按以下方式:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo apt-get install gitlab-ce
貌似这个要几个小时,非常慢.那我们直接下载适合自己版本的安装文件.我的服务器是Ubuntu 12.4 64位. ubuntu/precise 下载地址.然后执行:
sudo dpkg -i gitlab-ce_7.13.4-ce.0_amd64.deb
- 配置
修改/etc/gitlab/gitlab.rb 文件external_url项为服务器IP.如:
external_url 'http://118.24.153.55'
然后重新加载配置并启动:
sudo gitlab-ctl reconfigure
这个过程有点长. sudo gitlab-ctl status 可查看是否安装成功.
在浏览器输入服务器IP地址.出现如下.首次登录需要重置密码.
如果新注册一个用户,需要验证邮箱才能登录,可以修改配置文件,配置好邮件服务器.
参考
gitlab文档
Git服务器搭建
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/47732.html