Невозможно запустить GitLab на порту 80 с Apache и Tomcat
Я установил GitLab с помощью установщика Omnibus. В настоящее время он работает правильно, используя Nginx (который входит в комплект GitLab), работающий на порту 81. Я переключился с порта 80 на порт 81, потому что у меня работает Apache на порту 80. У меня также установлен Tomcat и работает на порту 8080, поэтому я изменил порт единорога до 8081. Все это работает правильно. Ниже приведены настройки, которые я изменил:
/etc/gitlab/gitlab.rb
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#configuring-the-external-url-for-gitlab
external_url 'http://mysite.example.net:81'
#https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#tcp-ports-for-gitlab-services-are-already-taken
unicorn['port'] = 8081
#https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#storing-git-data-in-an-alternative-directory
git_data_dir "/mnt/tank/gitlab"
/var/opt/gitlab/gitlab-rails/etc/gitlab.yml
production: &base
#
# 1. GitLab app settings
# ==========================
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: mysite.example.net
port: 81
https: false
К сожалению, мне нужно, чтобы GitLab работал на порте 80. Я пробовал несколько конфигураций виртуальных хостов Apache. Единственный успех, который у меня был, это то, что я могу набрать URL http://mysite.example.com/gitlab
и получаю ошибку 404, но я вижу, что URL меняется на http://mysite.example.com/users/sign_in
, Перенаправление вызвало gitlab
должен быть удален, но если я положу его обратно, чтобы получить URL http://mysite.example.com/gitlab/users/sign_in
Я вижу страницу входа в GitLab, хотя она все взломана, потому что ни одно из изображений не является правильным. Конфигурация, которую я использовал для достижения этих результатов, приведена ниже:
/etc/gitlab/gitlab.rb
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#configuring-the-external-url-for-gitlab
external_url 'http://mysite.example.com'
#https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#tcp-ports-for-gitlab-services-are-already-taken
unicorn['port'] = 8081
#https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#storing-git-data-in-an-alternative-directory
git_data_dir "/mnt/tank/gitlab"
#https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#using-a-non-bundled-web-server
nginx['enable'] = false
web_server['external_users'] = ['www-data']
файл /etc/apache2/apache2.conf
ServerName mysite.example.com
ProxyRequests Off
<Proxy *>
Order Allow,Deny
Allow from all
</Proxy>
# transmission
ProxyPass /transmission http://localhost:9091/transmission
ProxyPassReverse /transmission http://localhost:9091/transmission
# gitlab
ProxyPass /gitlab http://localhost:8081
ProxyPassReverse /gitlab http://localhost:8081
/var/opt/gitlab/gitlab-rails/etc/gitlab.yml
production: &base
#
# 1. GitLab app settings
# ==========================
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: mysite.example.com
port: 80
https: false
1 ответ
У меня была похожая проблема: я хотел настроить gitlab с помощью apache, но я не знаю, применимо ли мое решение в вашем случае:
Я установил запись dns для субдомена "gitlab.example.com", чтобы он указывал на домен "example.com", и добавил виртуальный хост для субдомена. Это позволило мне использовать прокси для "/" вместо "/ gitlab". Вот мои файлы конфигурации:
/etc/gitlab/gitlab.rb:
external_url 'http://localhost:81'
Виртуальный хост (в /etc/apache2/apache2.conf)
<VirtualHost *:80>
ServerName gitlab.example.com
ProxyPass / http://localhost:81
ProxyPassReverse / http://localhost:81
</VirtualHost>
Таким образом, я могу использовать gitlab через " http://gitlab.example.com/"