Как настроить Gitlab-omnibus с не в комплекте веб-сервером?

11

устанавливать

  1. Я установил gitlabпакет через пакет omnibus в debian 7(версия 7.8.1-omnibus-1_amd64.deb);
  2. измените настройки, как описано в разделе Использование не входящего в комплект веб-сервера
  3. выполните команду reconfigure: sudo gitlab-ctl reconfigure(завершено без ошибок).

Nginx

Я не получил nginx'config для этого gitlab, за исключением того, что пакет мог создать со следующим /etc/gitlab/gitlab.rbфайлом:

external_url 'http://git.mydomain.fr'
web_server['external_users'] = ['www-data']
nginx['enable'] = false
ci_nginx['enable'] = false

бревна

/var/log/nginx/gitlab_error.log

2015/02/28 14:29:16 [alert] 4137#0: *14738 768 worker_connections are not enough while connecting to upstream, client: x.x.128.194, server: git.mydomain.fr, request: "GET / HTTP/1.0", upstream
: "http://x.x.128.194:80/", host: "git.mydomain.fr"

/var/log/nginx/gitlab_access.log

В acces.log я получил сотни запросов /.

x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"

Вопрос

При попытке связаться с подачей локально links2или внешне я получил ошибку 502 Bad Gateway.

  • мне нужно создать пользовательский конфиг nginx?
Эдуард Лопес
источник

Ответы:

9

Продолжая исследовать, я нахожу /var/opt/gitlab/каталог и решаю это следующим образом:

sudo ln -s /var/opt/gitlab/nginx/conf/gitlab-http.conf /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-{available,enabled}/gitlab-http.conf
sudo service nginx reload
Эдуард Лопес
источник
Я ознаменует это как ̶a̶n̶s̶w̶e̶r̶.̶ она работает, насколько я могу судить, ̶ и Eсть не лучше ПРАКТИКА / РАСТВОР дает 404 ошибки даже при входе в систему. Это ошибка с моей стороны?
GCon
1
Да, это была ошибка с моей стороны. Работает!
GCon
1
Обратите внимание, это больше не работает полностью, так как вы получите unknown log format "gitlab_access" in /etc/nginx/sites-enabled/gitlab-http.conf:52ошибку.
00500005
Следующее исправляет проблему формата журнала sudo ln -s /var/opt/gitlab/nginx/conf/nginx.conf /etc/nginx/sites-available/иsudo ln -s /etc/nginx/sites-{available,enabled}/nginx.conf
solidgumby
2

Что касается gitlab 8, мы больше не можем символическую ссылку на gitlab-http.conf по умолчанию, потому что веб-сервер в комплекте не будет установлен, когда мы настроим nginx['enable'] = false.

Просто скачайте нужные настройки веб-сервера из репозитория GitLab recipes и измените их YOUR_SERVER_FQDNна предпочитаемое доменное имя.

Смотрите здесь для получения подробных инструкций о том, как установить gitlab, используя не входящий в комплект веб-сервер.

Euph0rix
источник
1

Для обеспечения доступности пользователя ваш пользователь Nginx (обычно www-data или nginx) должен быть добавлен в группу gitlab-www:

sudo usermod -aG gitlab-www nginx

или

sudo usermod -aG gitlab-www www-data
Мохсен Бейранванд
источник
1

Если вы вставили ссылку на gitlab-http.conf, а затем получили:

неизвестный формат журнала "gitlab_access" в /etc/nginx/sites-enabled/gitlab-http.conf

Просто добавьте log_formatдирективы из /var/opt/gitlab/nginx/conf/nginx.confвашей глобальной конфигурации nginx:

http {
  ...
  log_format gitlab_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  log_format gitlab_ci_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  log_format gitlab_mattermost_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  ...
}
Фредерик Сейлер
источник