CentOS7系统下GitLab的安装、汉化、修改默认端口、开启发送邮箱
一、centos7.4 下安装及汉化
===============================================
2017/11/12_第6次修改 ccb_warlock
更新说明:
2017/11/12:五中增加管理员账号的内容
2017/11/8:修复3.6中命令错误的问题;
2017/10/20:3.4中增加“途径2:从官方获取RPM包后上传到/root目录下”的内容;4.5中增加安装patch的命令;2.2中增加git clone老版本的命令;
2017/10/18:在“环境准备”中增加硬件环境的描述;
2017/10/9:增加3.5的内容;
===============================================
作为公司层面使用gitlab,进行维护时一定要考虑升级、备份、迁移/恢复的事情,代码安全是研发部门的重心之一,故我也整理了下面的内容供维护人员参考。
升级:http://www.cnblogs.com/straycats/p/7707359.html
本地备份:http://www.cnblogs.com/straycats/p/7671204.html
远程备份:http://www.cnblogs.com/straycats/p/7672692.html
迁移/恢复:http://www.cnblogs.com/straycats/p/7702271.html
gitlab接触了一段时间,觉得是一个很不错的开源产品(gitlab的社区版),值得我整理一篇部署教程作为记录。
安装全程选择的用户为root。
一、环境准备
操作系统:centos7(minimal,www.centos.org下载的包是CentOS-7-x86_64-Minimal-1708.iso)
CPU:2核
内存:6G
说明:硬件根据我查到的资料(http://www.cnblogs.com/gnool/p/6128546.html),结合使用人数的考虑,故选择了2核6G的配置,实际配置时需要根据gitlab使用人数的负载来决定硬件配置。
1.1 更换阿里yum(个人习惯)
步骤:
1)下载wget
yum install -y wget
2)备份默认的yum
mv /etc/yum.repos.d /etc/yum.repos.d.backup
3)设置新的yum目录
mkdir /etc/yum.repos.d
4)下载阿里yum配置到该目录中
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
5)重建缓存
yum clean all
yum makecache
6)升级所有包(改变软件设置和系统设置,系统版本内核都升级,故需要几分钟耐心等待)
yum update -y
1.2 安装vim(个人习惯)
yum install -y vim
二、获取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.0.4,我依旧想下载10.0.2,可以运行下面的语句
git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh
2.3 查看该汉化补丁的版本
cat gitlab/VERSION
我安装的时候正好是国庆,最新的版本才刚出,所以汉化版为10.0.2,故我选择原版也安装10.0.2。

三、部署社区版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,并设置为开机启动
systemctl start postfix
systemctl enable postfix
如果上面报错:
[root@ ~]# 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.
debug的过程:中发现具体的问题是:parameter inet_interfaces: no local interface found for ::1
解决方法:
修改 /etc/postfix/main.cf的设置 inet_protocols = ipv4 inet_interfaces = all
3.3 设置防火墙
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
3.4 获取gitlab的rpm包
途径1:通过清华开源镜像站
查看清华开源镜像站,有我需要的10.0.2的rpm包。

获取rpm包
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/
因为要在centos7上安装版本10.0.2的gitlab,故找到gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm下载到本地后,通过Bitvise SSH Client工具将rpm包上传到gitlab虚拟机的/root目录下。
说明:从下载速度和方便程度来说,走清华的镜像站的方式更优,但是我2017/10/20想下载gitlab10.0.4时,发现清华的镜像站最新只有10.0.3,故在增补“途径2”获取最新的安装包。
3.5 安装rpm包
rpm -i 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变量的地址修改为gitlab所在centos的ip地址。(因为我这台centos是16.5,故配成图中的地址)。

因为修改了配置文件,故需要重新加载配置内容。
gitlab-ctl reconfigure
gitlab-ctl restart
3.7 查看gitlab版本
head -1 /opt/gitlab/version-manifest.txt
四、覆盖汉化包
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
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
五、设置管理员密码
管理员账号登录的用户名:root
(虽然登录后管理员的用户名为Administrator,但是实际登录的用户名是root)
方法一:网页方式
浏览器访问gitlab所在的ip,输入密码后点击 “Change your password”(如果进行汉化,点击“修改密码”)。


