.png)
Я попытался установить GitLab на небольшой персональный сервер и настроить его так, чтобы он работал на поддомене Plesk WebAdmin. Я установил GitLab обычным способом через пакет Omnibus. Я изменил следующие настройки в файле gitlab.rb:
nginx['enable'] = false
web_server['external_users'] = ['www-data', 'PLESK_USER']
web_server['group'] = 'psacln'
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_addr'] = "127.0.0.1:8181"
где PLESK_USER — пользователь, связанный с этим поддоменом plesk.
Я перенаправил HTTP на HTTPS на поддомене, все работает, SSL-сертификат тоже работает.
В Plesk в разделе «Дополнительные директивы для HTTPS» я вставил текст с этой страницы в <VirtualHost *:443>
тег.
https://gitlab.com/gitlab-org/gitlab-recipes/blob/master/web-server/apache/gitlab-omnibus-ssl-apache24.conf
и я заменил YOUR_SERVER_FQDN, а также 3 строки SSLCertificateFile (теми, которые я нашел в /var/www/vhosts/system/fqdn/conf/last_nginx.conf
Зайдя на свой домен, я сразу получаю ошибку 500. Это происходит даже до создания пользователя root. Сообщение, похоже, относится к GitLab, содержит логотип GitLab и соответствующий текст, поэтому я верю, что маршрутизация к самому GitLab, похоже, работает.
В производственном журнале я получаю только следующие выходные данные для каждого посещения объекта:
Started GET "/-/metrics" for 127.0.0.1 at 2019-05-27 11:59:44 +0000
Processing by MetricsController#index as HTML
Completed 200 OK in 2ms (Views: 0.4ms | ActiveRecord: 0.0ms | Elasticsearch: 0.0ms)
и используя gitlab-ctl tail
==> /var/log/gitlab/gitlab-rails/production.log <==
Started GET "/-/metrics" for 127.0.0.1 at 2019-05-27 12:01:29 +0000
Processing by MetricsController#index as HTML
Completed 200 OK in 2ms (Views: 0.4ms | ActiveRecord: 0.0ms | Elasticsearch: 0.0ms)
==> /var/log/gitlab/gitlab-rails/production_json.log <==
{"method":"GET","path":"/-/metrics","format":"html","controller":"MetricsController","action":"index","status":200,"duration":2.64,"view":0.41,"db":0.0,"time":"2019-05-27T12:01:29.670Z","params":[],"remote_ip":null,"user_id":null,"username":null,"ua":null,"queue_duration":null,"correlation_id":"98970bd1-9618-41ea-85a2-5f59b26fd16b"}
Эти сообщения появляются немедленно и ровно один раз для каждого запроса браузера.
sudo gitlab-rake gitlab:check --trace
также не раскрывает никакой дальнейшей недостающей информации. Отсутствие каких-либо конкретных сообщений об ошибках заставляет меня думать, что проблема связана с линковкой Plesk и GitLab, а не с самой установкой GitLab, но я не могу найти эту конкретную проблему где-либо еще и у меня действительно нет идей, что проверить.
Я буду благодарен за любую помощь.
Редактировать: Проверяя журнал в /var/log/gitlab/gitlab-workhorse/current, при запуске приложения (после каждого перезапуска) я вижу следующие сообщения об ошибках
2019-05-27_13:11:49.39615 time="2019-05-27T13:11:49Z" level=error msg="unknown error" error="keywatcher: pubsub receive: EOF"
2019-05-27_13:11:49.39617 time="2019-05-27T13:11:49Z" level=info msg="redis: dialing" address=/var/opt/gitlab/redis/redis.socket network=unix
2019-05-27_13:11:49.39617 time="2019-05-27T13:11:49Z" level=error msg="unknown error" error="keywatcher: dial unix /var/opt/gitlab/redis/redis.socket: connect: no such file or directory"
Однако поскольку я не менял никаких настроек, кроме тех, которые упомянул изначально, я не могу найти никакой связи с моей конкретной конфигурацией.
решение1
Теперь я решил эту проблему.
В моем интерфейсе Plesk в разделе "Инструменты и настройки" - "Веб-сервер Apache" модуль "proxy_http" не был включен. Включение модуля полностью решает проблему с указанной выше конфигурацией! Надеюсь, это поможет кому-то в будущем с такой же проблемой.