在web 服务器搭建gitlab

我这个是自己试着玩,所以没事不要在生成服务器上搭建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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值