环境 linux(Red Hat 4.8.5-44)
1.安装依赖
yum install curl openssh-server openssh-clients postfix cronie
2.安装 gitlab(yum方式安装)
2.1 新建 /etc/yum.repos.d/gitlab_gitlab-ce.repo 文件,内容如下:
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
2.2 安装 gitlab
# 更新本地缓存,提高安装速度
yum makecache
# 安装 gitlab 社区版
yum install gitlab-ce
3.配置 gitlab
3.1 修改 /etc/gitlab/gitlab.rb 文件,如下:
# 找到
external_url 'http://gitlab.example.com'
# 改为
external_url 'http://外对的访问地址'
# 找到 gitlab_rails 部分,改为 下面这样(以qq邮箱为例):
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "----------@qq.com" # 自己的qq邮箱账号
gitlab_rails['smtp_password'] = "----------------" # 开通smtp时返回的授权码
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'] = "----------@qq.com" # 指定发送邮件的邮箱地址
#
user["git_user_email"] = "----------@qq.com" # 指定接收邮件的邮箱地址
# 找到
nginx['enable'] = true
# 改为
nginx['enable'] = false
# 找到 gitlab_workhorse 部分,改为 下面:
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_addr'] = "127.0.0.1:任意一个端口,没有被占用就行"
保存退出
3.2 执行 gitlab-ctl reconfigure 会卡住(如果卡住,执行下面指令):
sudo systemctl restart gitlab-runsvdir
sudo gitlab-ctl reconfigure
3.3 配置 nginx
server {
listen 80;
server_name 外网访问域名;
location / {
proxy_pass http://127.0.0.1:listen_addr的端口;
}
}
4.运行 gitlab
4.1 运行
sudo gitlab-ctl restart
4.2 设置密码
# 进入 控制台
gitlab-rails console production
# 如果报错,可能是版本 指令不同,可以执行
gitlab-rails console -e production
# 进入控制台后:
# 查询 id 为1的用户
> user = User.where(username:"root").first
=> #<User id:1 @root>
# 设置密码,不能太简单,有检验
> user.password = "test888888"
=> "test888888"
# 保存
> user.save!
=> true
# 退出
> quit
4.3 设置汉化