Centos 7安装gitlab

鸿辰 Git 2.17 K 0

本文介绍使用yum方式gitlab

一、配置镜像源

可以访问 gitlab-ce Installation instructions 获取安装命令,也可以复制下面的命令

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

二、安装gitlab

下面命令的版本号可以在 gitlab-packages 获取

sudo yum install gitlab-ce-14.6.1-ce.0.el7.x86_64

三、配置gitlab的访问地址、账号、邮件

vim /etc/gitlab/gitlab.rb
external_url 'http://xxx' # 你自己的IP或域名地址

### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '发件人邮箱地址'
gitlab_rails['gitlab_email_display_name'] = '发件人名称'

### GitLab email server settings
### 这里邮件服务器使用的是阿里云企业邮箱,其他自行修改
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qiye.aliyun.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "账号"
gitlab_rails['smtp_password'] = "密码"
gitlab_rails['smtp_domain'] = "smtp.qiye.aliyun.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

四、配置gitlab的nginx

nginx['enable'] = true # 启用nginx
nginx['listen_port'] = 80 # 端口

五、启用

# 使配置生效
gitlab-ctl reconfigure
# 启动
gitlab-ctl start

六、访问配置的域名+端口即可访问gitlab面板

  • 默认账号名称:root
  • 初始化密码:
    • 执行 reconfigure 命令后,会在 /etc/gitlab/initial_root_password 存放密码,该密码会在24小时后自动删除,应当尽快登录并修改密码

七、常见问题处理

  • 宿主机已经安装了nginx,无法配置gitlab中的nginx为80端口
    这里使用宿主机的nginx代理到gitlab中的nginx即可,配置步骤如下:
    • 将gitlab中的nginx监听端口改成非80端口,如
      nginx['listen_port'] = 9091 # 端口
    • 配置宿主机nginx代理
    server
    {
            listen 80;
            server_name git.sunyonghong.com;
            location /
            {
                    client_max_body_size 50m;
                    proxy_redirect off;
                    #以下确保 gitlab中项目的 url 是域名而不是 http://git,不可缺少
                    proxy_set_header Host $host;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    # 反向代理到 gitlab 内置的 nginx
                    proxy_pass http://0.0.0.0:9091/;
                    index index.html index.htm;
            }

    }

标签: git linux centos gitlab