Neo*_*Neo 3 apache ruby-on-rails passenger devise gitlab
我按照他们的文档页面安装了GitLab .该服务器可以通过http://foobar.com/gitlab访问.我有乘客+ apache安装.(独角兽也在奔跑).安装完成后,它会加载登录页面,当我输入默认用户名/密码(root/5iveL!fe)时,它会重定向到422页面,并显示以下错误:
422
The change you requested was rejected.
Run Code Online (Sandbox Code Playgroud)
我想也许有一些错误的密码,尝试重置从控制台密码,但运行的时候gitlab-rails console production和sudo -u git -H gitlab-rails console production我得到了以下错误:
ls: cannot access /opt/gitlab/embedded/service/gitlab-rails/log: No such file or directory
chpst: fatal: unknown user/group: -U
Run Code Online (Sandbox Code Playgroud)
由于第一个错误是因为没有日志文件,我手动创建了一个日志文件但是在运行命令后我收到以下错误:
chpst: fatal: unable to setgroups: permission denied
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做.同样在production.log中,它抱怨CSR令牌无效.我假设这意味着我没有提供正确的密码,但这是GitLab安装提供的密码.
也可能是相关的,我用这个指南来配置apache.GitLab的Apache vhost部分看起来像这样
35 ProxyPass?? ? ? /gitlab/? http://127.0.0.1:8080/gitlab/
36 ProxyPassReverse ?/gitlab/? http://127.0.0.1:8080/gitlab/
37 ProxyPass?? ? ? /gitlab http://127.0.0.1:8080/gitlab
38 ProxyPassReverse /gitlab http://127.0.0.1:8080/gitlab
39 ProxyPass?? ? ? /assets?? http://127.0.0.1:8080/gitlab/assets
40 ProxyPassReverse /assets? http://127.0.0.1:8080/gitlab/assets
Run Code Online (Sandbox Code Playgroud)
由于没有人回答,我会发布我的解决方案,以便其他任何人都认为它有益.问题出在https上.如果我在gitlab.yml(https:false)中关闭了https选项,那么我就可以登录了.详细的解决方案可以在这里找到.我必须在我的虚拟主机中添加以下内容(因为我有一个用于foobar.com.conf和foobar.com-ssl.conf)文件.
在foobar.com.conf文件中我必须添加:
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [NE,R,L]
Run Code Online (Sandbox Code Playgroud)
在foobar.com-ssl.conf我不得不添加:
RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]
RequestHeader set X_FORWARDED_PROTO 'https'
Run Code Online (Sandbox Code Playgroud)
欲了解更多解决问题请访问这里.