1. 前言
Git是目前被广泛使用的分布式版本控制系统。而Gitlab是为Git仓库管理提供的web界面,允许用户进行项目管理、代码托管、issue跟踪等操作。本文将介绍在CentOS7系统上如何安装Gitlab服务器。
2. 安装依赖
在安装Gitlab之前,需要先安装依赖软件和库。
2.1 安装必须的软件
yum install -y curl policycoreutils openssh-server
openssh-clients postfix
解释:
curl
用于从远程站点下载必需的组件。 policycoreutils
是一个安全工具包,
而 openssh-server
和 openssh-clients
则负责将SSH(安全外壳协议)添加到Gitlab的功能中,而 postfix
用于提供邮件服务。
2.2 安装常用库
yum install -y libcurl-devel libffi-devel \
openssl-devel readline-devel zlib-devel
解释:
这些是 Gitlab 在安装时必需的常用库。 其中 libcurl-devel
是允许 Git 与远程仓库交互的库,
libffi-devel
和 openssl-devel
提供一个安全库的集合,而 readline-devel
和 zlib-devel
用于扩展方便的命令行功能。
3. 安装Gitlab
下面是在 CentOS 7 上安装 Gitlab 的步骤。
3.1 添加Gitlab的yum仓库
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
解释:
运行此命令可添加 Gitlab-EE 的官方yum仓库。
3.2 安装Gitlab
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee
解释:
在此命令中, EXTERNAL_ URL
是您将访问Gitlab服务器的网址。 可以将其设置为您的IP地址或域名。
3.3 安装完成后的设置
在Gitlab的安装过程中,您将会看到很多详细的信息。
在安装完成后,您需要做一些有关配置文件和Nginx代理的设置。
3.3.1 配置文件的位置
首先是Gitlab配置文件,文件路径是: /etc/gitlab/gitlab.rb
3.3.2 使用Nginx作为反向代理服务器
Gitlab需要一个反向代理服务器来处理与客户端的通信。该代理服务器通常是 Nginx。
3.3.2.1 安装Nginx
yum install -y nginx
解释:
Nginx是一个快速而灵活的 web 服务器,它还可以用作反向代理服务器。
3.3.2.2 配置Nginx
在这里,需要配置Gitlab使用Nginx作为反向代理服务器。
mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
解释:
运行此命令,将原配置文件进行备份,如果您的Nginx已经安装,请直接跳到下一步。
cat < /etc/nginx/nginx.conf
worker_processes 1;
events { worker_connections 1024; }
http {
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name gitlab.example.com; # 修改为您的域名
location / {
proxy_pass http://127.0.0.1:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
EOF
解释:
此配置文件使用一个名为Gitlab的服务器块,将nginx反向代理到localhost:80。
通过修改 server_name
指令中的值,其中GITLAB.example.com替换为您的域名。
3.3.2.3 重启Nginx服务
systemctl restart nginx
解释:
此命令将会重启Nginx服务。这样本地的Nginx将反向代理到具有GitLab的本地服务器。
3.3.2.4 修改Gitlab的配置文件
在 /etc/gitlab/gitlab.rb
文件中,您需要将默认设置中的 “external_url” 更改为自己的域名或IP地址。
external_url 'http://gitlab.example.com' #修改为您的域名
3.4 配置邮件服务
Gitlab可以通过邮件服务器发送通知邮件,因此在安装完成后,您需要配置邮件服务器。
3.4.1 修改Gitlab的配置文件
打开 /etc/gitlab/gitlab.rb
文件,并将下面的代码放到文件底部:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your-email@gmail.com" # 发件人的邮箱地址
gitlab_rails['smtp_password'] = "password" # 邮箱密码,注意这里不是你的账号密码
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "plain"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer' # 可选值为 'none', 'peer', 'client_once', 'fail_if_no_peer_cert', 'verify_client_once', 'fail_if_no_peer_cert_and_no_client_cert'
解释:
这里指定了邮件服务器使用的端口,可用的协议,邮箱账户和密码。
如果您使用的是谷歌邮箱,那么将值设置为上面所述的随机密码。
3.4.2 重启Gitlab服务
gitlab-ctl reconfigure
解释:
此命令用于将更新的配置重新加载到 Gitlab 服务器。
4. 常用Gitlab命令
4.1 使用sudo gitlab-ctl
这个命令可以从命令行访问 Gitlab 配置和管理工具。
sudo gitlab-ctl restart # 重启Gitlab服务器
sudo gitlab-ctl reconfigure # 加载更新后的配置
sudo gitlab-ctl tail #查看日志
5. 后续操作
5.1 通过浏览器访问Gitlab
现在可以通过访问您设置的域名或IP,访问您的Gitlab安装了。请确保您的服务器和您的域名或IP是可访问的。
5.2 在Gitlab中添加第一个用户
一旦登录到Gitlab,您会看到一个欢迎画面和一个管理员帐户。
单击 “修改密码” 更改管理员密码访问 Gitlab 的帐户,然后单击显示的按钮以创建第一个用户。
5.3 创建Gitlab项目
现在,您已设置好Gitlab服务器和第一个用户。
要创建新项目,请单击主菜单中的“新项目”按钮,然后按照您的要求填写必填信息(包括项目名称和访问级别)。
结论
恭喜您成功地安装了Gitlab服务器,现在可以使用它来进行版本控制、项目管理、协作等操作。另外,您可以通过官方文档来了解更多有关Gitlab的内容。