1. 确定GitLab版本
在修改GitLab界面为中文之前,需要先确认所搭建的GitLab版本。因为不同版本的GitLab修改方式有所不同。
1.1 查看GitLab版本
可以通过以下命令查看当前GitLab的版本号:
sudo cat /opt/gitlab/version-manifest.txt
其中,sudo表示以管理员权限执行该命令。接下来,会输出GitLab的版本信息,类似以下内容:
PACKAGE VERSIONS
------------------
gitlab-scripts: 22.1.0-ce.0
gitlab-shell: 13.22.0
gitlab-workhorse: v10.7.1
gitlab-pages: v1.23.0
gitlab-md-settings: 2.5.0
gitlab: 14.4.0-ce.0
1.2 确定GitLab版本
根据第一小节的内容,可以得知当前所安装的GitLab版本是什么。这一步非常重要,因为不同版本的GitLab具有不同的文件结构,因此修改方式也不同。
2. 修改GitLab为中文
2.1 修改配置文件
进入GitLab的安装路径,打开配置文件:
sudo vim /etc/gitlab/gitlab.rb
在文件末尾添加以下配置:
gitlab_rails['gitlab_default_can_create_group'] = true
gitlab_rails['gitlab_default_can_create_project'] = true
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_email_enabled'] = false
gitlab_rails['gitlab_sign_in_text'] = '欢迎使用GitLab'
gitlab_rails['gitlab_sign_up_text'] = '现在注册,让我们开始吧'
其中,time_zone表示时区,可以根据自己的实际需要进行修改。下面四行则是修改GitLab登录页面的一些文字信息,可以根据自己的需要修改。
2.2 修改Nginx配置文件
根据第一小节中所确定的GitLab版本,进入相应的路径下,如下:
cd /etc/nginx/sites-available/
找到GitLab的Nginx配置文件,打开:
sudo vim gitlab
在文件中找到以下配置:
server {
listen *:80;
server_name gitlab.example.com;
server_tokens off;
client_max_body_size 250m;
root /opt/gitlab/embedded/service/gitlab-rails/public;
access_log /var/log/gitlab/nginx_access.log;
error_log /var/log/gitlab/nginx_error.log;
location / {
# Do not allow anyone to hit the gitlab-http service except gitlab-shell requests
# Without this line, anyone could create a user account, without even having permission to do so
auth_request /api/v4/internal/check;
auth_request_set $private_user_id;
auth_request_set $private_user_login;
add_header 'X-GitLab-User-Id' $private_user_id always;
add_header 'X-GitLab-User-Login' $private_user_login always;
add_header 'X-Frame-Options' SAMEORIGIN;
add_header 'X-XSS-Protection' "1; mode=block";
add_header 'X-Content-Type-Options' "nosniff";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://gitlab-http;
}
}
在该配置中,找到以下配置:
server_name gitlab.example.com;
将其修改为本地ip或域名(需要先进行DNS解析),如下:
server_name 192.168.31.70;
注意,这里的ip或域名需要与修改过后的hosts文件相对应。
接着,在该配置中增加以下内容:
location /uploads/ {
root /opt/gitlab/embedded/service/gitlab-rails/public;
try_files $uri @gitlab-workhorse;
}
location /assets/ {
root /opt/gitlab/embedded/service/gitlab-rails/public;
try_files $uri @gitlab-workhorse;
}
location /favicon.ico {
root /opt/gitlab/embedded/service/gitlab-rails/public;
}
error_page 502 /502.html;
location = /502.html {
root /opt/gitlab/embedded/service/gitlab-rails/public;
}
这是为了将GitLab的静态资源请求交给GitLab Workhorse进行处理。
接下来,找到以下内容:
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://gitlab-http;
将其中的 proxy_pass http://gitlab-http; 修改为 proxy_pass http://127.0.0.1:8080;,其中8080为GitLab默认的端口号,根据实际情况进行修改。
2.3 修改gitlab.yml文件
找到GitLab安装路径下的 gitlab.yml 文件,打开(如果找不到,可以自行搜索):
sudo vim /etc/gitlab/gitlab.rb
在文件中找到以下内容:
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: gitlab.example.com
port: 80
https: false
将其中的 host: gitlab.example.com 修改为 host: 127.0.0.1,其中127.0.0.1为本地IP,表示绑定在本机。
2.4 重新启动GitLab
修改完成后,需要重新启动GitLab才能生效:
sudo gitlab-ctl restart
3. 总结
通过以上步骤,我们成功将自己搭建的GitLab界面修改为中文。其中,需要注意的是不同版本的GitLab修改方式有所不同,需要进行区分。修改的过程中,需要修改GitLab的配置文件、Nginx配置文件以及gitlab.yml文件,确保所有文件修改完成后,需要重新启动GitLab才能生效。