方法二:指令方式
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 // 退出
参考资料:
1. https://github.com/marbleqi/gitlab-ce-zh(安装原版)
2. https://gitlab.com/xhang/gitlab(汉化步骤)
转自:https://www.cnblogs.com/straycats/p/7637373.html
三、更改仓库存储位置
默认时GitLab的仓库存储位置在“/var/opt/gitlab/git-data/repositories”,在实际生产环境中显然我们不会存储在这个位置,一般都会划分一个独立的分区来存储仓库的数据,我这里规划把数据存放在“/data/git-data”目录下。
root@test1:~/tools# mkdir -pv /data/git-data
mkdir: 已创建目录 "/data"
mkdir: 已创建目录 "/data/git-data"
root@test1:~# chown -R git.git /data/git-data #修改创建目录的属主和属组为git用户
root@test1:~/tools# cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
root@test1:~/tools# vim /etc/gitlab/gitlab.rb
#启用git_data_dirs参数,并修改如下:
git_data_dirs 路径 "/data/git-data"

#并修改external_url的值修改为规划的访问域名
external_url 'http://test.gitlab.net'
root@test1:~/tools# gitlab-ctl reconfigure #重新编译gitlab.rb文件,使用做的修改生效
重新编辑后,GitLab在仓库目录会自动创建一个repositories文件,如下:
root@test1:~# ls -ld /data/git-data/repositories/
drwxrws--- 2 git git 4096 1月 4 14:15 /data/git-data/repositories/
四、修改发送邮箱
1.开启qq邮箱的POP3/SMTP服务并保存好授权码
POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
开启服务:
POP3/SMTP服务 (如何使用 Foxmail 等软件收发邮件?)
已开启 | 关闭
IMAP/SMTP服务 (什么是 IMAP,它又是如何设置?)
已关闭 | 开启
Exchange服务 (什么是Exchange,它又是如何设置?)
已关闭 | 开启
CardDAV/CalDAV服务 (什么是CardDAV/CalDAV,它又是如何设置?)
已关闭 | 开启
2.修改gitlab的配置文件:/etc/gitlab/gitlab.rb

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "******@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '******@qq.com'

