在当今的开发与协作环境中,版本控制系统是不可或缺的核心工具,GitLab作为一个功能强大的开源Git仓库管理平台,不仅提供了代码托管,还集成了CI/CD、问题跟踪、Wiki等丰富的功能,深受开发团队的喜爱,在自有服务器上,特别是在稳定可靠的CentOS 7系统上搭建GitLab,可以实现数据私有化、高度定制化以及更快的访问速度,本文将详细介绍在CentOS 7上搭建GitLab社区版的完整流程。
前提条件与系统准备
在开始安装之前,请确保您的服务器满足以下基本要求,一个良好的开端是成功的一半。
资源类型 | 推荐配置 | 最低配置 |
---|---|---|
CPU | 4核心 | 2核心 |
内存 (RAM) | 8GB | 4GB |
存储空间 | 50GB (SSD推荐) | 20GB |
操作系统 | CentOS 7.x (64位) | CentOS 7.x (64位) |
您需要拥有服务器的root权限或一个具有sudo权限的账户,并确保服务器可以访问互联网,以便下载必要的软件包。
第一步:安装必要的依赖项
GitLab的运行依赖于一些基础工具和服务,如SSH(用于Git操作)、Postfix(用于邮件通知)等,更新系统软件包到最新版本,然后安装这些依赖。
# 更新系统 sudo yum update -y # 安装必要的依赖 sudo yum install -y curl policycoreutils-python openssh-server postfix # 启动并设置SSH和Postfix服务开机自启 sudo systemctl enable sshd sudo systemctl start sshd sudo systemctl enable postfix sudo systemctl start postfix
在安装Postfix的过程中,可能会出现一个配置界面,请选择“Internet Site”并接受默认设置,如果您的服务器有防火墙,请确保已放行HTTP(80)和HTTPS(443)端口。
第二步:添加GitLab官方仓库并安装
为了方便安装和管理,我们使用GitLab官方提供的Yum仓库。
# 下载并安装GitLab仓库的脚本 curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash # 使用yum安装GitLab社区版 sudo yum install -y gitlab-ce
这个过程会从GitLab官方源下载并安装最新稳定版的GitLab Community Edition (CE),安装过程可能需要几分钟时间,具体取决于您的网络速度。
第三步:配置并启动GitLab
GitLab的所有核心配置都集中在 /etc/gitlab/gitlab.rb
文件中,在首次启动前,最重要的配置是设置 external_url
,即用户访问GitLab的地址。
使用您喜欢的文本编辑器打开该文件:
sudo vi /etc/gitlab/gitlab.rb
找到 external_url 'GENERATED_EXTERNAL_URL'
这一行,将其修改为您的域名或服务器的IP地址。
# 如果您有域名 external_url 'http://gitlab.yourdomain.com' # 如果您使用IP地址 external_url 'http://192.168.1.100'
注意: 此处使用 http
,后续可以配置SSL证书升级为 https
,修改并保存文件后,执行以下命令来重新配置并启动GitLab,这个过程会自动初始化所有服务(如Nginx、PostgreSQL、Redis等),请耐心等待。
sudo gitlab-ctl reconfigure
当您在终端看到 gitlab Reconfigured!
的提示时,说明GitLab已成功启动,您可以使用 sudo gitlab-ctl status
查看所有服务的运行状态。
第四步:配置防火墙
如果您的服务器启用了 firewalld
,需要开放HTTP和HTTPS服务,以便外部用户可以访问GitLab。
# 开放HTTP和HTTPS端口 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https # 重新加载防火墙配置 sudo firewall-cmd --reload
第五步:首次访问与设置
您可以在浏览器中访问您在 external_url
中设置的地址,首次访问时,GitLab会引导您进行初始化设置。
- 您将看到一个为
root
账户设置密码的页面,请设置一个强密码。 - 设置完成后,使用
root
作为用户名和您刚刚设置的密码进行登录。 - 登录成功后,您就进入了GitLab的主界面,您可以开始创建项目、添加用户、配置群组,并探索GitLab提供的强大功能了。
相关问答FAQs
Q1: 如果忘记了GitLab的root密码,该如何重置?
A: 您可以通过GitLab的Rails控制台来重置root密码,请按照以下步骤操作:
- 在服务器终端中启动GitLab Rails控制台:
sudo gitlab-rails console
- 等待控制台加载完成,执行以下命令来查找root用户:
user = User.where(id: 1).first
- 找到用户后,使用以下命令设置新密码(将 ‘your_new_password’ 替换为您的新密码):
user.password = 'your_new_password' user.password_confirmation = 'your_new_password'
- 保存更改:
user.save!
- 输入
exit
退出控制台,现在您就可以使用新密码登录root账户了。
Q2: 如何将GitLab的仓库数据存储路径修改到其他磁盘?
A: 当默认磁盘空间不足时,将数据迁移到更大的磁盘是非常常见的需求,操作步骤如下:
- 停止GitLab服务:
sudo gitlab-ctl stop
- 将现有的GitLab数据目录(默认为
/var/opt/gitlab/git-data
)移动到新的位置,/data/gitlab/git-data
:sudo mv /var/opt/gitlab/git-data /data/gitlab/git-data
- 编辑
/etc/gitlab/gitlab.rb
文件,找到并修改git_data_dirs
配置项:git_data_dirs({ "default" => { "path" => "/data/gitlab/git-data" } })
- 确保新目录的权限正确(通常为
git
用户和git
组):sudo chown -R git:git /data/gitlab/git-data
- 保存文件后,重新配置并启动GitLab:
sudo gitlab-ctl reconfigure sudo gitlab-ctl start
完成这些步骤后,GitLab的所有新仓库都将存储在您指定的新路径下。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复