• centos7安装gitlab


    一、简介

    GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

    二、环境

    虚拟机 centos 7 64位
    内存:4GB 

    三、安装

    1.下载好 gitlab rpm 包,我下载的是gitlab-ce-11.6.0-ce.0.el7.x86_64.rpm

    https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

     

    2.安装 gitlab 的依赖包 

    yum install curl openssh-server openssh-clients postfix cronie policycoreutils-python –y

    yuminstall -y patch

     

    3.启动 postfix,并且设置为开机启动

    systemctl start postfix

    systemctl enable postfix 

     如果postfix启动报错: inet_interfaces: no local interface found for ::1

     使用systemctl start postfix时,提示: 

     Job for postfix.service failed because the control process exited with error code. See “systemctl status postfix.service” and “journalctl -xe” for details.

    查看日志more /var/log/maillog 或者 more /var/log/message 

    发现日志有报错信息: postfix: fatal: parameter inet_interfaces: no local interface found for ::1 

    解决方法:

    vi /etc/postfix/main.cf
    发现配置为:
    inet_interfaces = localhost
    inet_protocols = all
    改成:
    inet_interfaces = all 或者 inet_interfaces = 127.0.0.1
    inet_protocols = all
    重新启动postfix服务即可
    systemctl start postfix

     

    4.设置防火墙

    firewall-cmd --add-service=http --permanent
    firewall-cmd --reload

     

    5.安装刚下载好 gitlab 的rpm 包

    rpm -i gitlab-ce-11.6.0-ce.0.el7.x86_64.rpm

       当 shell 中出现以下内容,则证明 gitlab 的程序安装完了

    6.继续安装提示执行配置 gitlab 的命令

    gitlab-ctl reconfigure

    7.修改 gitlab 的配置文件

    vi /etc/gitlab/gitlab.rb

    修改里面的 external_url 参数,例如机器的IP地址为47.92.82.152
    external_url='http://47.92.82.152'
    因为修改了配置文件,所以重新加载配置文件

    gitlab-ctl reconfigure

    软件安装部分就完成了,以下是web 页面配置部分
    • web页面配置
    gitlab 默认的端口号为 80,使用浏览器访问以下地址:http:// 47.92.82.152:80
    自己在页面上输入 新的密码,该密码为 管理员密码,管理员的登陆名为 root。

    如果访问页面访问报错502,请检查如下问题

       1)权限问题:Gitlab文件需要给予读写的权限

    chmod -R 755 /var/log/gitlab
    2)端口问题:Gitlab的默认启动端口是80,8080,所以有肯能会与其他的端口产生冲突,需要修改端口号

    3)内存不足的问题:安装gitlab的时候,已经说明你的空余内存需要有4G左右的内存,所以在安装gitlab的时候,请给足内存,在安装。

    修改访问端口号:

    1)更改端口

     vi /etc/gitlab/gitlab.rb

    修改内容:

    external_url 'http:// 47.92.82.152:88'   #指定访问端口,默认是80

    nginx['listen_port'] = 88

    nginx['listen_https'] = false

    unicorn['port'] = 8001  # 为unicorn worker的工作端口,默认为8080,如果你的8080端口被占用的,这一项需要更改

    2)改nginx端口

      vi /var/opt/gitlab/nginx/conf/gitlab-http.conf    

    查找如下内容并修改:

    server {

    listen *:88;

    server_name 47.92.82.152

    if ($http_host = "") {

        set $http_host_with_default "47.92.82.152:88";

    }

    }

    3)修改完成后执行

    gitlab-ctl reconfigure  #重新加载配置
    gitlab-ctl restart #重启

    打开浏览器,输入"http:/ 47.92.82.152:88",进入登录页面

     

    8.配置gitlab 用户注册时的邮箱通知信息

     修改 /etc/gitlab/gitlab.rb 配置文件,该邮箱地址是未来gitlab 向用户发送邮件时的推送邮箱 

    gitlab_rails['smtp_enable'] = true

    gitlab_rails['smtp_address'] = "smtp.qq.com"           # 用户输入自己的smtp服务器地址,例如作者的时163 的企业服务地址

    gitlab_rails['smtp_port'] = 25                         # 用户smtp 的端口号

    gitlab_rails['smtp_user_name'] = "***@qq.com"          # 用户的邮箱地址

    gitlab_rails['smtp_password'] = "PASSWORD"             # 用户的邮箱密码

    gitlab_rails['smtp_domain'] = "qq.com"                 # 用户邮箱的域名

    gitlab_rails['smtp_authentication'] = "login"

    gitlab_rails['smtp_enable_starttls_auto'] = true

    gitlab_rails['smtp_tls'] = false

    gitlab_rails['gitlab_email_from'] = '***@qq.com'       # 用户的邮箱地址

    user['git_user_email'] = "***@qq.com"                  # 用户的邮箱地址

    如果大家安装gitlab 的环境为阿里云,一定要确认25 端口是否能够使用,作者就由于之后在阿里云上部署gitlab时,遇到25 端口无法使用的问题,

     所以一直导致在注册新用户时,邮件无法发送出去,这个时候解决方法可以选择使用打开 ssl 加密传输,这样端口就不再是 25 端口了,例如qq 的邮件配置应该变为

    gitlab_rails['smtp_enable'] = true

    gitlab_rails['smtp_address'] = "smtp.qq.com" # 用户输入自己的smtp服务器地址,例如作者的时163 的企业服务地址
    gitlab_rails['smtp_port'] = 465                        # 用户smtp 的端口号
    gitlab_rails['smtp_user_name'] = "***@qq.com" # 用户的邮箱地址

    gitlab_rails['smtp_password'] = "PASSWORD" # 用户的邮箱密码

    gitlab_rails['smtp_domain'] = "qq.com" # 用户邮箱的域名

    gitlab_rails['smtp_authentication'] = "login"

    gitlab_rails['smtp_enable_starttls_auto'] = true

    gitlab_rails['smtp_tls'] = false

    gitlab_rails['gitlab_email_from'] = '***@qq.com' # 用户的邮箱地址

    user['git_user_email'] = "***@qq.com" # 用户的邮箱地址

      gitlab_rails['smtp_tls'] = true # 打开 ssl 加密传输

    9.其他一些技术点

     查看gitlab 的配置

    gitlab-ctl show-config

    查看gitlab 的运行日志

    gitlab-ctl tail

    切换gitlab 仓库的数据目录

    gitlab 默认的仓库数据目录为 /var/opt/gitlab/git-data/repositories/ ,如果未来用户的数据量大了,需要更换仓库数据目录,可以通过修改 /etc/gitlab/gitlab.rb 配置进行调整。

    用户在调整gitlab 的配置之前,建议对其先停止服务。

    gitlab-ctl stop

    然后用户创建好未来要迁移的数据目录,并且将原来的数据迁移过去,由于作者的 gitlab 是通过 rpm 包安装的,所以gitlab 的系统用户为 git,用户组为 root,所以在拷贝数据后还需要修改新数据目录的用户归属,否者后面gitlab 无法对该目录写入新的数据。

    mkdir -p /mnt/gitlab/git-data/
    mv /var/opt/gitlab/git-data/repositories/* /mnt/gitlab/git-data/repositories/
    chown -R git:root /mnt/gitlab/git-data/*

    然后用户就可以对 /etc/gitlab/gitlab.rb 进行调整了。

    /etc/gitlab/gitlab.rb 默认对数据目录的配置是注释的。

     用户可以新增配置信息

    git_data_dirs({
      "default" => {
         "path" => "/mnt/gitlab/git-data"
      }
    })

    然后对 gitlab 重新刷新配置

    gitlab-ctl reconfigure  #因为修改了配置文件,所以重新加载配置文件
    gitlab-ctl restart
  • 相关阅读:
    mysql之旅【第一篇】
    初探psutil
    Android的ListView分页功能
    Android中用PULL解析XML
    HTTPClient模块的HttpGet和HttpPost
    PB11.5创建及调用WebService
    Android平台使用SQLite数据库存储数据
    高通mm-camera平台 Camera bring up基本调试思路
    在Linux中使用crontab
    Linux 修改 hostname
  • 原文地址:https://www.cnblogs.com/vyanbin/p/centos7_gitlab.html
Copyright © 2020-2023  润新知