CentOS 7安装GitLab、汉化、配置邮件发送

摘要:
1.替换国产yum source 1.1 Backup mv/etc/yum.repos.dCentOS Base.rebo/etc/yum.repos.dCentOS Base.rebo.backup1.2将新的CentOS-Base.repo下载到/etc/yum.reos.d/wget-O/etc/yum.repo.d/CentOS-Base.repohttp:

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)

首次登陆GitLab

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                                                // 退出

升级GitLab

本地备份

远程备份

迁移/恢复

免责声明:文章转载自《CentOS 7安装GitLab、汉化、配置邮件发送》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇(四)Vue指令sicily 1144. 陶陶摘苹果下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux添加cuda路径到bashrc环境变量

查看linux中存在的cuda版本,进入/usr/local: 添加自己需要的cuda版本到环境变量, vim ~/.bashrc,添加以下内容到最后,如: export PATH=/usr/local/cuda-10.1/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LI...

android:ViewPager实现Tabs滑动切换效果

进入ViewPager官方文档 public class ViewPager extends ViewGroup java.lang.Object    ↳ android.view.View      ↳ android.view.ViewGroup        ↳ android.support.v4.view.ViewPager...

git从远程仓库gitLab上拉取指定分支到本地仓库

例如:将gitLab 上的dev分支拉取到本地 1》与远程仓库建立连接:git remote add origin XXXXX.git 2》使用git branch 查看本地是否具有dev分支 3》如果没有git fetch origin dev 4》git checkout -b dev origin/dev在本地创建分支dev并切换到该分支 5》gi...

Python 持久化管理之 Pickle/ZODB

1.对象持久化 如果希望透明地存储 Python 对象,而不丢失其身份和类型等信息,则需要某种形式的对象序列化: 它是一个将任意复杂的对象转成对象的文本或二进制表示的过程。同样,必须能够将对象经过序列化后的形式恢复到原有的对象。 在 Python 中,这种序列化过程称为 pickle,可以将对象 pickle 成字符串、磁盘上的文件或者任何类似于文件的对象...

element-UI 表单图片判空验证问题

本文地址:http://www.cnblogs.com/veinyin/p/8567167.html  element-UI的表单验证似乎并没有覆盖到文件上传上面,当我们需要在表单里验证图片时,就会出现问题。 当图片为空时,点击保存,会出现提示。 但是当我上传图片后,提示并不会随着消失,而是仍然显示着,如下图 如果需要做到正常的表单验证,可以在 on-c...

nodejs版实现properties后缀文件解析

1、propertiesParser.js let readline = require('readline'); let fs = require('fs');// properties文件路径 let local = 'zh', url = local == 'zh' ? /public/messages_zh.properties' :...