在web 服务器搭建gitlab

吕虔
• 阅读 4932
我这个是自己试着玩,所以没事不要在生成服务器上搭建gitlab,因为gitlab要求挺高的,很有可能搞奔溃了,当然你也可以使用docker去搭建。

1.安装必要的组件,以下命令将会打开httpssh 在系统防火墙的可访问权限

sudo yum install openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
 

2.下载安装包

国内有rpm包,【清华大学TUNA镜像源】,建议直接打开这个网址去yum目录下载,不然直接使用官网提供地址可能下不下来

curl -O https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-9.2.6-ce.0.el7.x86_64.rpm
sudo rpm -i gitlab-ce-9.2.6-ce.0.el7.x86_64.rpm

3.配置启动 gitlab

gitlab-ctl reconfigure

4 使用web 服务器自带的nginx

因为gitlab 是一套集成环境,里面自带了nginx,redis 等一系列软件,所有安装的时候默认不使用自带的nginx
vim /etc/gitlab/gitlab.rb 

nginx['enable']=false;

gitlab-ctl reconfigure

5.nginx 配置文件

执行gitlab-ctl reconfigure之后会生成nginx的配置文件/var/opt/gitlab/nginx/conf/gitlab-http.conf,把这个文件放到自己的Nginx配置目录下,这个文件使用的端口是80,会有端口冲突的(unicorn的端口也是8080),可以改成其他端口或者自己重新配置过。
cp /var/opt/gitlab/nginx/conf/gitlab-http.conf /etc/nginx/conf.d/
//检查配置是否正常:
nginx -t
  nginx: [emerg] unknown log format "gitlab_access" in /etc/nginx/conf.d/gitlab-http.conf:56
nginx: configuration file /etc/nginx/nginx.conf test failed
#将配置中第13行结尾的gitlab_access去掉,即可完成验证。重启nginx使配置生效。

这样配置完成后还是有问题,因为gitLab 自带的nginx 运行用户不是nginx, 而我们web nginx 服务器用户是nginx ,所有在使用的时候会有权限问题

nginx用户添加到gitlab-www组:

usermod -aG gitlab-www nginx

修改配置:

vim /etc/gitlab/gitlab.rb
web_server['external_users']=['nginx']

文件赋予权限

chmod -R o+x /var/opt/gitlab/gilab-rails/sockets
chmod 755 /var/opt/gitlab/gitlab-rails/sockets

参考文章:
1.http://www.yuzhewo.com/2015/1...

2.http://dreamlikes.cn/archives/65

安装过程中出现的问题

1.systemctl reload nginx 出现 nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

netstat -ntpl  查看一下端口情况
killall -9 nginx  杀死所有的进程
systemctl reload nginx 重新启动

2.systemctl start postfix 出现错误


修改/etc/postfix/main.cf 

inet_protocols=ipv4
inet_interfaces=all

参考文章 http://blog.csdn.net/rodulf/a...

解释一下yumrpm

参考文章:http://blog.csdn.net/ngvjai/a...

邮件发送不成功

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "aa@qq.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'from_email@qq.com'

配置的是QQ 的企业邮箱,这个地方注意一下

gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
都为true 的话,是发不出去的,具体可以参考https://github.com/gitlabhq/gitlabhq/issues/9203

然后把gitlab_rails['smtp_tls']=false 就可以了

4.测试邮件发送

gitlab-rails console 进入控制台
Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now
就能看到是否发送成功了

参考文章:https://docs.gitlab.com.cn/om...

删除gitlab

https://blog.whsir.com/post-1...

gitlab 中文文档社区

https://docs.gitlab.com.cn/

