Gitea é um servidor git auto-hospedado rápido e fácil de usar escrito em Go. Inclui um editor de arquivo de repositório, rastreamento de problemas de projeto, gerenciamento de usuário, notificações, wiki integrado e muito mais.
Gitea é 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 recursos que o Gitlab oferece, experimente o Gitea.
Este artigo explica como instalar e configurar o Gitea no Ubuntu 20.04.
Pré-requisitos #
Gitea oferece suporte a SQLite, PostgreSQL e MySQL / MariaDB como back-ends de banco de dados.
SQLite é recomendado apenas para pequenas instalações. Instalações maiores devem usar MySQL ou PostgreSQL.
Usaremos SQLite como banco de dados para Gitea. Se o SQLite não estiver instalado em seu sistema Ubuntu, instale-o inserindo os seguintes comandos como usuário sudo:
atualização do apt sudo
sudo apt install sqlite3
Instalando Gitea #
Gitea fornece imagens Docker e pode ser instalado a partir do código-fonte, binário e como um pacote. Vamos instalar o Gitea a partir do binário.
Instale Git #
A primeira etapa é instalar o Git em seu servidor:
atualização do apt sudo
sudo apt install git
Verifique a instalação exibindo a versão do Git:
git --version
git versão 2.25.1
Crie um usuário Git #
Crie um novo usuário do sistema que executará o aplicativo Gitea digitando:
sudo adduser \
--sistema \
--shell / bin / bash \
--gecos 'Controle de versão Git' \
--grupo \
--senha desativada \
--home / home / git \
idiota
O comando acima cria um novo usuário e grupo chamado idiota
, e definir o diretório inicial para / home / git
. A saída será semelhante a abaixo:
Adicionando usuário do sistema 'git' (UID 112) ... Adicionando novo grupo 'git' (GID 118) ... Adicionando novo usuário 'git' (UID 112) com o grupo 'git' ... Criando diretório inicial '/ home / git' ..
Baixe o binário Gitea #
Vá para a página de download do Gitea e baixe o binário mais recente para sua arquitetura. No momento em que este artigo foi escrito, a versão mais recente é 1.10.2. Se houver uma nova versão disponível, altere o VERSÃO
variável no comando abaixo.
Usar wget
para baixar o binário Gitea no / tmp
diretório:
VERSÃO = 1.14.1
sudo wget -O / tmp / gitea https: // dl.gitea.io / gitea / $ VERSION / gitea - $ VERSION -linux-amd64
Você pode executar o gitea
binário de qualquer local. Seguiremos a convenção e moveremos o binário para o / usr / local / bin
diretório:
sudo mv / tmp / gitea / usr / local / bin
Torne o executável binário:
sudo chmod + x / usr / local / bin / gitea
Execute os comandos abaixo para criar os diretórios e definir as permissões e propriedade necessárias:
sudo mkdir -p / var / lib / gitea / custom, data, log
sudo chown -R git: git / var / lib / gitea /
sudo chmod -R 750 / var / lib / gitea /
sudo mkdir / etc / gitea
sudo chown root: git / etc / gitea
sudo chmod 770 / etc / gitea
A estrutura de diretório acima é recomendada pela documentação oficial do Gitea.
As permissões do / etc / gitea
diretório está definido para 770
para que o assistente de instalação possa criar o arquivo de configuração. Assim que a instalação for concluída, definiremos permissões mais restritivas.
Criar um Arquivo de Unidade Systemd #
Vamos executar o Gitea como um serviço systemd.
Baixe o arquivo de amostra da unidade systemd para o / etc / systemd / system
diretório digitando:
sudo wget https: // raw.githubusercontent.com / go-gitea / gitea / main / contrib / systemd / gitea.serviço -P / etc / systemd / system /
Você não precisa editar o arquivo, ele está configurado para corresponder à nossa configuração.
Habilite e inicie o serviço Gitea:
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
Verifique se o Gitea está em execução:
sudo systemctl status gitea
● gitea.serviço - Gitea (Git com uma xícara de chá) Carregado: carregado (/ etc / systemd / system / gitea.serviço; ativado; Predefinição do fornecedor: habilitado) Ativo: ativo (em execução) desde Qui 2021-05-06 05:32:04 UTC; 7s atrás PID principal: 77781 (gitea) Tarefas: 6 (limite: 470) Memória: 130.6M CGroup: / system.slice / gitea.serviço └─77781 / usr / local / bin / gitea web --config / etc / gitea / app.ini…
Configurar Gitea #
Agora que o Gitea foi baixado e executado, podemos finalizar a instalação por meio da interface da web.
Por padrão, o Gitea escuta as conexões na porta 3000
em todas as interfaces de rede.
Se você tiver um firewall UFW em execução no seu servidor, será necessário abrir a porta Gitea. Para permitir o tráfego na porta 3000
, digite o seguinte comando:
sudo ufw allow 3000 / tcp
Abra seu navegador, digite http: // YOUR_DOMAIN_IR_IP: 3000
, e uma tela semelhante à seguinte aparecerá:
Configurações do banco de dados:
- Tipo de banco de dados: SQLite3
- Caminho: use um caminho absoluto,
/ var / lib / gitea / data / gitea.db
Configurações gerais do aplicativo:
- Título do site: digite o nome da sua organização.
- Caminho raiz do repositório: deixe o padrão
var / lib / gitea / data / gitea-repositories
. - Git LFS Root Path: Deixe o padrão
/ var / lib / gitea / data / lfs
. - Executar como nome de usuário: git
- Domínio do servidor SSH: digite seu domínio ou endereço IP do servidor.
- Porta SSH: 22, altere se o SSH estiver escutando em outra porta
- Porta de escuta Gitea HTTP: 3000
- Gitea Base URL: Use http e seu domínio ou endereço IP do servidor.
- Caminho de registro: deixe o padrão
/ var / lib / gitea / log
Para iniciar a instalação, clique no botão “Instalar Gitea”.
A instalação é instantânea. Depois de concluído, você será redirecionado para a página de login.
Clique no link “Precisa de uma conta? Registrar agora." link. O primeiro usuário registrado é adicionado automaticamente ao grupo Admin.
Altere as permissões do arquivo de configuração Gitea para somente leitura usando:
sudo chmod 750 / etc / gitea
sudo chmod 640 / etc / gitea / app.ini
É isso. Gitea foi instalado em sua máquina Ubuntu.
Configurando Nginx como SSL Termination Proxy #
Esta etapa é opcional, mas é altamente recomendada. A rescisão SSL significa que o Nginx atuará como um ponto intermediário entre o aplicativo Gitea e os clientes da web para que você possa acessar o Gitea via HTTPS.
Para usar o Nginx como proxy reverso, você precisa ter um domínio ou subdomínio apontando para o IP público do seu servidor. Neste exemplo, usaremos idiota.exemplo.com
.
Primeiro, instale o Nginx e gere um certificado Let's Encrypt SSL gratuito usando os guias abaixo:
- Como instalar o Nginx no Ubuntu 20.04
- Proteja o Nginx com Let's Encrypt no Ubuntu 20.04
Uma vez feito isso, abra seu editor de texto e edite o arquivo de bloqueio do servidor de domínio:
sudo nano / etc / nginx / sites-enabled / git.exemplo.com
/ etc / nginx / sites-enabled / git.exemplo.comservidor escuta 80; server_name git.exemplo.com; incluir snippets / letsencrypt.conf; return 301 https: // git.exemplo.com $ request_uri; servidor ouvir 443 ssl http2; server_name git.exemplo.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; client_max_body_size 50m; # Cabeçalhos de proxy proxy_set_header X-Forwarded-Host $ host; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; esquema proxy_set_header X-Forwarded-Proto $; proxy_set_header X-Real-IP $ remote_addr; # Parâmetros SSL ssl_certificate / etc / letsencrypt / live / git.exemplo.com / fullchain.pem; ssl_certificate_key / etc / letsencrypt / live / git.exemplo.com / privkey.pem; ssl_trusted_certificate / etc / letsencrypt / live / git.exemplo.com / cadeia.pem; incluir snippets / letsencrypt.conf; incluir snippets / ssl.conf; # log files access_log / var / log / nginx / git.exemplo.com.Acesso.registro; error_log / var / log / nginx / git.exemplo.com.erro.registro; # Manipular / solicitar localização / proxy_redirect off; proxy_pass http: // 127.0.0.1: 3000;
Não se esqueça de substituir o git.exemplo.com com o seu domínio Gitea e defina o caminho correto para os arquivos de certificado SSL. O tráfego HTTP é redirecionado para HTTPS
Reinicie o serviço Nginx para que as alterações tenham efeito:
sudo systemctl restart nginx
Em seguida, altere o domínio Gitea e o URL raiz. Para fazer isso, abra o arquivo de configuração e edite as seguintes linhas:
sudo nano / etc / gitea / app.ini
/ etc / gitea / app.ini[servidor] DOMAIN = git.exemplo.com ROOT_URL = https: // git.exemplo.com /
Reinicie o serviço Gitea digitando:
sudo systemctl restart gitea
Neste ponto, o proxy Gitea está configurado e você pode acessá-lo em: https: // git.exemplo.com
Configurando notificações por e-mail #
Se você deseja que sua instância do Gitea envie emails de notificação, você pode instalar o Postfix ou usar algum serviço de email transacional, como SendGrid, MailChimp, MailGun ou SES.
Para habilitar notificações por e-mail, abra o arquivo de configuração e edite as seguintes linhas:
sudo nano / etc / gitea / app.ini
/ etc / gitea / app.ini[mailer] 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 Gitea para que as alterações tenham efeito:
sudo systemctl restart gitea
Para verificar as configurações e enviar um e-mail de teste, faça login no Gitea e vá para: Administração do site> Configuração> Configuração do SMTP Mailer.
O Gitea também permite que você se conecte ao Slack criando um webhook e envie notificações aos seus canais do Slack .
Atualizando Gitea #
Para atualizar para a versão mais recente do Gitea, basta baixar e substituir o binário.
Pare o serviço Gitea:
sudo systemctl stop gitea
Baixe a versão mais recente do Gitea e mova-a para o
/ usr / local / bin
diretório:VERSÃO =
wget -O / tmp / gitea https: // dl.gitea.io / gitea / $ VERSION / gitea - $ VERSION -linux-amd64
sudo mv / tmp / gitea / usr / local / bin
Torne o executável binário:
sudo chmod + x / usr / local / bin / gitea
Reinicie o serviço Gitea:
sudo systemctl restart gitea
É isso.
Conclusão #
Este tutorial o guiou pela instalação do Gitea no Ubuntu 20.04. Para obter mais informações sobre como configurar sua instância Gitea e criar seu primeiro projeto, visite a página de documentação do Gitea .
Se você tiver dúvidas, fique à vontade para deixar um comentário abaixo.