重启生效:gitlab-ctl reconfigure
五、修改默认端口
1、更改端口
vim /etc/gitlab/gitlab.rb
输入内容:
external_url 'http://10.68.166.10:815'
nginx['listen_port'] = 815
nginx['listen_https'] = false
2、改nigx端口
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
查找如下内容并修改:
server {
listen *:815;
server_name 10.68.166.10
if ($http_host = "") {
set $http_host_with_default "10.68.166.10:815";
}
}
--------------------------------------------------------------
修改完成后,执行
gitlab-ctl reconfigure
gitlab-ctl restart
CentOS7系统下GitLab的安装、汉化、修改默认端口、开启发送邮箱的更多相关文章
- Gitlab的安装汉化及问题解决
Gitlab的安装汉化及问题解决(2017/12/14目前版本为10.2.4) 一.前言 Gitlab需要安装的包太TM多了,源码安装能愁死个人,一直出错,后来发现几行命令就装的真是遇到的新大陆一样. ...
- Centos下的GitLab的安装汉化和数据备份以及管理员密码重置
前言: 安装版本:gitlab-ce-8.8.5-ce.1.el7.x86_64.rpm 下载地址: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yu ...
- CentOS 下 Codeblocks 的 安装 + 汉化 以及 基本使用介绍
Codeblocks 安装 注:在root用户下运行下列命令 1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可 yum install gcc yu ...
- Linux centos7系统下svn的安装与配置
一.安装svn # yum -y install svn 二.查看svn版本信息 # svnserve --version 三.搭建svn版本库(假设项目名称为project) 1.首先创建版本库目录 ...
- Gitlab一键端的安装汉化及问题解决(2017/12/14目前版本为10.2.4)
Gitlab的安装汉化及问题解决 一.前言 Gitlab需要安装的包太TM多了,源码安装能愁死个人,一直出错,后来发现几行命令就装的真是遇到的新大陆一样... ... 装完之后感觉太简单,加了汉化补丁 ...
- Centos7安装部署搭建gitlab平台、汉化
Centos7安装部署搭建gitlab平台.汉化 安装环境要求:内存不要小于4G,否则后期web界面可能会报错 一.准备工作 1.1 查看系统版本 首先查询系统版本,下载Gitlab的对应版本 [ro ...
- centos7系统下nginx安装并配置开机自启动操作
准备工作 我的centos7系统是最小化安装的, 缺很多库, 首先安装必须的运行库 ? 1 2 3 4 5 6 7 8 9 10 11 yum install wget gcc gcc-c++ pcr ...
- Gitlab部署及汉化操作
一.简介 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. GitLab拥有与Github类似的功能 ...
- C语言入门-ide的概念介绍及codeblocks编辑器安装汉化
大家好,本章教程就ide(集成开发环境)来说一说. ide就是编译器+编辑器,原理就是在编辑器写代码,然后编辑器会让编译器来编译成二进制可执行文件. 常见的c/c++编译器有mingw64,msvc, ...
随机推荐
- 昨天521表白失败,我想用Python分析一下...表白记录和聊天记录
昨天跟喜欢的妹子表白了. 失败了!.下面是表白的聊天记录: (跟妹子已经认识一段时间) 我:灭嘤嘤,我喜欢你. 妹子:你干嘛? 我:今天520,跟你表白鸭. 妹子:那....有多喜欢? 我: 有很多很 ...
- TLS之殇如何把我逼上绝望
1.协议的形式化分析,前提是弄清楚协议结构和协议参与者之间的会话交互,以及会话之间使用的加解密算法,签名算法,认证算法,等牵扯的算法.之后便是将要分析的协议部分进行抽象化,具体抽象涉及协议参与者(发起 ...
- const变量可以修改么?
遇到了一个关于const修饰的变量值是否能修改问题,虽然我知道const变量在某些情况下可以通过指向它的指针来间接修改,但是对原理还是很模糊,今天就整理了一下. 一.三个试验压压惊 1.直接对cons ...
- 第五次个人作业---Alpha2项目测试
这个课程属于哪个课程 <课程的链接> 作业的要求 <作业要求的链接> 团队名称 <团队名称:六扇门编程团队> 作业的目标 从一个普通用户的角度,在测试其他团队项目的 ...
- 【动态规划】ZZNU-OJ- 2054 : 油田
2054 : 油田 (一个神奇的功能:点击上方文字进入相应页面) 时间限制:1 Sec 内存限制:32 MiB提交:49 答案正确:6 提交 状态 讨论区 题目描述 在太平洋的一片海域,发现了大量的油 ...
- [NgRx] Setting up NgRx Router Store and the Time-Travelling Debugger
Make sure you have the@ngrx packages installed: "@ngrx/data": "^8.0.1", "@n ...
- 改变某个对象的CSS样式时,不要使用JS直接添加样式,
重绘: 使用js改变网页的背景颜色 浏览器会把整个网页的颜色重新在画一遍,导致性能降低 回流: 只要改变某个DOM对象的宽或者高,浏览器就会重新再计算网页结构,重新生成一次,导致性能严重降低. CSS ...
- SIGAI机器学习第十六集 支持向量机3
讲授线性分类器,分类间隔,线性可分的支持向量机原问题与对偶问题,线性不可分的支持向量机原问题与对偶问题,核映射与核函数,多分类问题,libsvm的使用,实际应用 大纲: 多分类问题libsvm简介实验 ...
- JS的一些总结(函数声明和函数表达式的区别,函数中的this指向的问题,函数不同的调用方式,函数也是对象,数组中的函数调用)
一.函数声明和函数表达式的区别: 函数声明放在if——else语句中,在IE8中会出现问题 函数表达式则不会 <script> if(true){ function f1(){ conso ...
- Python解释器安装问题-windows
问题一-更新问题(update your machine) 解决方案 1 搜索 windows update 2 检查更新 3 安装更新重启 问题二-0x80072efd错误 问题原因: 安装包需要在 ...