今天突然被问如何安装Gitlab(本人Github用户),于是安装了一下,发现其中还是有一点点需要注意的地方的,特开一篇用于记录。
安装
以宝塔Linux面板为例,登录后台,打开软件商店搜索Gitlab
选择安装GitLab最新社区版
,等待安装完成(可能有点大,因为Gitlab自带服务比较多)
注:不建议云服务器内存<4G的机器安装Gitlab(因为真的非常占内存)
修改配置文件及高发问题
!!!所有配置均在vim /etc/gitlab/gitlab.rb
中修改后执行gitlab-ctl reconfigure
而不是修改gitlab.yml
!!!
使显示中的克隆项目为自定义域名
使用SSH登录云服务器,输入vim /etc/gitlab/gitlab.rb
,找到external_url
字段,按i
进入编辑模式后修改值为自己即将使用的域名,按Esc
后输入:wq
保存
使用https
可能会导致访问页面出现400
错误:
保存后执行gitlab-ctl reconfigure
重新编译配置。
效果:
配置邮件服务
配置修改
我们在新用户注册激活账户时一般会发送激活邮件,配置邮件依然是在/etc/gitlab/gitlab.rb
。执行vim /etc/gitlab/gitlab.rb
,按i
进入编辑模式后对应修改以下信息(此处以网易邮箱为例):
# 启用 smtp 服务
gitlab_rails['smtp_enable'] = true
# 配置 smtp 服务地址
gitlab_rails['smtp_address'] = "smtp.163.com"
# 配置 smtp 服务的端口号
gitlab_rails['smtp_port'] = 465
# 配置发送邮件的电子邮箱名称
gitlab_rails['smtp_user_name'] = "example@163.com"
# 开启smtp服务时显示的授权密码而不是邮箱登录密码
gitlab_rails['smtp_password'] = "此处填开启smtp服务时显示的授权密码"
# 配置smtp服务的域名,和上面的smtp服务器地址一致
gitlab_rails['smtp_domain'] = "smtp.163.com"
# 配置smtp鉴定类别(此处默认)
gitlab_rails['smtp_authentication'] = "login"
# 开启纯文本通信协议扩展
gitlab_rails['smtp_enable_starttls_auto'] = true
# 开启 smtp_tls (传输安全)
gitlab_rails['smtp_tls'] = true
# gitlab服务邮件的发件邮箱,填写上面的邮箱即可
gitlab_rails['gitlab_email_from'] = 'example@163.com'
按Esc
后输入:wq
保存,保存后执行gitlab-ctl reconfigure
重新编译配置。
服务测试
确保gitlab配置文件已编译完成,gitlab服务为正常运行状态(可手动访问一次网页查看当前gitlab服务状态)。执行gitlab-rails console
,等待加载完成后执行:
Notify.test_email('任意接收邮件的邮箱', '测试邮件', 'Hello World! ').deliver_now
命令来发送一封测试邮件,如能够正常发送则邮件服务已配置完成。
编译配置后出现Nginx无法启动
使用宝塔面板安装的Gitlab编译配置后一般会出现Nginx无法启动的问题。此时可以先执行gitlab-ctl tail
查看日志。如发现错误信息类似:
chpst: fatal: unable to run: /opt/gitlab/embedded/sbin/nginx: file does not exist
则可以通过执行
cp /opt/gitlab/embedded/sbin/gitlab-web /opt/gitlab/embedded/sbin/nginx
来解决。
重新编译配置后出现带Gitlab logo的5xx报错
(页面大致内容:Whoops, GitLab is taking too much time to respond 502
)
是这样的,重新编译配置文件后需要等大约一两分钟才能够正常访问。
暂未遇到其他问题,后面遇到其他问题会继续更新…
本文地址: Gitlab安装教程