CentOS安装GitLab


一. 安装依赖/工具

  1. 连接身份验证工具-ssh

    安装: yum install -y openssh-server openssh-clients 

    

    启动: systemctl start sshd 

    检查启动状态: systemctl status sshd 

    

    添加到开机自启项: systemctl enable sshd 

  2. 邮件通知工具-postfix

    安装: yum install -y postfix 

    

    开启服务: systemctl start postfix 

    检查启动状态: systemctl status postfix 

    

    添加开机自启: systemctl enable postfix 

  3. 下载工具-wget

     yum install -y wget 

    

  4. 防火墙-firewall

    一般系统安装时,就已经自带了,安装: yum install -y firewalld 

    启动防火墙: systemctl start firewalld 

    检查防火墙状态: systemlctl status firewalld 

    

    将http服务添加到防火墙: firewall-cmd --permanent --add-service=http 

    

    开启开机自启: systemctl enable firewalld 

  5. 下载依赖policycoreutils

     yum install -y policycoreutils policycoreutils-python 

    

 

二. 下载并安装GitLab

  1. 打开清华大学开源镜像站GitLab-ce社区版的网站:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/

 

  2. 选择“yum”,下一级目录选相对新的,这里选的是“el7”,往下找一个最近的,因为版本发布的频率非常快,所以只能找比较新的版本。

    右键链接复制下载链接。注意,不要下“el8”版本的,一直提示没有“policycoreutils-python-utils”依赖文件。

  3. 下载

  cd /usr/local/
  wget https://https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.5.4-ce.0.el7.x86_64.rpm

    当然也可以用多线程下载工具下载,然后再用FTP工具上传,因为下载速度太慢了,直接用工具了。

  4. 安装

  cd /usr/local/
  rpm -i gitlab-ce-13.5.4-ce.0.el7.x86_64.rpm

    安装速度还是很快的,当页面显示GitLab的LOGO的时候,表示已经成功安装。下面进入配置环节。

    

 

三. 配置

  // 跳转到GitLab配置文件目录
  cd /etc/gitlab/
  // 用文本编辑器打开gitlab.rb
  nano gitlab.rb

  (1) 修改访问地址

    找到“external_url”,如果需要支持外网访问,直接填写 127.0.0.1 即可。注意初始的时候是没有“=”,需要手动添加。

    

  (2) 修改端口

    因为GitLab默认占用8080端口,如果此端口被其他服务占用,那么就需要修改一下端口。

    找到“nginx['listen_port']”,删除开头的“#”,然后修改为自己需要的端口即可。

    

 

  (3) 配置邮件服务

    一般GitLab是仅限于团队内使用的工具,所以不会随便开放注册权限,这里就要用到邀请注册方式。

    邀请注册是先由管理员创建新用户,然后通过邮件发送给被邀请人,被邀请人根据邮件链接设置密码然后登陆。

    首先需要确认邮箱是否支持SMTP(简单邮件传输协议)功能,一般国内主流的QQ、163、新浪都支持,国外的Gmail、outlook也很多,但是不推荐用。

    邮箱配置是需要在配置文件中开启并设置的,官网提供了各大主流邮件供应商的配置模板:https://docs.gitlab.com/omnibus/settings/smtp.html

    在设置之前请先登陆供应商官方邮箱,检查SMTP功能是否开启,因为默认是不会开启的。这里拿163邮箱作为示范。

    登陆163邮箱后,点击顶部栏的“设置”下拉列表中的“POP3/SMTP/IMAP”。

    

    页面中如果“IMAP/SMTP服务”和“POP3/SMTP服务”有关闭的,请点击“开启”,把服务都开启了。

    在下面的“授权密码管理”中,点击“新增授权码”,因为此码只显示一次,所以一定要保存下来。

    

    保存下来授权密码以后,就根据GitLab官网提供的对应配置模板进入gitlab.rb中开始配置。下面还是以163邮箱示范。

