centos gitlab 端口,centos镜像下载

统信UOS A版(基于Centos8)安装GitLab教程

一、安装GitLab-ce

准备gitlab-ce源:

更新源:dnf update–y

执行安装GitLab-ce:dnf install gitlab-ce-14.0.0

等待下载后自动安装。

二、配置GitLab

配置文件示例:

设置外部URL:external_url' xxxx.xxx.com',监听指定域名。

可选设置监听地址:puma['listen']=' xxxx.xxx.com',与上述保持一致。

默认监听端口:puma['port']= 8080。

备份目录:gitlab_rails['backup_path']="/data/backup/gitlab_backup"。

备份默认保存时间:gitlab_rails['backup_keep_time']= 345600。

定义数据保存目录:git_data_dirs({"default"=>{"path"=>"/data/gitlab_data"}})。

开启强制HTTPS:nginx['redirect_http_to_https']= true。

设置SSL证书:nginx['ssl_certificate']="/data/cert/xxx2022.crt", nginx['ssl_certificate_key']="/data/cert/xxx2022.key"。

三、启动GitLab

加载配置文件:gitlab-ctl reconfigure,解决报错时检查相关文件夹是否建立及端口占用问题。

初始化完成后的超级密码默认保存在:/etc/gitlab/initial_root_password目录。

启动仓库:gitlab-ctl start。

校验端口:netstat–nlpt,检查监听端口是否正常。

Web访问:浏览器输入监听域名,使用上述设置的账号密码。

四、基础优化

关闭注册功能:Settings—>General-->Sign-->up restrictions—>取消Sign-up enabled。

更改LOGO:Settings—>Appearance—>更改LOGO。

取消API查询限制:sudo gitlab-rails console,输入:Feature.disable(:limit_projects_in_groups_api)。

调整PUSH仓库大小:在/etc/gitlab/gitlab.rb修改 nginx['client_max_body_size']='1024m'(具体大小需根据实际仓库大小调整)。

使用Docker部署GitLab

查看是否拉取成功

编写内容

在该文件目录下,授予 gitlab_start.sh执行权限

要注意端口是否被占用

修改 gitlab_start.sh文件,将映射到宿主机的端口改为 8088,或者其它没被占用的端口

重新运行./gitlab_start.sh文件,报错如下

这是因为之前的容器虽然没有运行起来,但是已经创建了,把它删除掉

重新运行 gitlab_start.sh文件

可以看到容器成功启动

创建 docker-compose.yml文件,并在该文件所在的文件夹目录下运行 docker-compose up-d

需要事先安装 docker-compose

安装docker-compose

注:端口和映射目录可根据需要修改

若开放访问端口为 80, external_url可不加端口号,默认80

若以 3.1方法创建,需要修改相关配置文件

在Gitlab容器运行状态时,重启服务,并远程访问网站测试

*若访问Gitlab出现502等错误,使用命令检查错误原因

e.g.

查看上述配置文件,查找错误原因

[图片上传失败...(image-e9789-1636370071222)]

虽然容器启动成功,但是却没办法根据 ip:port访问gitlab

拉取tomcat镜像

为了测试8088端口是否可用,先把gitlab的容器暂停

启动tomcat容器,并将tomcat容器的8080端口映射到宿主机的8088端口

一切正常,访问ip:8088,还是和以前一样访问不了

因为之前系统的防火墙一直是关闭的并且其它的服务能正常访问,所以没有怀疑是防火墙的问题

把防火墙打开

访问之前能正常访问的服务,果然没法正常访问。

把该服务的端口开发,正常访问。

打开8088端口

再次访问

返回tomcat的404页面: HTTP Status 404– Not Found

虽然是404页面,但是说明此时的端口是能正常访问的

把tomcat的容器停止运行,重新运行gitlab容器

虽然没启动成功,但离成功更进一步了:)

尝试把这个容器删除掉,再创建一次后还是得到这个错误。

还是访问不了,检查一下GitLab内部是否有问题

一切正常

我再次换成tomcat容器进行测试,发现8088端口访问不了了。

