Android

Como instalar e configurar o gogs no ubuntu 18.04

Instalando Gogs no Linux

Instalando Gogs no Linux

Índice:

Anonim

Gogs é um servidor git de código aberto auto-hospedado, escrito em Go. Ele inclui um editor de arquivos de repositório, rastreamento de problemas do projeto e um wiki interno.

O Gogs é um aplicativo leve e pode ser instalado em sistemas de baixa potência. Se você está procurando uma alternativa ao Gitlab com uma pegada de memória muito menor e não precisa de todos os sinos e assobios que o Gitlab oferece, então você deve definitivamente experimentar o Gogs.

Este tutorial aborda as etapas para instalar e configurar o Gogs no Ubuntu 18.04. As mesmas instruções se aplicam ao Ubuntu 16.04 e a qualquer outra distribuição baseada em Ubuntu.

Antes de você começar

O Gogs pode usar o banco de dados SQLite, PostgreSQL ou MySQL / MariaDB para armazenar todos os seus dados.

Neste tutorial, usaremos o SQLite como o banco de dados de escolha. Se o SQLite não estiver instalado no seu sistema, você poderá instalá-lo digitando:

sudo apt install sqlite3

Para uma camada adicional de segurança, é recomendável configurar um firewall básico. Você pode seguir as etapas no guia Como configurar um firewall com UFW no Ubuntu 18.04.

Instalando Gogs

Vamos instalar o Gogs do binário. A instalação é um processo bastante direto.

Instale o Git

O primeiro passo é instalar o Git no seu servidor. Para fazer isso, atualize o índice do pacote local e instale o pacote git executando os seguintes comandos como usuário sudo:

sudo apt update sudo apt install git

Verifique a instalação exibindo a versão do Git:

git --version

git version 2.17.1

Crie um usuário Git

Crie um novo usuário do sistema para executar o serviço Gogs digitando:

sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git

O comando criará o usuário e definirá o diretório inicial como /home/git . A saída será semelhante a abaixo:

Adding system user `git' (UID 111)… Adding new group `git' (GID 116)… Adding new user `git' (UID 111) with group `git'… Creating home directory `/home/git'…

Baixar Gogs binário

Visite a página de download do Gogs e baixe o binário mais recente para sua arquitetura. No momento da redação deste artigo, a versão mais recente é 0.11.86. Se houver uma nova versão disponível, altere a variável VERSION no comando abaixo.

Faça o download do archive do Gogs no /tmp usando o seguinte comando wget:

VERSION=0.11.86 wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp

Após a conclusão do download, extraia o arquivo tar.gz do Gogs e mova-o para o diretório /home/git :

sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

Execute o seguinte comando para alterar a propriedade do diretório de instalação do Gogs para o usuário e o grupo git:

sudo chown -R git: /home/git/gogs

Criar um arquivo de unidade systemd

O Gogs vem com um arquivo de unidade Systemd que já está configurado para corresponder à nossa configuração.

Copie o arquivo para o diretório /etc/systemd/system/ digitando:

sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

Depois de concluído, inicie e ative o serviço Gogs:

sudo systemctl start gogs sudo systemctl enable gogs

Verifique se o serviço foi iniciado com sucesso:

* gogs.service - Gogs Loaded: loaded (/etc/systemd/system/gogs.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-04-25 04:13:44 PDT; 9s ago Main PID: 14376 (gogs) Tasks: 8 (limit: 2319) CGroup: /system.slice/gogs.service `-14376 /home/git/gogs/gogs web

Instale o Gogs usando o instalador da web

Agora que o Gogs está baixado e em execução, é hora de finalizar a instalação através da interface da web.

Abra seu navegador, digite http://YOUR_DOMAIN_IR_IP:3000 e uma tela semelhante à seguinte será exibida:

O primeiro usuário registrado é adicionado automaticamente ao grupo Admin.

É isso aí. O Gogs foi instalado na sua máquina Ubuntu.

Configurando o Nginx como proxy de terminação SSL

Esta etapa é opcional, mas é altamente recomendada. Para usar o Nginx como um proxy reverso, você precisa ter um domínio ou subdomínio apontando para o IP público do servidor. Neste tutorial, usaremos gogs.example.com .

Primeiro, instale o Nginx e gere um certificado SSL Let's Encrypt criptografado gratuitamente, seguindo os guias abaixo:

Depois de concluído, abra seu editor de texto e edite o arquivo de bloqueio do servidor de domínio:

sudo nano /etc/nginx/sites-enabled/gogs.example.com /etc/nginx/sites-enabled/gogs.example.com

server { listen 80; server_name gogs.example.com; include snippets/letsencrypt.conf; return 301 https://gogs.example.com$request_uri; } server { listen 443 ssl http2; server_name gogs.example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; client_max_body_size 50m; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/gogs.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/gogs.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/gogs.example.com/chain.pem; include snippets/letsencrypt.conf; include snippets/ssl.conf; # log files access_log /var/log/nginx/gogs.example.com.access.log; error_log /var/log/nginx/gogs.example.com.error.log; # Handle / requests location / { proxy_redirect off; proxy_pass http://127.0.0.1:3000; } }

Não se esqueça de substituir gogs.example.com pelo seu domínio Gogs e defina o caminho correto para os arquivos de certificado SSL. Todas as solicitações HTTP serão redirecionadas para Reinicie o serviço Nginx para que as alterações entrem em vigor:

sudo systemctl restart nginx

Em seguida, precisamos alterar o domínio Gogs e o URL raiz. Para fazer isso, abra o arquivo de configuração e edite as seguintes linhas:

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

DOMAIN = gogs.example.com ROOT_URL =

Reinicie o serviço Gogs digitando:

sudo systemctl restart gogs

Neste ponto, o Gogs está configurado e você pode acessá-lo em: https://gogs.example.com

Configurando notificações por email

Para que o Gogs possa enviar emails de notificação, você pode instalar o Postfix ou usar algum serviço de email transacional como SendGrid, MailChimp, MailGun ou SES.

Para ativar as notificações por email, abra o arquivo de configuração e edite as seguintes linhas:

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

ENABLED = true HOST = SMTP_SERVER:SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = YOUR_SMTP_PASSWORD

Certifique-se de colocar as informações corretas do servidor SMTP.

Reinicie o serviço Gogs para que as alterações entrem em vigor:

sudo systemctl restart gogs

O Gogs também permite que você se conecte ao Slack criando webhook na web e enviando notificações para seus canais do Slack.

Atualizando Gogs

Para atualizar o Gogs, são necessárias várias etapas manuais.

  1. Primeiro pare o serviço Gogs:

    sudo systemctl stop gogs

    Renomeie o diretório de instalação do Gogs.

    sudo mv /home/git/gogs{, _old}

    Faça o download da versão mais recente do Gogs e mova-a para o diretório /home/git :

    VERSION= wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

    Certifique-se de alterar VERSION com a versão atual do Gogs.

    Copie diretórios custom , de data e de log para o diretório extraído usando o seguinte comando rsync:

    sudo rsync -a /home/git/gogs_old/{custom, data, log} /home/git/gogs/

    Por fim, inicie o serviço Gogs:

    sudo systemctl restart gogs

É isso aí.

Conclusão

Este tutorial orientou você na instalação e configuração do Gogs no Ubuntu 18.04. Agora você pode criar seu primeiro projeto e começar a usar seu novo servidor Gogs.

ubuntu gogs