在Linux系统上搭建GitLab涉及多个步骤,以下是详细的步骤说明:
准备工作
- 操作系统:推荐使用Ubuntu或CentOS等主流Linux发行版。
- 内存:至少2GB RAM(推荐4GB或更多)。
- 存储空间:至少20GB的可用存储空间(根据需求可适当增加)。
- 网络:确保服务器能够访问互联网,并且防火墙设置允许HTTP(80端口)和HTTPS(443端口)的访问。
安装依赖
对于Ubuntu服务器:
sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
对于CentOS服务器:
sudo yum install -y curl policycoreutils-python openssh-server postfix sudo systemctl enable postfix sudo systemctl start postfix
配置服务器
-
设置主机名:
sudo hostnamectl set-hostname gitlab-server echo "127.0.0.1 gitlab-server" | sudo tee -a /etc/hosts
-
配置防火墙:
- Ubuntu:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable
- CentOS:
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
- Ubuntu:
下载并安装GitLab
使用官方安装包:
- 添加GitLab的软件源:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
- 安装GitLab CE(Community Edition):
sudo apt-get install gitlab-ce
使用Docker容器:
- 安装Docker和Docker Compose:
sudo apt-get install -y docker.io docker-compose
- 创建一个
docker-compose.yml
文件: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
配置GitLab
- 编辑配置文件:
sudo nano /etc/gitlab/gitlab.rb
- 设置外部URL和邮件配置等必要的参数,例如:
external_url 'http://your_server_ip' gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.server" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "smtp user" gitlab_rails['smtp_password'] = "smtp password" gitlab_rails['smtp_domain'] = "example.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true
- 重新配置GitLab:
sudo gitlab-ctl reconfigure
启动GitLab服务
在浏览器中输入设置的外部URL,登录到GitLab控制台。
访问GitLab
在浏览器中输入你的服务器IP或域名,即可显示GitLab的界面,首次登录会强制用户修改密码,密码修改成功后,输入用户名和密码进行登录。
通过以上步骤,你就可以在Linux系统上成功搭建GitLab服务器,并开始使用GitLab进行代码管理和团队协作了。