Tentando instalar o GitLab no Apache no CentOS 7

3

Comunidade Hey SuperUser, Eu sou novo neste fórum, então vou fazer isso rápido. Sou um administrador de sistema amador do CentOS. Eu estou ensinando a mim mesmo enquanto vou, mas recentemente acabei com um obstáculo. Estou tentando instalar o GitLab, mas quero instalá-lo em um servidor da web Apache no meu VPS.

Eu sei que o GitLab foi criado para o nginx, mas honestamente não quero usá-lo. Eu queria saber como eu poderia ter uma configuração para que

  • mysite.com recuperaria os arquivos (como index.html, pastas com mais arquivos neles, etc.) em / var / www / html
  • lab.mysite.com recuperaria o GitLab.

Eu ouvi dizer que você deveria usar um host virtual, mas lembre-se, eu ainda sou um amador na melhor das hipóteses com esse tipo de coisa, então se alguém aqui é gentil o suficiente para fazer um pequeno passo-a-passo guia para fazer isso, eu aprecio isso.

Nota: Antes de usar este guia para instalar o GitLab , no entanto, isso é para o Nginx, então eu Estava me perguntando se eu deveria usar este guia, mas depois adicioná-lo, ou se eu estou fazendo tudo errado.

Eu apenas limpei meu VPS para poder começar de novo. Eu sei como instalar o LAMP, Git e tudo isso, então, por favor, me diga em que ponto este guia passo-a-passo eu deveria.

Muito obrigado Milhas.

    
por Miles Jefferson 01.05.2016 / 22:57

2 respostas

0

Já executei o Gitlabs antes, mas nunca com o Apache, mas uma pesquisa rápida no Google revelou uma escassez de informações. Em geral, parece que você precisa instalar o Gitlabs eo Apache, editar a configuração do Gitlabs, adicionar o usuário Apache ao grupo Gitlabs, criar um arquivo VirtualHosts para que o Apache hospede o Gitlabs em vez do nginx, habilite o novo arquivo VirtualHosts, modifique o Apache se necessário, e reinicie o Apache e o Gitlabs, se necessário. Esses links [1] [2] [3] [4] [5 ] entre em maiores detalhes e deve ajudá-lo.

    
por 02.05.2016 / 00:20
1

Eu respondi recentemente isso, incluindo algumas instruções aqui:

link

Não tenho certeza se isso é considerado repostagem, mas aqui estão essas instruções novamente:

Por padrão, o GitLab instalará o nginx, mas normalmente não adicionará o nginx ao gerenciador de serviços do seu sistema (service ou systemctl). Isso torna confuso ao tentar habilitar o Apache (o Apache não inicia devido à porta padrão 80 em uso pelo nginx).

Supondo que você tenha instalado o Gitlab de acordo com as instruções de instalação padrão, o serviço Nginx agora será gerenciado pelo gerenciador de serviços gitlab-ctl (que é instalado quando instalado o Gitlab).

Para interromper o Nginx, execute o seguinte em uma linha de comando como root:

gitlab-ctl stop nginx

Agora que a porta 80 está livre, você pode iniciar o Apache (não se esqueça de instalar o Apache, caso ainda não esteja, / As instruções são para sistemas RHEL - modifique de acordo com o Ubuntu, etc.). Assume que você é usuário root:

yum install -y httpd;
systemctl start httpd;
systemctl enable httpd;

Vamos editar o arquivo de configuração do Gitlab para desativar o nginx e dizer ao gitlab para usar o apache:

vi /etc/gitlab/gitlab.rb

Adicione seu domínio ou IP ao seguinte:

external_url 'http://git.yourdomain.com/'

Encontrar:

# web_server['external_users'] = []

Mude para (não se esqueça de remover o primeiro '#'):

web_server['external_users'] = ['apache']

Encontrar:

# nginx['enable'] = true

Mude para:

nginx['enable'] = false

E finalmente temos que executar uma "recompilação" com:

gitlab-ctl reconfigure

gitlab-ctl restart

Agora a configuração do Apache. Quando instalamos o Gitlab, ele adicionou um grupo de usuários chamado gitlab-www. Precisamos permitir o acesso do usuário do apache a esse grupo. O seguinte assume que você instalou o apache e o usuário apache (48) existe:

Para verificar em qual grupo o gitlab está instalado, você pode executar:

getent group

Agora vamos modificar o usuário do apache e adicioná-lo ao grupo gitlab-www:

usermod apache --append --groups gitlab-www

Agora precisamos de um host virtual Apache para apontar para a instalação do gitlab.

Adicione um host virtual ao diretório conf.d do Apache (isso criará um novo arquivo):

vi /etc/httpd/conf.d/gitlab.conf

Adicione o seguinte (ajuste de acordo com as suas necessidades):

<VirtualHost *:80>
    ServerName git.yourdomain.com
    ServerSignature Off

    ProxyPreserveHost On

    <Location />
      Order deny,allow
      Allow from all

      ProxyPassReverse http://127.0.0.1:8080
      ProxyPassReverse http://git.yourdomain.com/
    </Location>

    RewriteEngine on
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
    RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]

    # needed for downloading attachments
    DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public

    ErrorLog /var/log/httpd/error_log
    CustomLog /var/log/httpd/access_log combined env=!dontlog
</VirtualHost>

... e agora reinicie o Apache:

systemctl start httpd

Você pode encontrar problemas com coisas como selinux - Você pode definir as coisas como permissivas para fins de depuração.

setenforce 0

Espero que isso ajude alguém!

    
por 15.12.2016 / 17:08