点赞
收藏
评论区
推荐文章
前端尾随者 前端尾随者
3年前
GitLab配置ssh key
一、背景当前很多公司都选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选择ssh协议来拉取代码。但是网上很少找到如何用git客户端生成sshkey,然后配置在gitlab,我当时在做的时候苦于摸索,后来终于找到了解决方案,那么本文,我们就来聊一聊如何本地git客户
Stella981 Stella981
3年前
Git 针对 GitLab Github 配置 HTTP HTTPS SSH 代理
配置git代理配置git的httphttps代理Linux和Windows都适用gitlab服务器在国外下载速度速度收到很大影响。下面对gitlab配置httphttps代理。同理也可以对github配置httphttps代理。
Stella981 Stella981
3年前
Gitlab的基础概念
1、什么是Gitlab?Gitlab是一个开源分布式版本控制系统开发语言:Ruby功能:管理项目源代码、版本控制、代码复用与查找2、Gitlab与Github的不同Github分布式在线代码托管仓库,个人版可直接在线免费使用,企业版收费且需要服务器安装。
Stella981 Stella981
3年前
Github标星34K+Star,这款开源项目助你秒建Git服务!
以前使用Gitlab搭建过Git服务,如果服务器配置低的话启动和访问都会特别慢。最近发现了Gogs这个开源项目,安装方便,特别轻量级,推荐给大家!Gogs简介Gogs是一款极易搭建的自助Git服务,使用Go语言开发,只要Go语言支持的平台它都支持,包括Linux、MacOSX、Windows以及ARM平台。Gogs对系统硬件要求
Stella981 Stella981
3年前
GitLab私服搭建
GitLab私服搭建我这里服务器系统是CentOS7,所以我搭建私服参考的是https://about.gitlab.com/downloads/centos7(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fabout.gitlab.com%2Fdownl
Stella981 Stella981
3年前
Docker安装Gitlab服务
1、安装建议:版本:GitLab分为社区版(CE)和企业版(EE)。配置:建议CPU2核,内存2G以上。2、使用Docker安装Gitlab2.1:拉取Gitlab镜像拉取中文版gitlab镜像,需要注意的是这个版本的镜像已经2年没有更新了。dockerpulltwang2218/gitl
Stella981 Stella981
3年前
Git WebHook:用于迅速搭建并使用 WebHook 进行自动化部署和运维系统( Python)
一个使用PythonFlaskSQLAchemyCeleryRedisReact开发的用于迅速搭建并使用WebHook进行自动化部署和运维系统,支持:Github/GitLab/GitOsc。1.技术栈简单,部署容易;2.代码简洁易懂,二次开发毫无压力;3.支持Github/GitLab
Stella981 Stella981
3年前
Gitlab(docker)无限重启(gitlab
                      Gitlab(docker)无限重启前两天构建了一个虚拟机,想着搭建集群,没弄完,就把虚拟机停了,等我重新运行的时候,发现我的gitlab服务炸了,无限重启中。docker ps!image.png(https://s2.51cto.com/ima
可莉 可莉
3年前
22.13 搭建git服务器
22.13搭建git服务器\\前言:\\github毕竟是公开的,而私有仓库又得花钱买。所以我们可以想办法搭建一个私有的,只自己公司使用的。Gitlab是个不错的选择。在介绍它之前,先讲述一下命令行的git服务器找一台服务器,首先要安装git;yuminstallygit添加git用户
Stella981 Stella981
3年前
Git连接GitLab远程仓库
1、简介远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如github、gitlab等。为了不公开自己项目代码,可以在自己的服务器上搭建自己的项目仓库,最常见的是搭建GitLab。本地Git与远端服务器GitLab之间连接方式主要分为:SSH方式和HTTP方式。HTTP方式:这种方式要求project在创建的时候只
十月飞翔 十月飞翔
3年前
Gitlab 相关FAQ
1.gitlab网址:https://code.cestc.cn/zhujinqiang/ownproject2.本地安装好git后,在C:\Users\admin下运行sshkeygentrsaC"comment"生成.ssh文件夹,将生成的公钥上传到自己的gitlab密钥位置。此时还不