Gitea: mudanças entre as edições

De MochilaWiki
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
 
(15 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
Atualizando o sistema e instalando git
== Atualizando o sistema e instalando git ==
<source lang="bash">
<source lang="bash">
sudo apt -y update
sudo apt -y update
Linha 5: Linha 5:
</source>
</source>


adicionando usuário git para Gitea
== adicionando usuário git para Gitea ==
<source lang="bash">
<source lang="bash">
sudo adduser \
sudo adduser \
Linha 17: Linha 17:
</source>
</source>


== criando usuário e banco de dados em PostgreSQL ==
<source lang="bash">
createuser gitea
createdb -O gitea gitea
</source>
e em /var/lib/postgres/data/pg_hba.conf insira
local    gitea          gitea          peer
== criando usuário e banco de dados em MySQL ==
Instalando MySQL
<source lang="bash">
sudo apt -y install mysql-server
</source>
Acessando o prompt do MySQL
<source lang="bash">
$ sudo mysql -u root -p
</source>
Criando o banco de dados e usuário
<source lang="mysql">
CREATE DATABASE gitea;
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY "StrongP@ssword";
FLUSH PRIVILEGES;
QUIT;
</source>
== Configuração Apache 2 ==
<source lang="bash">
sudo apt-get install apache2 -y
echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo touch /etc/apache2/sites-available/gitea.conf
sudo a2ensite gitea
sudo nano /etc/apache2/sites-available/gitea.conf
</source>
Caso queirá desativar a configuração de vhost padrão do Apache rode o comando
<source lang="bash">
sudo a2dissite 000-default.conf
</source>
Configuração do Apache
<source lang="apache">
<VirtualHost *:80>
    ServerName git.example.com
    ProxyPreserveHost On
    ProxyRequests off
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</VirtualHost>
</source>
Reiniciando o Apache
<source lang="bash">
sudo service apache2 stop
sudo service apache2 start
systemctl status apache2.service
</source>


== Configurando Nginx ==
<source lang="bash">
apt -y install nginx
</source>
rode o comando
<source lang="bash">
sudo nano /etc/nginx/conf.d/gitea.conf
</source>
e copiei o conteúdo
<source lang="nginx">
server {
    listen 80;
    server_name git.example.com;
    location / {
        proxy_pass http://localhost:3000;
    }
}
</source>
reiniciando o Nginx
<source lang="bash">
sudo systemctl restart nginx
</source>
== Instalando Gitea no Debian 8 / Ubuntu 18.04 ==
<source lang="bash">
export VER=1.13.0
wget https://github.com/go-gitea/gitea/releases/download/v${VER}/gitea-${VER}-linux-amd64
chmod +x gitea-${VER}-linux-amd64
sudo mv gitea-${VER}-linux-amd64 /usr/local/bin/gitea
sudo mkdir -p /etc/gitea /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 chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
</source>
rode o comando
<source lang="bash">
sudo nano /etc/systemd/system/gitea.service
</source>
e copiei o conteúdo
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mysql.service
[Service]
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
[Install]
WantedBy=multi-user.target
Habilitando e iniciando o Giteia
<source lang="bash">
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl restart gitea
</source>
O arquivo de configuração fica em /etc/gitea/app.ini
== Configuração de Mailer ==
[mailer]
ENABLED = true
USE_SENDMAIL = true
FROM = git@seudominio.com.br
SENDMAIL_PATH = /usr/sbin/sendmail
SENDMAIL_ARGS = -S mail.seudominio.com.br
== backup ==
<source lang="bash">
su - git
gitea dump -c /etc/gitea/app.ini
</source>
em /etc/cron.daily/backup_gitea
#!/bin/bash
cd "/home/git/"
su - git -s /bin/bash -c  '/usr/local/bin/gitea dump -c /etc/gitea/app.ini'
Retenção
em /etc/cron.weekly/gitea-retencao
#!/bin/bash
find /home/git -name "*.zip" -type f -mtime +30 -delete
<source lang="bash">
chmod +x /etc/cron.weekly/gitea-retencao
/etc/init.d/cron restart
</source>


== Referências ==
* https://gitea.io/pt-br/
* https://gitea.io/pt-br/
* https://computingforgeeks.com/install-gitea-git-service-on-debian-10-buster/
* https://computingforgeeks.com/install-gitea-git-service-on-debian-10-buster/
* https://www.digitalocean.com/community/questions/how-do-i-setup-gitea-with-a-domain-name-or-sub-domain
* https://www.digitalocean.com/community/questions/how-do-i-setup-gitea-with-a-domain-name-or-sub-domain
* https://wiki.archlinux.org/index.php/Gitea

Edição atual tal como às 11h36min de 23 de maio de 2022

Atualizando o sistema e instalando git

sudo apt -y update
sudo apt -y install git bash-completion

adicionando usuário git para Gitea

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

criando usuário e banco de dados em PostgreSQL

createuser gitea
createdb -O gitea gitea

e em /var/lib/postgres/data/pg_hba.conf insira

local    gitea           gitea           peer

criando usuário e banco de dados em MySQL

Instalando MySQL

sudo apt -y install mysql-server

Acessando o prompt do MySQL

$ sudo mysql -u root -p

Criando o banco de dados e usuário

CREATE DATABASE gitea;
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY "StrongP@ssword";
FLUSH PRIVILEGES;
QUIT;

Configuração Apache 2

sudo apt-get install apache2 -y
echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo touch /etc/apache2/sites-available/gitea.conf
sudo a2ensite gitea
sudo nano /etc/apache2/sites-available/gitea.conf

Caso queirá desativar a configuração de vhost padrão do Apache rode o comando

sudo a2dissite 000-default.conf

Configuração do Apache

<VirtualHost *:80>
    ServerName git.example.com
    ProxyPreserveHost On
    ProxyRequests off
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</VirtualHost>

Reiniciando o Apache

sudo service apache2 stop
sudo service apache2 start
systemctl status apache2.service

Configurando Nginx

apt -y install nginx

rode o comando

sudo nano /etc/nginx/conf.d/gitea.conf

e copiei o conteúdo

server {
    listen 80;
    server_name git.example.com;

    location / {
        proxy_pass http://localhost:3000;
    }
}

reiniciando o Nginx

sudo systemctl restart nginx

Instalando Gitea no Debian 8 / Ubuntu 18.04

export VER=1.13.0
wget https://github.com/go-gitea/gitea/releases/download/v${VER}/gitea-${VER}-linux-amd64
chmod +x gitea-${VER}-linux-amd64
sudo mv gitea-${VER}-linux-amd64 /usr/local/bin/gitea
sudo mkdir -p /etc/gitea /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 chown root:git /etc/gitea
sudo chmod 770 /etc/gitea


rode o comando

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

e copiei o conteúdo

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mysql.service

[Service]
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

[Install]
WantedBy=multi-user.target

Habilitando e iniciando o Giteia

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl restart gitea

O arquivo de configuração fica em /etc/gitea/app.ini

Configuração de Mailer

[mailer]
ENABLED = true
USE_SENDMAIL = true
FROM = git@seudominio.com.br
SENDMAIL_PATH = /usr/sbin/sendmail
SENDMAIL_ARGS = -S mail.seudominio.com.br

backup

su - git
gitea dump -c /etc/gitea/app.ini

em /etc/cron.daily/backup_gitea

#!/bin/bash
cd "/home/git/"
su - git -s /bin/bash -c  '/usr/local/bin/gitea dump -c /etc/gitea/app.ini'

Retenção em /etc/cron.weekly/gitea-retencao

#!/bin/bash
find /home/git -name "*.zip" -type f -mtime +30 -delete
chmod +x /etc/cron.weekly/gitea-retencao
/etc/init.d/cron restart

Referências