今天突然被问如何安装Gitlab(本人Github用户),于是安装了一下,发现其中还是有一点点需要注意的地方的,特开一篇用于记录。

安装

以宝塔Linux面板为例,登录后台,打开软件商店搜索Gitlab

选择安装GitLab最新社区版,等待安装完成(可能有点大,因为Gitlab自带服务比较多)

注:不建议云服务器内存<4G的机器安装Gitlab(因为真的非常占内存)

4G运存,安装一个Gitlab再加上Docker啥的就这样了

修改配置文件及高发问题

!!!所有配置均在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重新编译配置。

效果:

修改后的Clone链接,修改之前为服务器IP地址

配置邮件服务

配置修改

我们在新用户注册激活账户时一般会发送激活邮件,配置邮件依然是在/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

是这样的,重新编译配置文件后需要等大约一两分钟才能够正常访问。

暂未遇到其他问题,后面遇到其他问题会继续更新…

说点什么
你是我一生只会遇见一次的惊喜...
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...