在web 服务器搭建gitlab

news/2025/1/25 21:54:24
我这个是自己试着玩,所以没事不要在生成服务器上搭建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 -tnginx: [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/


https://dhexx.cn/news/show-3208577.html

相关文章

动态一次获取多种android6.0以上的权限

原文地址:https://blog.csdn.net/qq_27634797/article/details/76617334android6.0及以上版本区分了:普通权限和危险权限。普通权限可以直接在清单文件里面申请,危险权限不仅要在清单文件里面申请,还要在代码里面动态获取。如果你…

程序基础

Eclipse中自动补齐语句的快捷键 mainAlt键?键 自动生成语句:public static void main(String[] args) {};//程序的入口 sysoAlt键?键 自动生成语句:System.out.println();//打印输出 代码的部分含义  java中 ‘.’的符号可以翻…

AY的Dapper研究学习-基本入门-C#开发-aaronyang技术分享

原文:AY的Dapper研究学习-基本入门-C#开发-aaronyang技术分享www.ayjs.net 杨洋 wpfui.com ayui ay aaronyang请不要转载谢谢了。本文,是AY 看github源码,和网上一些博客,文章 整理,写出来的。目前还没找到…

EX40

1 # this goes in mystuff.py 2 def apple(): 3 print "I AM APPLES!" 4 5 # this is just a variable 6 tangerine "Living reflection of a dream." # 以上资料保存为mystuff.py 1 import mystuff 2 3 mystuff.apple() 4 print mystuff.tangerin…

Android中设置ListView的item高度无效--解决方案

原文地址:https://blog.csdn.net/zhonglinliu/article/details/54580622 问题: ListView的使用中,item是在adapter中用来显示每一个小条目的数据结构,也是一个xml文件,应用非常灵活和广泛,这里说一个经常遇…

洛谷P4525 【模板】自适应辛普森法1(simpson积分)

题目描述 计算积分 结果保留至小数点后6位。 数据保证计算过程中分母不为0且积分能够收敛。 输入输出格式 输入格式: 一行,包含6个实数a,b,c,d,L,R 输出格式: 一行,积分值,保留至小数点后6位。 输入输出样例 输入样例#…

list之按照中文拼音首字母排序

原文地址:https://blog.csdn.net/weixin_41751625/article/details/79735271 在实际生活中,我们经常会用到根据中文拼音的首字母进行排序。从而方便进行检索汉字,例如一个公司的人员,按照姓名的拼音的首字母进行排序,这…

如何占满一屏余下的部分

<!doctype html> <html lang"en"> <head><meta charset"UTF-8"><title>如何占满一屏幕余下的部分</title><meta name"viewport" content"widthdevice-width,initial-scale1.0"/><style&…

java 读取properties文件

java 读取properties文件 CreationTime--2018年6月7日08点19分 Author:Marydon 1.准备工作   所需jar包&#xff1a;spring的核心jar包&#xff0c;org.springframework.core-3.0.5.RELEASE.jar 2.实现 通过spring的工具类PropertiesLoaderUtils来实现对properties文件的解析…

TextView中设置drawableLeft、drawableRight时设置图片的大小方法

原文地址&#xff1a;https://blog.csdn.net/aiguoguo000/article/details/72842223 Drawable drawable context.getDrawable(R.drawable.***); //(API 21以上才能使用此方法) //或者&#xff1a;Drawable drawable context.getResource().getDrawable(R.drawable.***); …