一、简介
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
二、环境
虚拟机 centos 7 64位
内存:4GB
三、安装
1.下载好 gitlab 的rpm 包,我下载的是gitlab-ce-11.6.0-ce.0.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
2.安装 gitlab 的依赖包
yum install curl openssh-server openssh-clients postfix cronie policycoreutils-python –y
yuminstall -y patch
3.启动 postfix,并且设置为开机启动
systemctl start postfix
systemctl enable postfix
如果postfix启动报错: inet_interfaces: no local interface found for ::1
使用systemctl start postfix时,提示:
Job for postfix.service failed because the control process exited with error code. See “systemctl status postfix.service” and “journalctl -xe” for details.
查看日志more /var/log/maillog 或者 more /var/log/message
发现日志有报错信息: postfix: fatal: parameter inet_interfaces: no local interface found for ::1
解决方法:
vi /etc/postfix/main.cf
发现配置为:
inet_interfaces = localhost
inet_protocols = all
改成:
inet_interfaces = all 或者 inet_interfaces = 127.0.0.1
inet_protocols = all
重新启动postfix服务即可
systemctl start postfix
4.设置防火墙
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
5.安装刚下载好 gitlab 的rpm 包
rpm -i gitlab-ce-11.6.0-ce.0.el7.x86_64.rpm
当 shell 中出现以下内容,则证明 gitlab 的程序安装完了
6.继续安装提示执行配置 gitlab 的命令
gitlab-ctl reconfigure
7.修改 gitlab 的配置文件
vi /etc/gitlab/gitlab.rb
修改里面的 external_url 参数,例如机器的IP地址为47.92.82.152
external_url='http://47.92.82.152'
因为修改了配置文件,所以重新加载配置文件
gitlab-ctl reconfigure
软件安装部分就完成了,以下是web 页面配置部分
• web页面配置
gitlab 默认的端口号为 80,使用浏览器访问以下地址:http:// 47.92.82.152:80
自己在页面上输入 新的密码,该密码为 管理员密码,管理员的登陆名为 root。
如果访问页面访问报错502,请检查如下问题
1)权限问题:Gitlab文件需要给予读写的权限
chmod -R 755 /var/log/gitlab
2)端口问题:Gitlab的默认启动端口是80,8080,所以有肯能会与其他的端口产生冲突,需要修改端口号
3)内存不足的问题:安装gitlab的时候,已经说明你的空余内存需要有4G左右的内存,所以在安装gitlab的时候,请给足内存,在安装。
修改访问端口号:
1)更改端口
vi /etc/gitlab/gitlab.rb
修改内容:
external_url 'http:// 47.92.82.152:88' #指定访问端口,默认是80
nginx['listen_port'] = 88
nginx['listen_https'] = false
unicorn['port'] = 8001 # 为unicorn worker的工作端口,默认为8080,如果你的8080端口被占用的,这一项需要更改
2)改nginx端口
vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
查找如下内容并修改:
server {
listen *:88;
server_name 47.92.82.152
if ($http_host = "") {
set $http_host_with_default "47.92.82.152:88";
}
}
3)修改完成后执行
gitlab-ctl reconfigure #重新加载配置
gitlab-ctl restart #重启
打开浏览器,输入"http:/ 47.92.82.152:88",进入登录页面
8.配置gitlab 用户注册时的邮箱通知信息
修改 /etc/gitlab/gitlab.rb 配置文件,该邮箱地址是未来gitlab 向用户发送邮件时的推送邮箱
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com" # 用户输入自己的smtp服务器地址,例如作者的时163 的企业服务地址
gitlab_rails['smtp_port'] = 25 # 用户smtp 的端口号
gitlab_rails['smtp_user_name'] = "***@qq.com" # 用户的邮箱地址
gitlab_rails['smtp_password'] = "PASSWORD" # 用户的邮箱密码
gitlab_rails['smtp_domain'] = "qq.com" # 用户邮箱的域名
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = '***@qq.com' # 用户的邮箱地址
user['git_user_email'] = "***@qq.com" # 用户的邮箱地址
如果大家安装gitlab 的环境为阿里云,一定要确认25 端口是否能够使用,作者就由于之后在阿里云上部署gitlab时,遇到25 端口无法使用的问题,
所以一直导致在注册新用户时,邮件无法发送出去,这个时候解决方法可以选择使用打开 ssl 加密传输,这样端口就不再是 25 端口了,例如qq 的邮件配置应该变为
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com" # 用户输入自己的smtp服务器地址,例如作者的时163 的企业服务地址
gitlab_rails['smtp_port'] = 465 # 用户smtp 的端口号
gitlab_rails['smtp_user_name'] = "***@qq.com" # 用户的邮箱地址
gitlab_rails['smtp_password'] = "PASSWORD" # 用户的邮箱密码
gitlab_rails['smtp_domain'] = "qq.com" # 用户邮箱的域名
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = '***@qq.com' # 用户的邮箱地址
user['git_user_email'] = "***@qq.com" # 用户的邮箱地址
gitlab_rails['smtp_tls'] = true # 打开 ssl 加密传输
9.其他一些技术点
查看gitlab 的配置
gitlab-ctl show-config
查看gitlab 的运行日志
gitlab-ctl tail
切换gitlab 仓库的数据目录
gitlab 默认的仓库数据目录为 /var/opt/gitlab/git-data/repositories/ ,如果未来用户的数据量大了,需要更换仓库数据目录,可以通过修改 /etc/gitlab/gitlab.rb 配置进行调整。
用户在调整gitlab 的配置之前,建议对其先停止服务。
gitlab-ctl stop
然后用户创建好未来要迁移的数据目录,并且将原来的数据迁移过去,由于作者的 gitlab 是通过 rpm 包安装的,所以gitlab 的系统用户为 git,用户组为 root,所以在拷贝数据后还需要修改新数据目录的用户归属,否者后面gitlab无法对该目录写入新的数据。
mkdir -p /mnt/gitlab/git-data/
mv /var/opt/gitlab/git-data/repositories/* /mnt/gitlab/git-data/repositories/
chown -R git:root /mnt/gitlab/git-data/*
然后用户就可以对 /etc/gitlab/gitlab.rb 进行调整了。
/etc/gitlab/gitlab.rb 默认对数据目录的配置是注释的。
用户可以新增配置信息
git_data_dirs({
"default" => {
"path" => "/mnt/gitlab/git-data"
}
})
原文链接:https://www.cnblogs.com/vyanbin/p/centos7_gitlab.html
中文汉化:https://www.linuxidc.com/Linux/2017-11/148223.htm
其他:https://www.jianshu.com/p/26a88a8c8d56
完全卸载gitlab:https://blog.csdn.net/huhuhuemail/article/details/80519433
然后对 gitlab 重新刷新配置
gitlab-ctl reconfigure #因为修改了配置文件,所以重新加载配置文件
gitlab-ctl restart
来源:oschina
链接:https://my.oschina.net/u/4323347/blog/3467801