..png)
소규모 개인 서버에 GitLab을 설치하고 Plesk WebAdmin 하위 도메인에서 작동하도록 구성해 보았습니다. Omnibus 패키지를 통해 정상적으로 GitLab을 설치했습니다. 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 오류가 발생합니다. 이는 루트 사용자를 생성하기 전입니다. 메시지는 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
또한 더 이상 누락된 정보를 공개하지 않습니다. 구체적인 오류 메시지가 없기 때문에 GitLab 설치 자체보다는 Plesk와 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" 모듈이 활성화되지 않았습니다. 모듈을 활성화하면 위 구성으로 문제가 완벽하게 해결됩니다! 이것이 동일한 문제를 가진 미래의 누군가에게 도움이 되기를 바랍니다.