CentOS 6.5
の既存のgitlab
の上にポート8088にApache
をインストールし、このチュートリアルhttps://about.gitlab.com/downloads/#centos6
を使用しました
このサーバーでもApacheを使用しているため、Apachevhostファイルを次のように変更しました。
<VirtualHost *:80>
ServerName git.server.net
DocumentRoot /opt/gitlab/embedded/service/gitlab-Rails/public
ProxyPreserveHost On
AllowEncodedSlashes Off
<Location />
Order deny,allow
Allow from all
ProxyPassReverse http://127.0.0.1:8088
ProxyPassReverse http://git.server.net/
</Location>
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:8088%{REQUEST_URI} [P,QSA]
</VirtualHost>
/etc/gitlab/gitlab.rb
を次のように変更しました:
external_url 'http://git.server.net:8088'
# service httpd restart
は正常に機能しますが、# gitlab-ctl reconfigure
を実行すると、多くの警告がスローされます(ただし、すべて機能します)。ただし、すべてのgitlabスタイルシートまたはjsインクルードが欠落しているため、次のようになります。
htmlソースでcssまたはjsファイルにアクセスすると、次のエラーがスローされます
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
root@localhost and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.</p>
<p>More information about this error may be available
in the server error log.</p>
<hr>
<address>Apache/2.2.15 (CentOS) Server at git.server.net Port 80</address>
</body></html>
明らかなnginxはこれらのファイル拡張子をparse
することになっていますが、Apacheは次のことを意図していません:とにかくこの内部相対URL参照を作成する方法はありますか
[〜#〜] edit [〜#〜]この相対URLの再フォーマットは機能しますが、手動でURLとしてそこに行きます:gitlabに:8088を相対URLに追加するにはどうすればよいですか? - http://git.server.net:8088/assets/application-2684b1e4bc7f333c28c683e130ee05f0.css
私はvhost設定をこれに変更することによってそれを修正しました:
<VirtualHost *:80>
ServerName git.server.net
DocumentRoot /opt/gitlab/embedded/service/gitlab-Rails/public
ProxyRequests off
ProxyPass / http://git.server.net:8088/
ProxyPassReverse / http://git.server.net:8088/
</VirtualHost>
将来この問題を抱えている人にはこれを任せます