2016-12-08 5 views
0

Я успешно установил Gitlab на Ubuntu 14.04, используя https://about.gitlab.com/downloads/#ubuntu1404, но я изо всех сил пытаюсь сделать перенаправление и получить доступ к нему через интернет (https://my.example.com/gitlab).Gitlab на Apache2 с SSL

Я изменил /etc/gitlab/gitlab.rb к:

external_url 'https://my.example.com/gitlab'

Nginx [ 'включить'] = ложь

И переконфигурировать с sudo gitlab-ctl reconfigure

Если я раскомментировать:

веб_сервер [ 'external_users'] = [ 'WWW-данные']

я получаю:

Рецепт Ошибка компиляции в /Opt/gitlab/встроенные/кулинарные книги/кэш/поваренные книги/gitlab-е-е/рецепты/по умолчанию

NoMethodError ------------- неопределенный метод `-» для ноль: NilClass

Cookbook Трассировка: --------------- /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/config.rb:21:in from_file'
/opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb:26:in
from_file '
/opt/gitlab /embedded/cookbooks/cache/cookbooks/gitlab-ee/recipes/default.rb:18:in `from_file»

Соответствующие Содержание файла: --------------- ------- /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/config.rb:

14: # См лицензии для конкретного языка, регулирующего разрешения и 15: ограничения # по лицензии. 16: # 17: 18: Gitlab [: node] = node 19: 20: if File.exists? ('/ Etc/gitlab/gitlab.rb') 21 >>
Gitlab.from_file ('/ etc/gitlab/gitlab.rb ') 22: конец 23: 24: node.consume_attributes (Gitlab.generate_config (узел [' FQDN '])) 25:

Я попытался добавить различные gitlab.conf к /etc/apache2/sites-available/, но https://my.example.com/gitlab не перенаправляется на страницу входа в Gitlab, я получаю «Страница не найдена» из службы Redmine, которая работает на домашней странице. Текущий default-ssl.conf использует DocumentRoot /var/www в то время как Gitlab DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public. Apache2 настроен на использование SSL.

UPDATE 1

Я сделал символическая:

sudo ln -s /opt/gitlab/embedded/service/gitlab-rails/public /var/www/gitlab 

Так что теперь он может быть настроен по умолчанию-ssl.conf.

Alias /gitlab "/var/www/gitlab" 

ли не вперед Gitlab домашнюю страницу, в то время как

Alias /gitlab "/var/www/gitlab/deploy.html" 

работает хорошо. Что такое домашняя страница Gitlab? Где файл index.html?

UPDATE 2

Если добавить

RackBaseURI /gitlab 
RailsBaseURI /gitlab 
<Directory /var/www/gitlab> 
    Allow from all 
    Options -MultiViews 
</Directory> 

я получаю сообщение об ошибке после ввода https://my.example.com/gitlab/

веб-приложение не может быть запущено

Это выглядит как Bundler не мог найти драгоценный камень. Возможно, вы не установили все драгоценные камни, которые нужны этому приложению. Для того, чтобы установить драгоценные камни, пожалуйста, запустите:

комплект установки

Если это не сработало, то проблема, вероятно, вызвана приложением> запускаются под другой среде, чем это предполагалось. Пожалуйста, проверьте> следующее:

Is this app supposed to be run as the www-data user? 
Is this app being run on the correct Ruby interpreter? Below you will see which Ruby interpreter Phusion Passenger attempted to use. 

-------- Исключение выглядит следующим образом: ------- Не удалось найти ни в одном из источников рейк-10.5.0 (Bundler :: GemNotFound)

/var/lib/gems/1.9.1/gems/bundler-1.12.5/lib/bundler/spec_set.rb:95:in block in materialize' /var/lib/gems/1.9.1/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in map! ' /var/lib/gems/1.9.1/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in materialize' /var/lib/gems/1.9.1/gems/bundler-1.12.5/lib/bundler/definition.rb:140:in технические характеристики ' /var/lib/gems/1.9.1/gems/bundler- 1.12.5/Библиотека/пакетирования/definition.rb: 185: в specs_for' /var/lib/gems/1.9.1/gems/bundler-1.12.5/lib/bundler/definition.rb:174:in requested_specs'

за исключением выше, была решена после обновления Ruby.

UPDATE 3

Теперь я получаю

enter image description here

с

Alias /gitlab "/var/www/gitlab" 
AllowEncodedSlashes NoDecode 

<Directory /var/www/gitlab> 
     Options Indexes FollowSymLinks MultiViews 
     PassengerAppRoot "/var/www/gitlab" 
     RailsBaseURI /var/www/gitlab 
     AllowOverride None 
     Order allow,deny 
     allow from all 
</Directory> 

Как настроить Gitlab и Apache2, чтобы получить Gitlab первую страницу при входе https://my.example.com/gitlab?

ответ

0

я имел другие службы, работающие на 8080, так что я изменил Unicorn порт для 9099. Modified конфигурации Gitlab sudo nano /etc/gitlab/gitlab.rb:

external_url 'https://subdomain.example.com/gitlab' 

web_server['username'] = 'apache' #'gitlab-www' 
web_server['group'] = 'apache' #'gitlab-www' 

nginx['enable'] = false 

unicorn['listen'] = '127.0.0.1' 
unicorn['port'] = 9099 

Реконфигурированные Gitlab: sudo gitlab-ctl reconfigure

Модифицированная конфигурация Apache sudo nano /etc/apache2/apache2.conf с добавлением:

ProxyPass   /gitlab http://127.0.0.1:9099/gitlab 
ProxyPassReverse /gitlab http://127.0.0.1:9099/gitlab 
RequestHeader add X-Forwarded-Proto https 

Reloaded:

sudo service apache2 reload 
+0

Связанные: http://serverfault.com/questions/822716/gitlab-https-uri-for-repository-cloning-does-not-work-ssl-host-could-not-be-ve – Justas

2

Похоже, что ваша конфигурация Apache не является прокси-сервером GitLab на порту 8080 (единорог). Существуют примерные файлы конфигурации Apache, доступные по адресу https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/apache.

Существует также хорошее сообщение, объясняющее шаги по использованию Apache с GitLab Omnibus по адресу http://ryansechrest.com/2015/08/use-apache-instead-of-built-in-nginx-in-gitlab-ce/. Немного старше года, поэтому конфигурация Apache может быть немного устаревшей. Используйте руководство, но замените конфигурацию Apache на ссылку gitlab-recipes выше, и она должна работать.

+0

Теперь я получаю Не удалось найти rake-10.5.0 в любом из источников (Bundler :: GemNotFound). – Justas

+0

Какую команду вы используете при получении этой ошибки? Что еще вы изменили, кроме конфигурации Apache? Изменение конфигурации Apache не приведет к тому, что приложение GitLab внезапно выбросит эти ошибки. –

+0

Я решил эту проблему. Я получил его после ввода URL-адреса Gitlab в браузере, это было из-за неправильной версии Ruby и отсутствия разрешений. Теперь он перейдет в/opt/gitlab/embedded/service/gitlab-rails/public folder, и я вижу «Index of/gitlab» с файлами, а не с домашней страницей Gitlab. – Justas