CentOs7安装gitlab(转!)
沧浪之水清兮,可以濯吾缨; 沧浪之水浊兮,可以濯吾足。
-------------------《渔夫》引自《大江大河:水书记》
转自:https://www.cnblogs.com/chenfool/p/7689438.html
环境说明:
虚拟机 centos 7 64位
内存:4GB
存储:100GB
CPU: CORE
版本:
gitlab 10.0.3
- 配置系统基础环境
配置阿里巴巴 yum 源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
重建yum 的缓存
yum clean all yum makecache
配置 yum 的本地源
mount ~/CentOS-7-x86_64-DVD-1708.iso /mnt/cdrom/
修改本地 yum 的配置
git clone https://gitlab.com/xhang/gitlab.git
将 baseurl 的参数增加一个列表
git clone https://gitlab.com/xhang/gitlab.git
修改enabled值,改为
enabled=1
- 安装gitlab 环境准备
安装 git
yum install -y git
创建 gitlab汉化版的源码目录,等一下使用git clone 一份新的代码
mkdir gitlab_zh cd gitlab_zh git clone https://gitlab.com/xhang/gitlab.git
当前作者下载汉化源码为10.0.4,但是即将安装的 gitlab 版本为 10.0.3
- 安装gitlab
安装 gitlab 的依赖包
yum install curl openssh-server openssh-clients postfix cronie policycoreutils-python –y yum install -y patch
启动 postfix,并且设置为开机启动
systemctl start postfix systemctl enable postfix
设置防火墙
firewall-cmd --add-service=http --permanent firewall-cmd --reload
大家从网上下载好 gitlab 的rpm 包后,就可以安装了
rpm -i gitlab-ce-10.0.3-ce.0.el7.x86_64.rpm
gitlab 下载地址:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
当 shell 中出现以下内容,则证明 gitlab 的程序安装完了
继续安装提示执行配置 gitlab 的命令
gitlab-ctl reconfigure
修改 gitlab 的配置文件
vi /etc/gitlab/gitlab.rb
修改里面的 external_url 参数,例如作者的机器的IP地址为 10.211.55.10
external_url='http://10.211.55.10'
因为修改了配置文件,所以重新加载配置文件
gitlab-ctl reconfigure
- 汉化 gitlab
使用汉化包来为社区版本的 gitlab 打补丁
停止 gitlab 服务
gitlab-ctl stop
切换到 刚才从 github 上download 的汉化包目录
cd /root/source/gitlab_zh/gitlab/
找出安装的 10.0.3 版本和 汉化版本10.0.4 中的不同点
git diff v10.0.3 v10.0.4-zh > ../10.0.3-zh.diff
目录倒退一层
cd ../
将 10.0.3-zh.diff 的补丁添加到 gitlab 中
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.0.3-zh.diff
重新启动 gitlab 服务
gitlab-ctl start
重新配置 gitlab
gitlab-ctl reconfigure
软件安装部分就完成了,以下是web 页面配置部分
- web页面配置
由于作者本机的IP 地址为 10.211.55.10,而且gitlab 默认的端口号为 80,所以使用浏览器访问以下地址:
http://10.211.55.10:80
用户自己在页面上输入 新的密码,该密码为 管理员密码
未来管理员的登陆名为 root,密码为刚才修改的密码
- 配置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 加密传输
因为修改了配置文件,所以重新加载配置文件
gitlab-ctl reconfigure
管理员还需要在web的管理页面上修改对应的配置,管理员的配置页面可以点击以下按钮
gitlab是否打开新用户注册
如果管理员需要自己手工添加新用户可以在以下页面配置
其他的一些技术点
- 查看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 服务
gitlab-ctl restart
- 修改gitlab 的nginx服务端口号
首先还是需要先关闭gitlab的服务
gitlab-ctl stop
修改 /etc/gitlab/gitlab.rb 文件(作者是在root 用户下直接修改的)
找到以下内容(作者对应是859行),修改为 nginx['listen_port'] = 8080
##! **Override only if you use a reverse proxy** ##! Docs: https://docs.gitlab.com/omnibus/settings/nginx.html#setting-the-nginx-listen-port # nginx['listen_port'] = nil
同时还需要在 /etc/gitlab/gitlab.rb 文件 找到以下内容(作者对应的是 587 行),将 unicorn['port'] 设置为 8082(因为8080 端口已经被占用了)
### Advanced settings # unicorn['listen'] = '127.0.0.1' # unicorn['port'] = 8080
修改后的内容变为
### Advanced settings # unicorn['listen'] = '127.0.0.1' unicorn['port'] = 8082
用户还需要在 /var/opt/gitlab/gitlab-rails/etc/unicorn.rb 文件上找到以下内容(作者对应是 第7行 ),将listen 的端口设置为 8082
# What ports/sockets to listen on, and what options for them. listen "127.0.0.1:8080", :tcp_nopush => true
修改后的内容变为
# What ports/sockets to listen on, and what options for them. listen "127.0.0.1:8082", :tcp_nopush => true
更新gitlab 的配置
gitlab-ctl reconfigure
用户在 /var/opt/gitlab/nginx/conf/gitlab-http.conf 文件中,找到以下内容(作者对应是38行),将原来默认的的listen *:80 会被刷新为修改后的8080 (nginx 的端口就变为 8080)
upstream gitlab-workhorse {server unix:/var/opt/gitlab/gitlab-workhorse/socket; }server {listen *:8080;
重启 gitlab 服务
gitlab-ctl restart
这里用户一定要注意,如果直接修改 /var/opt/gitlab/nginx/conf/gitlab-http.conf 文件的 内容,则在执行 gitlab-ctl reconfigure 后,修改值会被覆盖。
参考资料:
http://www.cnblogs.com/straycats/p/7637373.html
http://www.cnblogs.com/wenwei-blog/p/5861450.html
http://blog.csdn.net/jackghq/article/details/54954486
http://blog.csdn.net/charlsehan/article/details/46801589
解决阿里云上无法发送邮件的博客:http://www.cnblogs.com/wenwei-blog/p/6286944.html
修改web 服务端口号的博客:http://blog.csdn.net/donglynn/article/details/74002540
http://blog.csdn.net/wizard_rp/article/details/73147129 (这种方法会在 刷新配置时修改内容被覆盖)
转载于:https://www.cnblogs.com/richered/p/10209231.html
CentOs7安装gitlab(转!)相关推荐
- 记一次 Centos7 安装 GitLab CE v12.6.1
一.简介 GitLab 是一个用于仓库管理系统的开源项目,是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能.使用Git作为代码管理工具, ...
- CentOS7 安装 Gitlab
GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. 它拥有与Github类似的功能,能够浏览源代码, ...
- centos7 安装Gitlab
简介: GitLab是一个代码仓库,用来管理代码.Jenkins是一个自动化服务器,可以运行各种自动化构建.测试或部署任务.所以这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以 ...
- Centos7安装gitlab服务器
gitlab官方安装文档:https://about.gitlab.com/install/#centos-6 版本列表:https://packages.gitlab.com/gitlab/gitl ...
- centos7安装gitlab并汉化
一.基础环境准备 1.安装依赖包 [root@gitlab-server ~]#yum install curl policycoreutils openssh-server openssh-clie ...
- 【DevOps】全流程记录:CentOS7安装Gitlab服务器
文章目录 1 缘起 2 服务器 3 安装前准备 3.1 更新操作系统 3.1.1 命令 3.1.2 执行过程 3.2 安装依赖组件 3.2.1 命令 3.2.2 执行过程 3.2.3 安装后设定自动启 ...
- centos7安装gitLab
1安装 sshd依赖 yum install -y curl policycoreutils-python openssh-server systemctl enable sshd systemct ...
- linux 设置git ip,centos7安装gitlab并更改端口IP地址
1.在防火墙里开放http跟ssh端口 yum install curl openssh-server openssh-clients postfix cronie -y service post ...
- Centos7 安装gitlab 8.7.5
简介: GitLab 是一个用于仓库管理系统的开源项目. 使用Git作为代码管理工具,并在此基础上搭建起来的web服务. 1. Web框架使用Ruby on Rails. 2. 基于MIT代码发布协议 ...
最新文章
- NLTK命名实体识别NER
- 面试----Object类
- java内部类的使用
- Nodejs之WebSocket
- Linux 基础知识(九)
- 四年级信息技术认识计算机,四年级信息技术第三课信息工具知多少
- I_LIKE_CPP 多特游戏下载
- Android笔记-雷电模拟器(Android5.1.1)安装Xposed
- 各种水龙头拆卸图解_[各种水龙头拆卸图解]水龙头漏水怎么办
- nginx+keepalived构建主备负载均衡代理服务器
- tensorflow have no attribute enable_eager_execution() 问题解决
- 2021-09-07Hadoop运行模式:
- java删除文件和文件夹
- java 习题_【精选】Java习题Java习题.pdf
- Kotlin学习笔记八-数据代理类型,接口与抽象类
- Windows蓝屏漏洞(利用多种途径与分析)
- 互联网行业职位介绍 —— OD、PM、RD、FE、UE、QA、OP、DBA...
- 完全手册-MATLAB使用详解:基础、开发及工程应用
- javascript匿名函数传值问题
- 期盼小豆发芽(2008.7.20)
热门文章
- 0-1背包 java_0-1背包问题,java的动态规划如题,代码如下public
- python怎么读文件里的指定几行-Python从文件中读取指定的行以及在文件指定位置写入...
- python中文软件-Python
- python小程序源代码-整理了适合新手的20个Python练手小程序
- python大量数据折线图-Python数据可视化练习:各种折线图的用法
- python解释器的安装步骤-Python本地及虚拟解释器配置过程解析
- python职能-最受欢迎的10家互联网公司揭秘Python薪资!
- python画饼图-从零开始学Python可视化(五): 饼图及环形图
- python数据处理实例-Python数据处理numpy.median的实例讲解
- python程序代码大全-调试Python程序代码的几种方法总结