问题
so here is my setup:
I have Ubuntu 14.04 and installed Gitlab omnibus. Then i basically just followed this guide: Setup for non-bundled Webserver (apache in my case)
I successfully enabled the apache site with this config files:
gitlab.rb (just those lines which are not commented):
external_url "http://git.codefighters.org"
nginx['enable'] = false
web_server['external_users'] = ['www-data']
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_addr'] = "127.0.0.1:8181"
git.codefighters.org.conf (in /etc/apache2/sites-available):
# This configuration has been tested on GitLab 8.2
# Note this config assumes unicorn is listening on default port 8080 and
# gitlab-workhorse is listening on port 8181. To allow gitlab-workhorse to
# listen on port 8181, edit /etc/gitlab/gitlab.rb and change the following:
#
# gitlab_workhorse['listen_network'] = "tcp"
# gitlab_workhorse['listen_addr'] = "127.0.0.1:8181"
#
#Module dependencies
# mod_rewrite
# mod_proxy
# mod_proxy_http
<VirtualHost *:80>
ServerName git.codefighters.org
ServerSignature Off
ProxyPreserveHost On
# Ensure that encoded slashes are not decoded but left in their encoded state.
# http://doc.gitlab.com/ce/api/projects.html#get-single-project
AllowEncodedSlashes NoDecode
<Location />
# New authorization commands for apache 2.4 and up
# http://httpd.apache.org/docs/2.4/upgrading.html#access
Require all granted
#Allow forwarding to gitlab-workhorse
ProxyPassReverse http://127.0.0.1:8181
#Allow forwarding to GitLab Rails app (Unicorn)
ProxyPassReverse http://127.0.0.1:8080
ProxyPassReverse http://git.codefighters.org/
</Location>
# Apache equivalent of nginx try files
# http://serverfault.com/questions/290784/what-is-apaches-equivalent-of-nginxs-try-files
# http://stackoverflow.com/questions/10954516/apache2-proxypass-for-rails-app-gitlab
RewriteEngine on
#Forward these requests to gitlab-workhorse
RewriteCond %{REQUEST_URI} ^/[\w\.-]+/[\w\.-]+/gitlab-lfs/objects.* [OR]
RewriteCond %{REQUEST_URI} ^/[\w\.-]+/[\w\.-]+/builds/download.* [OR]
RewriteCond %{REQUEST_URI} ^/[\w\.-]+/[\w\.-]+/repository/archive.* [OR]
RewriteCond %{REQUEST_URI} ^/api/v3/projects/.*/repository/archive.* [OR]
RewriteCond %{REQUEST_URI} ^/ci/api/v1/builds/[0-9]+/artifacts.* [OR]
RewriteCond %{REQUEST_URI} ^/[\w\.-]+/[\w\.-]+/(info/refs|git-upload-pack|git-receive-pack)$
RewriteRule .* http://127.0.0.1:8181%{REQUEST_URI} [P,QSA,NE]
#Forward any other requests to GitLab Rails app (Unicorn)
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_URI} ^/uploads
RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA,NE]
# needed for downloading attachments
DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public
#Set up apache error documents, if back end goes down (i.e. 503 error) then a maintenance/deploy page is thrown up.
ErrorDocument 404 /404.html
ErrorDocument 422 /422.html
ErrorDocument 500 /500.html
ErrorDocument 503 /deploy.html
# It is assumed that the log directory is in /var/log/httpd.
# For Debian distributions you might want to change this to
# /var/log/apache2.
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded
ErrorLog /var/log/httpd/logs/git.codefighters.org_error.log
CustomLog /var/log/httpd/logs/git.codefighters.org_forwarded.log common_forwarded
CustomLog /var/log/httpd/logs/git.codefighters.org_access.log combined env=!dontlog
CustomLog /var/log/httpd/logs/git.codefighters.org.log combined
</VirtualHost>
The problem i have though is, that you cant see any gitlab on git.codefighters.org, but the default Plesk page. I dont really know what exactly the problem is, as everythings works on the server. sudo gitlab-ctl status says that everything is running.
Thanks to all of you, helping me solve this issue!
回答1:
Alright, after googling the whole day, i found a solution to this. If you use Plesk on your server, it seems to have no effect when you change the apache conf's and enable them, because plesk manages this stuff (correct me if im wrong).
So, to let these conf's take effect you have to do the following:
First you need to create the domain on you plesk panel:
Log in into plesk and go Domains-> create the domain you want to use
Then log in into you server and go /var/www/vhosts/system/FQDN/conf (where FQDN should be replaced by you domain, in my case git.codefighters.org)
- There, add (or change) the vhost.conf or vhost_ssl.conf respectively. You will not need the , as the content of these files is inserted in the particular section of an automatically generated configuration file. (taken from http://www.istvank.eu/archives/772)
For me, the vhost.conf looks like this:
ServerName git.codefighters.org ServerSignature Off ProxyPreserveHost On # Ensure that e ncoded slashes are not decoded but left in their encoded state. # http://doc.gitlab.com/ce/api/projects.html#get-single-project AllowEncodedSlashes NoDecode <Location /> # New authorization commands for apache 2.4 and up # http://httpd.apache.org/docs/2.4/upgrading.html#access Require all granted #Allow forwarding to gitlab-workhorse ProxyPassReverse http://127.0.0.1:8181 #Allow forwarding to GitLab Rails app (Unicorn) ProxyPassReverse http://127.0.0.1:8080 ProxyPassReverse http://git.codefighters.org/ </Location> # Apache equivalent of nginx try files # http://serverfault.com/questions/290784/what-is-apaches-equivalent-of-nginxs-try-files # http://stackoverflow.com/questions/10954516/apache2-proxypass-for-rails-app-gitlab RewriteEngine on #Forward these requests to gitlab-workhorse RewriteCond %{REQUEST_URI} ^/[\w\.-]+/[\w\.-]+/gitlab-lfs/objects.* [OR] RewriteCond %{REQUEST_URI} ^/[\w\.-]+/[\w\.-]+/builds/download.* [OR] RewriteCond %{REQUEST_URI} ^/[\w\.-]+/[\w\.-]+/repository/archive.* [OR] RewriteCond %{REQUEST_URI} ^/api/v3/projects/.*/repository/archive.* [OR] RewriteCond %{REQUEST_URI} ^/ci/api/v1/builds/[0-9]+/artifacts.* [OR] RewriteCond %{REQUEST_URI} ^/[\w\.-]+/[\w\.-]+/(info/refs|git-upload-pack|git-receive-pack)$ RewriteRule .* http://127.0.0.1:8181%{REQUEST_URI} [P,QSA,NE] #Forward any other requests to GitLab Rails app (Unicorn) RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_URI} ^/uploads RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA,NE] # needed for downloading attachments DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public #Set up apache error documents, if back end goes down (i.e. 503 error) then a maintenance/deploy page is thrown up. ErrorDocument 404 /404.html ErrorDocument 422 /422.html ErrorDocument 500 /500.html ErrorDocument 503 /deploy.html # It is assumed that the log directory is in /var/log/httpd. # For Debian distributions you might want to change this to # /var/log/apache2. LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded ErrorLog /var/log/httpd/logs/git.codefighters.org_error.log CustomLog /var/log/httpd/logs/git.codefighters.org_forwarded.log common_forwarded CustomLog /var/log/httpd/logs/git.codefighters.org_access.log combined env=!dontlog CustomLog /var/log/httpd/logs/git.codefighters.org.log combined
The last thing you need to do is running this commands:
/usr/local/psa/admin/bin/httpdmng --reconfigure-all
sudo service httpd restart
来源:https://stackoverflow.com/questions/34421385/gitlab-site-is-showing-the-plesk-default-page-what-am-i-doing-wrong