1、更换国内yum源
1.1 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
1.2 下载新的CentOS-Base.repo 到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1.3 生成缓存
yum clean all
yum makecache
2、获取GitLab汉化包
说明:gitlab中文社区版的项目,v7-v8.8是由Larry Li发起的“GitLab 中文社区版项目”(https://gitlab.com/larryli/gitlab),从 v8.9 之后,@xhang 开始继续该汉化项目(https://gitlab.com/xhang/gitlab)。
2.1 安装git
下载最新的汉化包
yum install -y git
2.2 克隆获取汉化版本库
git clone https://gitlab.com/xhang/gitlab.git
如果是要下载老版本的汉化包,需要加上老版本的分支,比如今天已经是10.8.3,我依旧想下载10.0.2,可以运行下面的语句
git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh
2.3 查看该汉化补丁的版本
cat gitlab/VERSION
3、部署社区版gitlab
3.1 安装gitlab的依赖项
yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python
10.x以后开始依赖policycoreutils-python,我之前在使用9.x时还没有依赖该项。
3.2 启动postfix,并设置为开机启动
如果不需要提供postfix发送邮件可以跳过该步骤,安装完成之后可以通过配置第三方smtp服务器来发送邮件。
systemctl start postfix
systemctl enable postfix
3.3 设置防火墙
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
如果防火墙已经关闭的,这步也可以跳过
3.4 获取gitlab的rpm包
途径1:通过清华开源镜像站
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm
途径2:从官方获取RPM包后上传到/root目录下
官方下载:https://packages.gitlab.com/gitlab/gitlab-ce/
3.5 安装rpm包
rpm -ivh gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm
根据提示,继续执行指令配置gitlab。
gitlab-ctl reconfigure
3.6 修改配置文件gitlab.rb
vim /etc/gitlab/gitlab.rb
修改以下内容位为自己需要的配置:
# 将external_url改为对应的地址和端口
external_url 'http://gitlab.staryjie.com'
# 下面的是邮件smtp服务器的配置,由于阿里云默认关闭25端口,开启比较麻烦,所以使用了465的tls端口
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "1406973289@qq.com"
gitlab_rails['smtp_password'] = "fchxnkgnnmnrjdfb"
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'] = '1406973289@qq.com'
user['git_user_email'] = "1406973289@qq.com"
gitlab_rails['smtp_tls'] = true
因为修改了配置文件,故需要重新加载配置内容。
gitlab-ctl reconfigure
gitlab-ctl restart
4、覆盖汉化包
4.1 停止gitlab服务
gitlab-ctl stop
4.2 切换到gitlab汉化包所在的目录(即步骤二获取的汉化版gitlab)
cd /root/gitlab
4.3 比较汉化标签和原标签,导出 patch 用的 diff 文件到/root下
git diff v10.0.2 v10.0.2-zh > ../10.0.2-zh.diff
4.4 回到/root目录
cd /root
4.5 将10.0.2-zh.diff作为补丁更新到gitlab中
yum install patch -y
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.0.2-zh.diff
4.6 启动gitlab
gitlab-ctl start
4.7 重新配置gitlab
gitlab-ctl reconfigure
5、设置管理员密码
5.1 网页版
浏览器登陆,第一次登陆的时候会要求设置管理员密码。管理员账号登录的用户名:root
(虽然登录后管理员的用户名为Administrator,但是实际登录的用户名是root)
5.2 命令行设置
gitlab-rails console production
irb(main):001:0> user = User.where(id: 1).first // id为1的是超级管理员
irb(main):002:0>user.password = 'yourpassword' // 密码必须至少8个字符
irb(main):003:0>user.save! // 如没有问题 返回true
exit // 退出