测试系统CentOS6.9,IP地址192.168.0.80
源码编译需要很多依赖,很容易出错,此处直接选择rpm包方式安装
官方地址:https://about.gitlab.com/downloads
中文网站地址:https://www.gitlab.com.cn/downloads
yum -y install openssh-server cronie git wget patch
service iptables stop
setenforce 0
cd /usr/src/
wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-9.1.3-ce.0.el6.x86_64.rpm
rpm -ivh gitlab-ce-9.1.3-ce.0.el6.x86_64.rpm
注意:此处如果不是gitlab: GitLab should be reachable at http://gitlab.example.com这句的话,可能会在初始化时有问题,可以修改/etc/gitlab/gitlab.rb文件,改成external_url 'http://gitlab.example.com'然后在进行初始化
初始化gitlab
gitlab-ctl reconfigure
查看服务
gitlab-ctl status
gitlab-ctl restart/stop/start
/etc/gitlab/gitlab.rb
安装完成,可以通过浏览器访问IP测试(如访问不了,请检查iptables、selinux)
http://192.168.0.80
首次访问Gitlab需要设置管理员密码,设置成功后会返回登录页面,默认管理员帐号是root,如果想更改默认管理员帐号,需要进入系统后修改帐号名。
感谢汉化项目发起人@larryli,感谢@xhang继续汉化本项目
先确认当前Gitlab版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
克隆版本库(我在这里克隆时大概用了20分钟)
cd /usr/src/
git clone https://gitlab.com/xhang/gitlab.git
比较原标签和汉化标签,导出patch用的diff文件
cd gitlab/
git diff v9.1.0 v9.1.0-zh > ../9.1.0-zh.diff
gitlab-ctl stop
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < ../9.1.0-zh.diff
gitlab-ctl start
修改邮件配置
gitlab中文文档SMTP设置:https://docs.gitlab.com.cn/omnibus/settings/smtp.html
vim /etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com'
改成
external_url 'http://192.168.0.80'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "腾讯邮箱授权码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
修改gitlab配置的发件人,此处最好把帐号和发件人都配置了,并保持一致,以免出现问题
gitlab_rails['gitlab_email_from'] = '[email protected]'
user['git_user_email'] = "[email protected]"
gitlab-ctl reconfigure
gitlab-ctl restart
配置完成后可以用Rails控制台验证邮件是否能发送成功。 在GitLab服务器上,执行gitlab-rails console进入控制台。 然后在控制台提示符后输入下面的命令发送一封测试邮件:
irb(main):001:0> Notify.test_email('[email protected]', 'Message Subject', 'Message Body').deliver_now
Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now