Debian 8.0では、Apache 2.4.10にGitLab CE 7.10 Omnibusインストールを仮想ホストとして管理させようとしています。
Apache 2はすでにセットアップされ、すべてがvhost.example.com
のように見えるいくつかの仮想ホストを実行しています。
ApacheとGitLabを構成して、git.example.com
がApacheによって処理され、GitLab Webインターフェースが表示されるようにしたいと考えています。
そのために、私は https://stackoverflow.com/a/25809733/4352108 で説明されている手順に従いました。
git.example.com
でGitLabのメインページにアクセスできますが、CSSやアイコンなどの他のリソースにはアクセスできません。 Apacheログには、次の4つのエラーが表示されます。
[Sun May 10 20:24:57.146329 2015] [authz_core:error] [pid 4141] [client 1.2.3.4:80] AH01630: client denied by server configuration: /opt/gitlab/embedded/service/gitlab-Rails/public/assets/application-TOKEN.css, referer: http://git.example.com/
Webを検索していくつかの変更を試みた後、私はここで行き詰まりました。これをどのように解決できるかについて誰かが知っていますか?
さらに、ここに私が使用する「興味深い」構成ファイルがあります。
/etc/Apache2/sites-enabled/git.conf
:
<VirtualHost git.example.com:80>
ServerAdmin [email protected]
DocumentRoot /opt/gitlab/embedded/service/gitlab-Rails/public
ServerName git.example.com
ServerAlias git.example.com
ProxyPreserveHost On
<Location /opt/gitlab/embedded/service/gitlab-Rails/public>
Order deny,allow
Allow from all
Options FollowSymLinks
Require all granted
ProxyPassReverse http://localhost:8080
ProxyPassReverse http://git.example.com
</Location>
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://localhost:8080%{REQUEST_URI} [P,QSA]
ErrorDocument 404 /404.html
ErrorDocument 422 /422.html
ErrorDocument 500 /500.html
ErrorDocument 503 /deploy.html
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded
ErrorLog /${Apache_LOG_DIR}/gitlab.error.log
CustomLog /${Apache_LOG_DIR}/gitlab.forwarded.log common_forwarded
CustomLog /${Apache_LOG_DIR}/gitlab.access.log combined env=!dontlog
CustomLog /${Apache_LOG_DIR}/gitlab.log combined
</VirtualHost>
/etc/gitlab/gitlab.rb
:
external_url 'http://git.example.com'
web_server['external_users'] = ['http']
nginx['enable'] = false
いくつかの興味深い有効なApache mod:
proxy
proxy_http
これは私のために働きました:
<VirtualHost *:80>
ServerName git.example.com
ServerSignature Off
DocumentRoot /opt/gitlab/embedded/service/gitlab-Rails/public
ProxyPreserveHost On
<Location />
Require all granted
ProxyPassReverse http://127.0.0.1:8080
ProxyPassReverse http://git.example.com/
</Location>
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]
# needed for downloading attachments
DocumentRoot /opt/gitlab/embedded/service/gitlab-Rails/public
</VirtualHost>
ユーザーをhttpからwww-dataに変更してみてください
VirtualHost
ファイル:
交換する
Order deny,allow
Allow from all
沿って
Require all granted
そしてあなたの問題は解決されました