GitLab 安装配置笔记(转)
GitLab的安装方式
GitLab的两种安装方法:
- 编译安装
- 优点:可定制性强。数据库既可以选择MySQL,也可以选择PostgreSQL;服务器既可以选择Apache,也可以选择Nginx。
- 缺点:国外的源不稳定,被墙时,依赖软件包难以下载。配置流程繁琐、复杂,容易出现各种各样的问题。依赖关系多,不容易管理,卸载GitLab相对麻烦。
- 通过rpm包安装
- 优点:安装过程简单,安装速度快。采用rpm包安装方式,安装的软件包便于管理。
- 缺点:数据库默认采用PostgreSQL,服务器默认采用Nginx,不容易定制。
由于公司只配备了一台阿里云服务器,并且没有分配任何的域名。该服务器上需要运行版本控制软件、bug管理软件、知识库等多套程序,只能采用ip的方式访问。原先采用GitLab+Apache+MySQL编译安装的方式,并且将GitLab配置为可通过xxx.xx.xxx.xx/gitlab的形式访问,由于bug管理软件(禅道)也运行于Apache之上,两套软件之间彼此有互斥的影响,找不到解决方法。同时,GitLab的注册需要邮箱验证,由于网上提供的配置方法都是基于域名的,在阿里云上多次进行配置都无法正常使用。
因此,只能放弃编译安装的方式,而采取rpm包的方式重新进行安装。
安装GitLab CE Omnibus包
在linux终端下,使用
cat /etc/issue命令查询当前系统的发行版本,查询到阿里云所安装的linux版本为CentOS release 6.6 (Final)。进入gitlab官方网站,选择对应的操作系统——CentOS 6 (and RedHat/Oracle/Scientific Linux 6),按照官方的提示进行安装:
安装配置必要的依赖
在Centos 6 和 7 中,以下的命令将会打开HTTP和SSH在系统防火墙中的可访问权限。
sudo yum install openssh-server sudo yum install postfix sudo yum install cronie sudo service postfix start sudo chkconfig postfix on sudo lokkit -s http -s ssh下载Omnibus package包并安装
curl -O https://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-ce-7.10.0~omnibus.2-1.x86_64.rpm
sudo rpm -i gitlab-ce-7.10.0~omnibus.2-1.x86_64.rpm
Note:由于amazonaws的服务器被墙,下载这个包时可能需要翻墙下载。
配置并启动GitLab
打开/etc/gitlab/gitlab.rb,将external_url = 'http://git.example.com'修改为自己的IP地址:http://xxx.xx.xxx.xx,,然后执行下面的命令,对GitLab进行编译。sudo gitlab-ctl reconfigure
登录GitLab
Username: root
Password: 5iveL!fe
配置GitLab的默认发信邮箱
- GitLab中使用
postfix进行邮件发送。因此,可以卸载系统中自带的sendmail。
使用yum list installed查看系统中是否存在sendmail,若存在,则使用yum remove sendmail指令进行卸载。 测试系统是否可以正常发送邮件。
echo "Test mail from postfix" | mail -s "Test Postfix" xxx@xxx.com
注:上面的xxx@xxx.com为你希望收到邮件的邮箱地址。
当邮箱收到系统发送来的邮件时,将系统的地址复制下来,如:
root@iZ23syflhhzZ.localdomain,打开/etc/gitlab/gitlab.rb,将# gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'
修改为
gitlab_rails['gitlab_email_from'] = 'root@iZ23syflhhzZ.localdomain'
保存后,执行
sudo gitlab-ctl reconfigure重新编译GitLab。如果邮箱的过滤功能较强,请添加系统的发件地址到邮箱的白名单中,防止邮件被过滤。Note:系统中邮件发送的日志可通过`tail /var/log/maillog`命令进行查看。
安装过程中出现的问题
在浏览器中访问GitLab出现
502错误原因:内存不足。
解决办法:检查系统的虚拟内存是否随机启动了,如果系统无虚拟内存,则增加虚拟内存,再重新启动系统。
80端口冲突原因:Nginx默认使用了
80端口。解决办法:为了使Nginx与Apache能够共存,并且为了简化GitLab的URL地址,Nginx端口保持不变,修改Apache的端口为4040。这样就可以直接用使用ip访问Gitlab。而禅道则可以使用
4040端口进行访问,像这样:xxx.xx.xxx.xx:4040/zentao。具体修改的地方在/etc/httpd/conf/httpd.conf这个文件中,找到Listen 80这一句并将之注释掉,在底下添加一句Listen 4040,保存后执行service httpd restart重启apache服务即可。#Listen 80
Listen 4040
8080端口冲突原因:由于unicorn默认使用的是
8080端口。解决办法:打开
/etc/gitlab/gitlab.rb,打开# unicorn['port'] = 8080的注释,将8080修改为9090,保存后运行sudo gitlab-ctl reconfigure即可。STMP设置
配置无效,暂时不知道原因。
GitLab头像无法正常显示
原因:gravatar被墙
解决办法:
编辑/etc/gitlab/gitlab.rb,将#gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'
修改为:
gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'
然后在命令行执行:
sudo gitlab-ctl reconfigure
sudo gitlab-rake cache:clear RAILS_ENV=production
参考资料
https://segmentfault.com/a/1190000002722631
GitLab 安装配置笔记(转)的更多相关文章
- 软件安装配置笔记(三)——ArcGIS系列产品安装与配置(补档)(附数据库连接及数据导入)
在前两篇安装配置笔记之后,就忘记把其他安装配置笔记迁移过来了,真是失误失误!趁现在其他文档需要赶紧补上. 目录: 一.ArcMap 二.ArcMap连接数据库并导入数据 三.Arcgis Pro 四. ...
- CentOS gitlab 安装配置
CentOS gitlab 安装配置 2018-11-02 11:23:09 Visit 5 在/etc/yum.repos.d 目录下创建文件gitlab-ce.repo,使用国内的安装源 b ...
- FreeRADIUS + MySQL 安装配置笔记
FreeRADIUS + MySQL 安装配置笔记 https://www.2cto.com/net/201110/106597.html
- [ci]gitlab安装配置(含gitlab邮件配置)
gitlab安装配置 参考: https://www.unixhot.com/article/48 原则:简单维护为准,故yum安装gitlab 1,gitlab安装 2,gitlab邮箱配置 1,g ...
- CentOS7 安装配置笔记
CentOS7 安装配置笔记 1.通过镜像安装 CentOS7 ==============================* 使用 UltraISO 9.7 或者 rufus-3.5p 制作ISO的 ...
- gitlab之一: gitlab安装配置使用
参考: gitlab 安装和配置 gitlab下载地址: https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/ 官方教程: https://about.gitl ...
- centos7.3 gitlab 安装配置
1. 设备环境 硬件配置联想 TS250 E3-1225,16G内存,2X1 TB 软件CentOS-7-x86_64-DVD-1804.iso ,安装时选择桌面版 推荐配置参考:https://do ...
- Centos 6.5 GitLab安装配置搭建详细过程
GitLab搭建详细过程 一.前提 系统:Centos 6.5 软件版本:gitlab-7.8.4 Selinux:关闭 防火墙规则:先清空(搭建好了后续自己添加相关放行规则) 二.yum源配置和 ...
- ubuntu中VNC的安装配置笔记
使用服务器时,利用远程桌面是非常方便的,否则需要跑到服务器机房操作非常的费事,或者需要远程操作机器是也可以使用,一般的操作系统都会带有远程桌面功能,但是不如第三方的的软件好用,对于linux系统常用的 ...
随机推荐
- mysql增量ID
启动值更改方法
在mysql很多朋友感到场AUTO_INCREMENT增量型ID值它不能被改变,其实这种认识是错误的,这里mysql增量ID开始值更改和设置. 设置自动递增字段的通常的方法: 格时加入: create ...
- Android 从相冊获取近期拍摄的多张照片(获取相机拍照所存储的照片)
转载请标明出处:http://blog.csdn.net/android_ls/article/details/39928519 在做公司项目时.遇到的需求:自己定义显示照片的网格视图,显示用户近期採 ...
- 2014鞍山现场赛C题HDU5072(素筛+容斥原理)
Coprime Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total ...
- SE 2014年4月24日
如图配置交换网络 由于网络规模较小,企业将网络划分为了接入层和核心层两层 核心层设备(Sw1 Sw2 Sw3)作为用户的网关设备,提供三层转发功能 接入层设备(SW4 SW5)连接用户,分别划分三vl ...
- Java多线程使用场景
使用多线程就一定效率高吗? 有时候使用多线程并不是为了提高效率,而是使得CPU能够同时处理多个事件. 使用场景1 为什么了不阻塞主线程,启动其他线程来做耗时的事情. 比如app开发中耗时的操作都不在U ...
- 重温delphi之控制台程序:Hello World!
原文:重温delphi之控制台程序:Hello World! 这二天用c#开发ActiveX时,发现不管怎么弄,c#就是没办法生成ocx的纯正activeX控件,而且还要强迫用户安装巨大的.net f ...
- apache2.4.4启用deflate压缩
今天在看<高性能php应用开发>这本书,说道如何启用mod_deflate: 启用如下模块: LoadModule deflate_module modules/mod_deflate.s ...
- 训练赛 Grouping(强连通分量缩点 + DAG求最长路)
http://acm.sdut.edu.cn:8080/vjudge/contest/view.action?cid=158#problem/F 大致题意:给出n个人和m种关系(ti,si),表示ti ...
- uvaLive5713 次小生成树
uvaLive5713 修建道路使得n个点任意两点之间都可以连通,每个点有都有一定的人口,现在可以免费修一条道路, A是免费修的道路两端结点的人口之和, B的其它不是免费修道路的长度的总和 要求的是A ...
- ecshop购物流程中去掉email邮箱
首先打开includes\lib_order.php,在第1688行左右找到并删除 !empty($consignee['email']) && 接着打开js\shopping_flo ...