Gitlab服务器搭建步骤

服务器:

  1. 教程是基于Centos7.4 64位 双核4GB内存
  2. 服务器购买后记得配置安全组 默认的80端口要添加进去

域名:

  1. 域名可以自己申请(需要备案等时间较长,但是域名可以根据自己需要的样式申请 (http://www.gitxxxx.com)
  2. 直接购买
  3. 拿到域名之后记得设置DNS解析

Gitlab搭建:

1.安装依赖

1
2
3
4
yum install curl policycoreutils openssh-server openssh-clients
service sshd restart
yum install postfix
service postfix restart

2.开始安装

/etc/yum.repos.d下面创建文件gitlab-ce.repo

gitlab-ce.repo内容如下:

1
2
3
4
5
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

上面的操作是使用镜像提高下载安装的速度,继续回到命令行:

1
2
yum makecache
yum install gitlab-ce

如果上述安装方法未能成功,可以直接去官网下载rpm安装包

https://packages.gitlab.com/gitlab/gitlab-ce?filter=rpms&page=1

下载后使用 rpm -ivh gitlabe-ce-10…….进行安装

3.配置URL 方法一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
修改配置文件 /etc/gitlab/gitlab.rb
external_url = 'http://xxx.xxx.xxx.xxx'
默认使用的是80端口如果是其它端口:'http://xxx.xxx.xxx.xxx:99123’
保存退出回到命令行执行gitlab-ctl reconfigure

关于邮件:
/etc/gitlab/gitlab.rb里面最下面添加配置:

QQ邮箱配置:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxxx@qq.com"
gitlab_rails['smtp_password'] = "授权码 去邮箱里面账户安全里面开启后获取"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxxx@qq.com'要和上面的邮箱一样

163邮箱配置:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxx@163.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "smtp.163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "xxxx@163.com"要和上面的邮箱一样

其它邮箱请参考:
https://docs.gitlab.com/omnibus/settings/smtp.html

常用命令:
gitlab-ctl status 查看状态
gitlab-ctl tail 查看所有日志
gitlab-ctl tail nginx/gitlab_access.log 查看nginx访问日志
gitlab-ctl tail unicorn 跟踪unicorn的状态

一些目录结构:
主配置文件:/etc/gitlab/gitlab.rb 可以自定义一些邮件服务等
日志地址:/var/log/gitlab 对应各服务的打印日志
服务地址:/var/opt/gitlab 对应各服务的主目录
仓库地址:/var/opt/gitlab/git-data 记录项目仓库等提交信息
重置配置:gitlab-ctl reconfigure 不要乱用,会重置为最原始的配置的
重启服务:gitlab-ctl stop/start/restart/uninstall 停止、启动、重启、卸载
默认安装:postgres、nginx、redis、unicorn ……

关于漏洞:
kernel security update
gnutls security, bug fix, and enhancement update

修复命令:
yum update kernel
kernel-devel
kernel-headers
reboot
修复完返回到浏览器验证该漏洞

方法二

1
通过阿里云服务器开放端口直接访问

###使用方法

Gitlab
重置root密码

1
2
3
4
5
cd /opt/gitlab/bin
gitlab-rails console production
u.password='12345678’ // 密码
u.password_confirmation='12345678' // 确定密码

启动服务

1
2
gitlab-ce start

关闭服务

1
2
3
gitlab-ctlstop unicorn
gitlab-ctlstop sidekiq
gitlab-ctlstop nginx