Instalando Gogs no Linux
Índice:
- Antes de você começar
- Instalando Gogs
- Instale o Git
- Crie um usuário Git
- Baixar Gogs binário
- Criar um arquivo de unidade systemd
- Instale o Gogs usando o instalador da web
- Configurando o Nginx como proxy de terminação SSL
- Configurando notificações por email
- Atualizando Gogs
- Conclusão
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
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.
-
Primeiro pare o serviço Gogs:
sudo systemctl stop gogsRenomeie 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 /tmpsudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/gitCertifique-se de alterar
VERSIONcom a versão atual do Gogs.Copie diretórios
custom, dedatae delogpara 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 gogsUse o aplicativo Configurar os PCs da escola para configurar PCs com Windows em Escolas Baixe o aplicativo Configurar computadores da escola na Windows Store e use-o para configurar rapidamente seus computadores Windows 10 para melhores opções de aprendizado para os alunos
Os computadores agora se tornaram parte integrante da educação nas escolas, e quase todas as boas escolas têm os sistemas de computador definidos para seus alunos. O único problema com a educação em informática na escola ocorre quando os alunos se distraem com vários aplicativos e recursos dos PCs.
Como instalar e configurar um servidor nfs no ubuntu 18.04
O Network File System (NFS) é um protocolo de sistema de arquivos distribuído que permite compartilhar diretórios remotos em uma rede. Neste tutorial, veremos como configurar um servidor NFSv4 no Ubuntu 18.04.
Como instalar e configurar o redis no ubuntu 18.04
Redis é um armazenamento de estrutura de dados de memória de código aberto. Ele pode ser usado como banco de dados, cache e intermediário de mensagens e suporta várias estruturas de dados, como Strings, Hashes, Lists, Sets, etc. Este tutorial descreve como instalar e configurar o Redis em um servidor Ubuntu 18.04.







