提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:梦开始的地方
因为想拥有一个自己的代码仓库来使用,考虑使用GitLab来进行搭建。因为GitLab是不支持windows环境的,所以这里使用了个Oracle VM VirtualBox虚拟了个CentOS-7环境,中间遇到了很多坑,特此记录一下。
提示:以下是本篇文章正文内容,下面案例可供参考
一、最终效果和动手之前的准备
1. 最终效果展示
先看最终的启动效果,虚拟机静态ip和修改过的自定义8888端口:
首次登录成功页面:
2. 写在前面的坑
首先,虚拟机的内存需要给大一点,不然会出现各种各样你意想不到的惊喜,我这里最终跑起来的资源配置是4G内存30G硬盘(安装文件较多可以小一些,但不能太小)。看一下最终的运行使用内存图:
这里给的4G内存几乎都用掉了,这边还另外挂载了两个G的虚拟内存(这里参照了其他前辈的文章,更新GitLab时有报错添加的虚拟内存,最后还是靠内存从2G提高到4G解决的)
二、软件准备
1. 虚拟机环境准备
顺道推荐一个清华大学的镜像站-清华大学开源软件镜像站: link
找到适合的版本下载安装就好,这个没啥复杂的,同理centos系统可以在这里找到。
这里引用一些其他文章来解决前期环境准备的问题:
链接: 在virtualBox上安装Linux虚拟机
链接: VirtualBox虚拟机几种网络连接方式介绍
链接: 如何在 Linux 最小化安装中设置互联网(注意这里的的图形化界面选择是是用方向键和空格控制状态)
链接: Linux系统配置静态IP地址步骤
链接: -bash: ifconfig: command not found
链接: linux下安装ping命令
至此我们就拥有了联接互联网的最小化安装Centos7环境。可以开始正式的GitLab征途。
2.外部XShell工具连接
这里随意什么远程连接工具,我这里选择用远程连接工具去操作虚拟机中的CentOs环境,虚拟机环境选择桥接就好,当做一台独立的机器来使用。使用外部工具操作可以模拟为云环境操作相同的步骤,并且界面更加友好个人化。
三 、GitLab安装
GitLab官网安装个人免费版(主页->价格->免费版):
选择对应的CentOS7:
- 安装和配置必须的依赖项
在 CentOS 7上,下面的命令也会在系统防火墙中打开 HTTP、HTTPS 和 SSH 访问。这是一个可选步骤,如果您打算仅从本地网络访问极狐GitLab,则可以跳过它。
sudo yum install -y curl policycoreutils-python openssh-server perl
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
(可选)下一步,安装 Postfix 以发送电子邮件通知。如果您想使用其他解决方案发送电子邮件,请跳过此步骤并在安装极狐GitLab 后配置外部 SMTP 服务器。
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
在安装 Postfix 的过程中可能会出现一个配置界面,在该界面中选择“Internet Site”并按下回车。把“mail name”设置为您服务器的外部 DNS 域名并按下回车。如果还有其它配置界面出现,继续按下回车以接受默认配置。
- 下载/安装极狐GitLab
配置极狐GitLab 软件源镜像。(这里注意 需要Linux网络是通的)
curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash
接下来,安装极狐GitLab。确保您已正确设置您的 DNS,并更改 https://gitlab.example.com 为您要访问极狐GitLab 实例的 URL。安装包将在该 URL 上自动配置和启动极狐GitLab。
对于 https 站点,极狐GitLab 将使用 Let’s Encrypt 自动请求 SSL 证书,这需要有效的主机名和入站 HTTP 访问。您也可以使用自己的证书或仅使用 http://(不带s)。
如果您想为初始管理员用户(root)指定自定义密码,请查看文档。如果未指定密码,将自动生成随机密码。
执行如下命令开始安装:
sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-jh
这里可以设置个人的ip和port(参考文章:链接: Gitlab服务器搭建):
同时如何设置swap挂载也在这里,需要注意原文的
安装时配置端口(作者当时没注意这个问题,端口是后边改的,可以自行尝试,也可以参照后边的修改配置文件):
- 访问极狐GitLab 实例并登录
除非您在安装过程中指定了自定义密码,否则将随机生成一个密码并存储在 /etc/gitlab/initial_root_password 文件中(出于安全原因,24 小时后,此文件会被第一次 gitlab-ctl reconfigure 自动删除,因此若使用随机密码登录,建议安装成功初始登录成功之后,立即修改初始密码)。使用此密码和用户名 root 登录。
有关安装和配置的详细说明,请参阅我们的文档。
- 后续配置
完成安装后,请参考建议的后续配置,包括身份验证选项和注册限制的配置。
这里有几个注意点
链接: gitlab修改默认端口
链接: Centos7 使用 firewall-cmd 命令 开放及查看端口开放情况(这里主要用来开放对应的GitLab服务端口)
链接: CentOS 7 防火墙增加端口未生效
链接: gitlab访问错误Whoops, GitLab is taking too much time to respond(刚启动访问报错就等等,查看内存使用稳定了就可以了)
总结
提示:这里对文章进行总结:
总之就是准备好虚拟机环境,配置好网络,然后经过官网命令安装,最终开放好端口,就能进行外部访问了,注意中间提到的一些坑和外链文章,十分有效!! 最后祝君成功! respect~