# 搜索"# Email Settings"或者"gitlab_rails['smtp_enable']"
# 在下面添加没有被"#"注释的段落,以下为163免费邮箱示例
# 开启smtp服务
gitlab_rails['smtp_enable'] = true
# 邮箱服务供应商smtp地址,一般邮箱服务供应商会提供
gitlab_rails['smtp_address'] = "smtp.163.com"
# 邮箱服务供应商smtp端口
gitlab_rails['smtp_port'] = 465
# 邮件发送者邮箱名
gitlab_rails['smtp_user_name'] = "*****@163.com"
# 邮件服务供应商提供给邮件发送者的授权密码
gitlab_rails['smtp_password'] = "*************"
# 163邮箱smtp固定值
gitlab_rails['smtp_domain'] = "smtp.ym.163.com"
# smtp请求服务类型为登陆
gitlab_rails['smtp_authentication'] = "login"
# smtp通信是否使用加密连接
gitlab_rails['smtp_enable_starttls_auto'] = true
# smtp通信使用TLS方式加密
gitlab_rails['smtp_tls'] = true
# 邮件发送者邮箱名
gitlab_rails['gitlab_email_from'] = '*****@163.com'
# 启用GitLab的email发送功能
gitlab_rails['gitlab_email_enabled'] = true
# 反馈信息到邮件发送者邮箱名
gitlab_rails['gitlab_email_reply_to'] = '*****@163.com'

  (4) 保存并重启GitLab

// 保存并关闭文本编辑器
// 重置GitLab配置
gitlab-ctl reconfigure
// 重置时间略长,请耐心等待,等着显示“gitlab Reconfigured!”的时候证明重置配置成功
// 同时以后尽量不要执行这个操作,否则在其他配置文件中配置的很有可能会被覆盖
// 重启GitLab gitlab-ctl restart

    

  (5) 修改防火墙

    如果修改了GitLab的端口,需要在防火墙里开启端口。如果没有修改则不需要管。

// 配置GitLab端口到防火墙(firewall)
firewall-cmd --add-port=65101/tcp --permanent
// 重启防火墙
firewall-cmd --reload
// 检查以开放端口
firewall-cmd --list-all

    

  (6) 测试GitLab邮件系统配置是否正确

// 进入GitLab控制台
gitlab-rails console
// 加载速度挺慢,等着展示了输入框后再继续输入
// 发送一个测试邮件,下面是语法
Notify.test_email('收件人邮箱', '邮件标题', '邮件内容').deliver_now

  如果返回值不是“Net::OpenTimeout (execution expired)”之类的报错,然后查看邮件发送者的已发送信箱是否有刚刚测试的邮件,就证明已经发送成功了。

  (7) 配置GitLab邮件内链接路径

    如果需要GitLab往其他地方发送邮件,内部链接可能含有对GitLab的链接,域名默认是localhost,所以需要对其进行修改。 

    

    使用文本编辑器打开: nano /var/opt/gitlab/gitlab-rails/etc/gitlab.yml 配置文件,找到“host”,这里修改域名。

    如果是仅限于局域网内使用,则设置为主机的IP,注意最好在路由器里将主机的IP和MAC地址进行绑定,否则重启主机IP地址可能会发生改变;如果是需要互联网访问的:有固定公网IP就填IP,如果是非固定公网IP就填写域名。

    下面的“port”是端口,设置和“gitlab.rb”里面设置的端口保持一致。

    如果使用的域名是https协议那么需要把“false”置为“true”。

    

    完成编辑后保存并退出文本编辑器,重启GitLab以启用配置: gitlab-ctl restart 

    

四. 访问并对GitLab进行设置

  (1) 访问

    使用安装GitLab的主机IP加上端口号,比如: http://10.211.55.3:65101/ 

    初次使用需要先设置root账号的密码。

  (2) 登陆平台管理员账号

    设置完root账号初始密码后,使用账号: root 和刚刚设置的密码即可登陆。

  (3) 设置语言

    点击用户头像,选择下拉列表中的“Settings”。在最左侧菜单栏中选择“Preferences”,页面最下面的“Localization”中的“Language”下拉列表中选择其他语言。点击“Save changes”然后刷新一下页面语言就切换了。

    其实不太建议设置中文,因为中文翻译不是很及时导致很多没有翻译的,而且不是很能准确表达意思。

    

  (4) 关闭公开注册

    如果开放公开注册则会带来一定的风险,所以最好使用邀请注册这种方式。

    点击顶部栏的扳手图形(Admin Area),在打开的页面左侧菜单栏中选择“Settings”-“General”,然后在页面中找到“Sign-up restrictions”,点击“Expand”展开伸缩框。

    将“Sign-up enable”单选框的勾选去掉,点击伸缩框里最下面的“Save changes”保存配置。

    

    下面演示一下如何使用管理员邀请注册。

    还是在“Admin Area”页面里,选择“Overview”-“Users”页面,点击右上角的“New user”。

    输入“Name”用户姓名、“Username”账户名和“Email”邮箱,点击页面最下端的“Create user”,系统会给输入的邮箱发一封邀请注册邮件。

    受邀者根据链接设置账户密码即可使用账户密码登陆。

相关