gitlab centos7 安装gitlab

01 gitlab基本信息

官网: https://about.gitlab.com/
https://about.gitlab.com/pricing/#gitlab-com

安装包下载地址:https://packages.gitlab.com/gitlab/gitlab-ce

安装说明文档:https://about.gitlab.com/install/
centos-7安装说明文档:https://about.gitlab.com/install/#centos-7

github地址: git clone https://gitlab.com/xhang/gitlab.git

02 centos 安装步骤

根据官网说明:https://about.gitlab.com/install/#centos-7

# 安装基本依赖;开启防火墙(注意这里默认http和https端口,如果修改端口需要重新加入端口)
sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

# 配置stmp邮件服务器
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

# 添加GitLab软件包存储库并安装软件包
# gitlab-ee是企业版,gitlab-ce是社区版本
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

# EXTERNAL_URL是将来访问gitlab的url地址,可以使用ip地址或者自己的域名
# 安装的时候可以指定默认访问IP地址
sudo EXTERNAL_URL="https://192.168.1.88" yum install -y gitlab-ce
# 或者指定默认访问的域名
sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ce
# 当然也可以不指定,使用默认值"https://gitlab.example.com"
sudo yum install -y gitlab-ce

# 在这一步可以指定安装的详细版本号,比如:
sudo yum install gitlab-ce-12.3.5-ce.0.el7.x86_64

03 gitlab基本配置

浏览到主机名并登录

首次访问时,您将被重定向到密码重置屏幕。提供初始管理员帐户的密码,您将被重定向回登录屏幕。使用默认帐户的用户名root登录。这里的root和系统root账号是两个概念,不相同。

安装和配置的详细说明

https://docs.gitlab.com/omnibus/README.html#installation-and-configuration-using-omnibus-package

04 gitlab基本命令

# 查看centos安装gitlab的版本号
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

# 查看github代码的版本号
cat gitlab/VERSION

# 刷新配置
# 修改配置文件后,需要刷新配置才能生效
sudo gitlab-ctl reconfigure

# 服务操作
sudo gitlab-ctl start
sudo gitlab-ctl stop
sudo gitlab-ctl restart
sudo gitlab-ctl status

# 修改配置文件
sudo vim /etc/gitlab/gitlab.rb

# 以下内容为/etc/gitlab/gitlab.rb中的内容
# gitlab仓库的访问地址
external_url 'http://*****.*****.com'

# 修改端口号
# nginx['listen_addresses'] = ['*'] # 这个默认一般不需要,新版本都同时支持IPv4和IPv6
nginx['listen_port'] = 6005 # 如果不冲突,可以指定80端口

# 设置时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'

#邮件配置,在代码上传,权限变更,
# 找回密码时发送通知邮件,比如使用126邮件服务器转发
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'd564*dfd@126.com'
gitlab_rails['gitlab_email_display_name'] = '543543***b'
gitlab_rails['gitlab_email_reply_to'] = '6546**654@126com'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.126.com"
gitlab_rails['smtp_port'] = 25
#126服务器的用户名是完整的邮件地址
gitlab_rails['smtp_user_name'] = "55458**@126.com"       
gitlab_rails['smtp_password'] = "254254****"
gitlab_rails['smtp_domain'] = "126.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'

# 数据备份目录,这个后面马上就会用到
gitlab_rails['backup_path'] = "/path/gitlab-back"

# 数据库存放目录
git_data_dir "/datapath/git-data"

# GitlabCE集成了nginx服务器和postgresql数据库,
# 对于集成的nginx服务是否启用,是否单独连接mysql数据库等等,
# 都可以在gitlab.rb文件中设置的
# 配置文件修改完成后,需要重新用gitlab-ctl reconfigure命令刷新配置后,才能生效

# 数据备份和恢复
sudo gitlab-rake gitlab:backup:create SKIP=db
# 数据库备份成功后,会在配置文件中gitlab_rails['backup_path'] 项设置的
# 文件夹中看到########_gitlab_backup.tar的 文件

# 数据恢复
# 停用Gitlab 
sudo gitlab-ctl stop
# 恢复备份 \backup后的数字为备份文件的前缀
sudo gitlab-rake gitlab:backup:restore BACKUP=######## 
# 重启 GitLab 
sudo gitlab-ctl start
# 检查 GitLab状态
sudo gitlab-rake gitlab:check SANITIZE=true

05 汉化gitlab

# 汉化gitlab
# 查看安装文件版本号
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

# 把安装包仓库加入gitlab-ee/gitlab-ce(企业版/社区版),针对单独下载独立安装包的情况
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

# 下载有汉化补丁包的指定版本,
# 至少要前两段版本号相同,比如:12.3.5 / 12.3.4
# 参考:https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm
sudo yum install gitlab-ce-12.3.5-ce.0.el7.x86_64

# 补丁安装
# 查找最新的汉化补丁包
# 下载源码
git clone https://gitlab.com/xhang/gitlab.git
# 查看tag列表,获得最新汉化包版本
cd gitlab
git tag
# 查找到当前最新汉化版本为v12.3.5-zh
# 切换到汉化版本
git checkout -b b12.3.5-zh v12.3.5-zh

# 打补丁包需要安装 patch 工具
sudo yum install patch -y
# 制作补丁包
git diff v12.3.5 v12.3.5-zh > /tmp/v12.3.5-zh.diff

# 如果已经启动了gitlab,需要停止服务
# 最好安装完,未启动gitlab直接打补丁包
sudo gitlab-ctl stop

# 打补丁包
sudo patch -d /opt/gitlab/embedded/service/gitlab-rails < /tmp/v12.3.5-zh.diff

# 刷新配置
sudo gitlab-ctl reconfigure
# 启动服务
sudo gitlab-ctl start

06 出现 shmmax 相关错误的处理方法

出现类似 gitlab_sysctl[kernel.shmmax] 错误的处理方法

vim /etc/gitlab/gitlab.rb

# 修改如下选项试一下
# postgresql['autovacuum'] = "on"
postgresql['autovacuum'] ='off'

07 防火墙开放端口

firewall-cmd --add-port=8082/tcp --permanent # 永久添加8082端口
# centos7以后防火墙常用命令
stemctl restart iptables.service     # 重启防火墙使配置生效
systemctl enable iptables.service    # 设置防火墙开机启动
systemctl stop firewalld.service     # 停止firewall
systemctl disable firewalld.service  # 禁止firewall开机启动
firewall-cmd --state                 # 查看防火墙状态,是否是running
firewall-cmd --reload                # 重新载入配置
firewall-cmd --get-zones             # 列出支持的zone
firewall-cmd --get-services          # 列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp     # 查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp       # 临时开放ftp服务
firewall-cmd --add-service=ftp --permanent     # 永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent  # 永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent     # 永久添加80端口 
iptables -L -n    # 查看规则
man firewall-cmd  #查看帮助
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值