GitLab Linux环境如何搭建
导读:Linux环境搭建GitLab 一 环境准备与端口规划 操作系统:选择主流发行版,如 Ubuntu/Debian 或 CentOS/RHEL。 硬件建议:至少 2 核 CPU、4 GB 内存(推荐更高)、20 GB+ 磁盘空间,并确保服务...
Linux环境搭建GitLab
一 环境准备与端口规划
- 操作系统:选择主流发行版,如 Ubuntu/Debian 或 CentOS/RHEL。
- 硬件建议:至少 2 核 CPU、4 GB 内存(推荐更高)、20 GB+ 磁盘空间,并确保服务器可访问互联网。
- 端口开放:放行 HTTP 80、HTTPS 443 与 SSH 22(如做端口映射,请同步调整防火墙与客户端)。
- 防火墙示例:
- Ubuntu/Debian(UFW):sudo ufw allow 22/tcp & & sudo ufw allow 80/tcp & & sudo ufw allow 443/tcp & & sudo ufw enable
- CentOS/RHEL(firewalld):sudo firewall-cmd --permanent --add-service=http & & sudo firewall-cmd --permanent --add-service=https & & sudo firewall-cmd --permanent --add-service=ssh & & sudo firewall-cmd --reload
- 域名与证书:准备可解析的 域名;生产环境建议使用 Let’s Encrypt 免费证书启用 HTTPS。
二 方式一 原生安装 Omnibus GitLab(推荐)
- Ubuntu/Debian
- 安装依赖:sudo apt-get update & & sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
- 添加仓库并安装:curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash & & sudo apt-get install -y gitlab-ce
- CentOS/RHEL
- 安装依赖:sudo yum install -y curl policycoreutils-python openssh-server postfix
- 添加仓库并安装:curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash & & sudo yum install -y gitlab-ce
- 关键配置与启动
- 设置外部访问地址:echo “external_url ‘http://your_domain_or_ip’” | sudo tee -a /etc/gitlab/gitlab.rb
- 使配置生效:sudo gitlab-ctl reconfigure
- 常用管理:sudo gitlab-ctl start|stop|restart|status;查看日志:sudo gitlab-ctl tail
- 首次访问 Web,设置 root 管理员密码后登录
三 方式二 Docker Compose 快速部署
- 安装 Docker 与 Docker Compose(略,按官方文档安装)。
- 创建 docker-compose.yml(示例将主机 5480→80、5443→443、5022→22 映射,数据持久化到当前目录): version: ‘3.6’ services: gitlab: image: gitlab/gitlab-ee:17.4.5-ee.0 container_name: gitlab restart: always ports: - ‘5480:80’ - ‘5443:443’ - ‘5022:22’ volumes: - ‘./config:/etc/gitlab’ - ‘./logs:/var/log/gitlab’ - ‘./data:/var/opt/gitlab’ shm_size: ‘256m’
- 启动与初始化
- 启动:docker-compose up -d
- 查看初始 root 密码:docker exec -it gitlab cat /etc/gitlab/initial_root_password(文件通常在首次启动后 24 小时 内有效,需尽快登录修改)
- 修改外部 URL(容器内):docker exec -it gitlab vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
- 重启生效:docker exec -it gitlab gitlab-ctl restart
- 访问地址:http://your_domain_or_ip:5480 或 https://your_domain_or_ip:5443
四 安全与运维要点
- 启用 HTTPS(生产推荐)
- 使用 Let’s Encrypt:sudo apt-get install -y certbot python3-certbot-nginx(或对应发行版命令)
- 获取证书:sudo certbot certonly --standalone -d your_domain
- 配置 /etc/gitlab/gitlab.rb:
- nginx[‘redirect_http_to_https’] = true
- nginx[‘ssl_certificate’] = “/etc/letsencrypt/live/your_domain/fullchain.pem”
- nginx[‘ssl_certificate_key’] = “/etc/letsencrypt/live/your_domain/privkey.pem”
- 使配置生效:sudo gitlab-ctl reconfigure
- 邮件通知(SMTP 示例)
- 在 /etc/gitlab/gitlab.rb 中启用并填写你的 SMTP 参数(地址、端口、账号、密码等),保存后执行 sudo gitlab-ctl reconfigure
- 备份与恢复
- 备份:sudo gitlab-rake gitlab:backup:create(备份文件默认位于 /var/opt/gitlab/backups,可在 gitlab.rb 中自定义路径)
- 恢复:将备份文件放置到备份目录后执行 sudo gitlab-rake gitlab:backup:restore
- 常见问题与排障
- 配置变更后未生效:执行 sudo gitlab-ctl reconfigure
- 服务异常:sudo gitlab-ctl status;查看日志:sudo gitlab-ctl tail
- 端口冲突:检查是否被其他服务占用(如 8080 等),必要时调整 gitlab.rb 或 Docker 映射端口
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: GitLab Linux环境如何搭建
本文地址: https://pptw.com/jishu/751236.html
