几天前,我在我的 Debian Wheezy 服务器上安装了 gitlab,并设法让它运行:
- 阿帕奇
- 相对 URL (/gitlab)
- HTTPS
我从以下来源安装了它官方安装指南。
我刚刚升级到 Debian Jessie,在对我的 apache conf 文件进行一些更改后,我设法让 gitlab 几乎可以正常工作......
我可以访问domain.com/gitlab
:我被重定向domain.com/gitlab/users/sign_in
。
但是当我登录后,我无法访问domain.com/gitlab
!我可以访问所有内容(至少我认为如此),例如:
/gitlab/dashboard/
/gitlab/<username>/<project-name>
/gitlab/admin
等等...但不是domain.com/gitlab
...
当log/production.log
我尝试访问时/gitlab
:
Started GET "/gitlab/index.html" for 140.93.2.243 at 2016-01-26 08:15:56 +0100
Processing by NamespacesController#show as HTML
Parameters: {"id"=>"index.html"}
Completed 404 Not Found in 28ms (Views: 0.8ms | ActiveRecord: 2.7ms)
我尝试过的:
# Checking the installation: Everything looked ok.
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
# Reinstalling gitlab-shell (and updating the config for https)
sudo -u git -H bundle exec rake gitlab:shell:install
REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production
# (Re)-setting up my DB
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
# (Re)-compiling assets
sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
请随时询问更多详细信息,我不知道这里可能或可能不相关什么。
答案1
我通过安装乘客模块设法让它工作:
sudo apt-get install libapache2-mod-passenger
在我的conf文件中,启用以下两行:
RailsEnv production
PassengerAppRoot /home/git/gitlab
细节:
在 Apache 2.2 中我使用了以下内容:
Alias /gitlab "/home/git/gitlab/public/"
<Directory "/home/git/gitlab/public">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
# RailsEnv production
# SetEnv RAILS_RELATIVE_URL_ROOT "/gitlab"
# PassengerAppRoot /home/git/gitlab
ProxyPassReverse http://127.0.0.1:8181
ProxyPassReverse http://127.0.0.1:8080
ProxyPassReverse http://YOUR_SERVER_FQDN/
# Redirect directives from original gitlab-ssl-apache22.conf
</Directory>
我甚至不确定这些proxy
指令是否起到了作用但它确实有效。
在 Apache 2.4 中,不允许使用 Proxy 指令Directory
,因此我使用以下命令:
Alias /gitlab "/home/git/gitlab/public/"
<Directory "/home/git/gitlab/public">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Options -MultiViews
Require all granted
RailsEnv production
PassengerAppRoot /home/git/gitlab
# Same Redirect directives
</Directory>