2017-02-12 14 views
0

Я запускаю Ubuntu 16.04 LTS в качестве сервера и устанавливал на нем GitLab и OpenProject. Однако, поскольку я установил GitLab, я больше не могу получить доступ к моему OpenProject, я попытался перенаправить его на другой порт с помощью конфигураций apache2, но он не сработает.Запуск двух веб-сайтов на одном сервере Apache

/etc/apache2/sites-available/000-default.conf:

# 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 or create /etc/default/gitlab and change or add the following: 
# 
# gitlab_workhorse_options="-listenUmask 0 -listenNetwork tcp -listenAddr 127.0.0.1:8181 -authBackend http://127.0.0.1:8080" 
# 
#Module dependencies 
# mod_rewrite 
# mod_proxy 
# mod_proxy_http 
<VirtualHost *:80> 
    ServerName YOUR_SERVER_FQDN 
    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 
    ProxyPassReverse http://YOUR_SERVER_FQDN/ 
    </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 all requests to gitlab-workhorse except existing files like error documents 
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR] 
    RewriteCond %{REQUEST_URI} ^/uploads/.* 
    RewriteRule .* http://127.0.0.1:8181%{REQUEST_URI} [P,QSA,NE] 

    # needed for downloading attachments 
    DocumentRoot /home/git/gitlab/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 502 /502.html 
    ErrorDocument 503 /503.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/YOUR_SERVER_FQDN_error.log 
    CustomLog /var/log/httpd/logs/YOUR_SERVER_FQDN_forwarded.log common_forwarded 
    CustomLog /var/log/httpd/logs/YOUR_SERVER_FQDN_access.log combined env=!dontlog 
    CustomLog /var/log/httpd/logs/YOUR_SERVER_FQDN.log combined 

</VirtualHost> 
<VirtualHost *:81> 
    ServerName euve252630.serverprofi24.de 
    DocumentRoot /opt/openproject/public 
Include /etc/apache2/sites-available/openproject.conf 
</VirtualHost> 

/etc/apache2/sites-available/openproject.conf:

Include /etc/openproject/addons/apache2/includes/server/*.conf 

<VirtualHost *:81> 
    ServerName euve252630.serverprofi24.de 
    DocumentRoot /opt/openproject/public 

    ProxyRequests off 

    Include /etc/openproject/addons/apache2/includes/vhost/*.conf 

    # Can't use Location block since it would overshadow all the other proxypass directives on CentOS 
    ProxyPass /openproject/ http://127.0.0.1:6000/openproject/ retry=0 
    ProxyPassReverse /openproject/ http://127.0.0.1:6000/openproject/ 
</VirtualHost> 

/etc/apache2/ports.conf:

# If you just change the port or add more ports here, you will likely also 
# have to change the VirtualHost statement in 
# /etc/apache2/sites-enabled/000-default.conf 

Listen 80 
Listen 81 

<IfModule ssl_module> 
    Listen 443 
</IfModule> 

<IfModule mod_gnutls.c> 
    Listen 443 
</IfModule> 

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet 

Я понятия не имею, что еще я могу сделать, спасибо заранее!

Примечание: Я хочу GitLab на порт 80 и OpenProject на порт 81

EDIT: Оба работают, это просто вопрос конфигурации Eidt: нашли то, что причиняло сайты не отображаются. Сервер Nginx был запущен по умолчанию из пакета gitlab

+0

ли Gitlab работает правильно? Как вы хотите получить доступ к Gitlab и OpenProject - example.com/gitlab и example.com/openproject? – Justas

+0

@ Justas gitlab в настоящее время работает на example.com | yes example..com/gitlab example.com/openproject будет лучше – d0ve

+1

Вы можете изменить конфигурацию Gitlab с помощью 'sudo nano /etc/gitlab/gitlab.rb' и установить 'external_url' https://example.com/gitlab '' , Я бы использовал порт 80 для обоих проектов и задал конкретную перенаправленную Apache в/gitlab и/openproject – Justas

ответ

0

Gitlab был запущен сервер Nginx по умолчанию, отключил его так Апач работы

0

Если вы хотите получить доступ к обеим проектам, это должно быть так же просто, как иметь оба проекта в виде двух отдельных папок в папке webapps apache и получить доступ к ним через имя папка (локальный: 8080 /)

+0

Могу ли я просто сменить каталог? – d0ve

+0

У меня есть несколько сайтов, работающих на моем локальном сервере Apache. Поэтому внутри папки webapps у меня есть эти несколько сайтов. Например, webapps/ Website1 Website2 Сейчас в моем браузере, если мне нужен Website1, я захожу localhost: 8080/Website1. То же самое для другого веб-сайта –