但是在宿主机内ping本机是可以的

但是,换成 ip:8088则不行

根据以上两篇文章,提出阿里云的内网eth0网段正好跟Docker的虚拟网卡都是 172网段,有冲突

观察发现我使用的云服务器也是阿里云,并且通过 ifconfig查看

并且查看阿里云的内网ip确实也是 172开头。

编辑配置文件/etc/docker/daemon.json,若 daemon.json文件不存在新建即可。

重新启动docker服务

可以看到docker0的地址变了。

但是要注意,使用 docker启动的服务会默认使用 docker0,如果是用 docker-compose启动的服务则不会。上面的 br-12aa369ee4a6对应的是docker-compose启动的服务,可以看到还是172的网段。

docker-compose up使用自定义的网段的两种方式(从其根源指定)

根据该文使用方法2,即修改 daemon.json。但并不能成功访问,我的环境是: docker:20.10.7, docker-compose:1.24.1

后面发现访问不成功的原因在于 docker与防火墙之间的关系,可以关掉防火墙,开启 docker,不能访问则打开防火墙。在它们之间来回试探==。

后面尝试过关闭 firewalld,打开 iptables。

在启用 iptables时,一般关掉 iptables可以正常访问,打开则不能正常访问。

在启用 firewalld时,按照 docker和 firewalld之间启动关闭的顺序不同,有时是开着防火墙能访问,有时是关了防火墙能访问。

但是容器内不能访问外部网络,该问题现在还未解决。有一种迂回的解决方法就是容器使用 host网络模式

问题:怀疑是docker,firewalld与iptables之间的设置问题

Docker与IPtables

docker端口映射及外部无法访问问题

Docker and IPtables

还有一种访问不了GitLab的情况是端口映射和配置文件有误。

快速的解决方法:将宿主机端口号和容器号设置相同,可参考下面的博客。

利用GitLab Docker images安装GitLab(填坑)

[图片上传失败...(image-457ad3-1636370071221)]

如果系统环境正常,安装会十分顺利,一般不会有奇怪的问题。

我在不同的服务器安装过

阿里云 CentOS 7.6:访问正常,但是因内存不够出现502错误,容器内可正常连接外部网络

阿里云 Alibaba Cloud Linux 2:可能不能正常访问容器,容器内不能正常连接外部网络。怀疑是防火墙与docker的问题。

修改密码:

Centos下gitlab的安装、配置及卸载

本文详细介绍了在CentOS服务器上安装、配置、备份、恢复、迁移、升级和卸载GitLab的过程。首先,安装GitLab时确保服务器内存大于4G,推荐至少8G,并下载GitLab社区版rpm包。将下载的包上传至服务器的/opt目录,创建并执行脚本gitlab_install.sh进行安装,安装后记得重启服务器以验证版本正确性。

安装完成后,配置GitLab包括初始化配置和上传SSL证书(若有域名访问需求)。创建存储和备份目录,并赋予权限。修改配置文件gitlab.rb,确保配置正确后执行gitlab-ctl reconfigure以使配置生效。通过设置动态公网IP自动解析和Java服务开机自启,提升系统稳定性。

数据备份是确保GitLab数据安全的关键步骤。备份路径可更改至独立分区,并支持手动和定时自动备份。恢复数据时,需停止gitlab数据服务,使用备份文件恢复仓库信息,确保新服务器上GitLab版本一致。迁移至新服务器时,同样需要备份数据,然后将备份文件传输至新服务器,执行恢复操作。升级GitLab时,先关闭服务、备份数据,下载新版rpm包并执行升级命令。

访问GitLab时,可通过IP地址或域名访问(需配置SSL证书)。初次访问可能遇到502错误,可能原因是内存不足或unicorn端口被占用,需检查并调整。对于常用命令,文章中并未提及,但通常包括查看状态、添加/删除仓库、管理用户权限等。

卸载GitLab时,首先停止服务,卸载rpm包,确保所有相关进程被终止,并清理所有包含GitLab的文件及目录。完成上述步骤后,GitLab安装即彻底完成。

阅读剩余
THE END