Como instalar o Gitea no Ubuntu 18.04

O Gitea é um sistema de controle de versão auto-hospedado alternativo, de código aberto, desenvolvido com o git. O Gitea está escrito em Golang e é uma solução leve para ser hospedada em qualquer plataforma.

Pré-requisitos

  • Nova instância do Vultr Ubuntu 18.04 com pelo menos 2 núcleos de CPU e 1 GB de RAM
  • Usuário não root com privilégios sudo.
  • Nginx
  • Git
  • MariaDB

Etapa 1: instalar o Nginx

Atualize sua instância do Vultr Ubuntu 18.04 Server.

sudo apt update

Instale o Nginx.

sudo apt -y install nginx

Uma vez instalado o Nginx, teste se está funcionando ou não, navegando na página de teste do nginx no navegador. Abra seu navegador da web e aponte-o parahttp://example.com

Os seguintes comandos podem ser usados ​​para parar, recarregar, reiniciar, verificar o status e ativar o Nginx.

sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl restart nginx.service
sudo systemctl reload nginx.service
sudo systemctl enable nginx.service

Etapa 2: instalar o Git

Instale o Git.

sudo apt -y install git

Depois de instalado, verifique a versão:

git --version
git version 2.17.1

Etapa 3: Instalar o servidor de banco de dados MariaDB

O Gitea suporta os seguintes bancos de dados

  • MariaDB / MySQL
  • PostgreSQL
  • SQLite
  • TiDB

Para este tutorial, instalaremos o servidor e o cliente MariaDB.

sudo apt -y install mariadb-server mariadb-client

Após a instalação do MariaDB, os comandos abaixo podem ser usados ​​para parar, iniciar, reiniciar, verificar o status e habilitá-lo.

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl restart mariadb.service
sudo systemctl status mariadb.service
sudo systemctl enable mariadb.service

Depois disso, execute o comando abaixo para proteger o servidor MariaDB criando uma senha root e proibindo o acesso root remoto.

sudo mysql_secure_installation

Quando solicitado, responda às perguntas abaixo seguindo o guia.

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

Reinicie o MariaDB.

sudo systemctl restart mariadb.service

Para testar se o MariaDB está instalado, digite o comando abaixo para fazer logon no servidor MariaDB

sudo mysql -u root -p

Em seguida, digite a senha que você criou acima para fazer o login. Você verá a mensagem de boas-vindas do MariaDB.

Crie um banco de dados chamado gitea.

CREATE DATABASE gitea;

Crie um usuário do banco de dados chamado giteausercom uma nova senha.

CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';

Em seguida, conceda ao usuário acesso total ao banco de dados.

GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

Por fim, salve suas alterações e saia.

FLUSH PRIVILEGES;
EXIT;

Etapa 4: preparar o ambiente Gitea

Crie um usuário para executar o Gitea.

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

Crie a estrutura de diretórios necessária.

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git:git /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

Etapa 5: instalar o Gitea

O binário Gitea pode ser baixado executando os seguintes comandos.

sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64 
sudo chmod +x gitea

Copie o binário para um local global.

sudo cp gitea /usr/local/bin/gitea

Etapa 6: Crie um arquivo de serviço para iniciar o Gitea automaticamente

Crie um arquivo de serviço linux.

sudo nano /etc/systemd/system/gitea.service

Preencha o arquivo com o seguinte.

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

Ative e inicie o Gitea na inicialização.

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

Execute o comando status.

sudo systemctl status gitea

● gitea.service - Gitea (Git with a cup of tea)
  Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: en
  Active: active (running) since Wed 2018-10-10 14:15:28 CDT; 19ms ago
 Main PID: 17769 (gitea)
   Tasks: 4 (limit: 2321)
  CGroup: /system.slice/gitea.service
       ├─17769 /usr/local/bin/gitea web -c /etc/gitea/app.ini
       └─17774 /usr/local/bin/gitea web -c /etc/gitea/app.ini

Etapa 7: configurar o Nginx como um proxy reverso

Exclua o arquivo de configuração padrão do nginx.

sudo rm /etc/nginx/sites-enabled/default

Crie uma configuração de proxy reverso para o Gitea.

sudo nano /etc/nginx/sites-available/git

Preencha o arquivo com a seguinte configuração.

upstream gitea {
    server 127.0.0.1:3000;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name example.com;
    root /var/lib/gitea/public;
    access_log off;
    error_log off;

    location / {
      try_files maintain.html $uri $uri/index.html @node;
    }

    location @node {
      client_max_body_size 0;
      proxy_pass http://localhost:3000;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_max_temp_file_size 0;
      proxy_redirect off;
      proxy_read_timeout 120;
    }
}

Habilite a configuração de proxy reverso do Gitea Nginx.

sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled

Em seguida, recarregue o serviço Nginx.

sudo systemctl reload nginx.service

Em seguida, abra o navegador e navegue até o nome do host ou o endereço IP do servidor.

http://example.com/install

Siga as instruções na tela para concluir a configuração do Gitea.



Leave a Comment

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.