Mudanças entre as edições de "Gitea"
De MochilaWiki
Ir para navegaçãoIr para pesquisar (→backup) |
|||
(13 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 27: | Linha 27: | ||
== criando usuário e banco de dados em MySQL == | == 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"> | <source lang="bash"> | ||
sudo apt-get install apache2 -y | sudo apt-get install apache2 -y | ||
− | echo "ServerName localhost" | + | echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf |
sudo a2enmod proxy | sudo a2enmod proxy | ||
sudo a2enmod proxy_http | sudo a2enmod proxy_http | ||
Linha 37: | Linha 57: | ||
</source> | </source> | ||
+ | Caso queirá desativar a configuração de vhost padrão do Apache rode o comando | ||
<source lang="bash"> | <source lang="bash"> | ||
− | |||
sudo a2dissite 000-default.conf | sudo a2dissite 000-default.conf | ||
</source> | </source> | ||
Linha 60: | Linha 80: | ||
</source> | </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 | * https://wiki.archlinux.org/index.php/Gitea |
Edição atual tal como às 14h36min 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