🚀 Instalação completa do Gitea com todos os scripts e documentação

This commit is contained in:
Admin
2025-11-16 21:49:21 +00:00
commit 17c2f8e219
15 changed files with 1800 additions and 0 deletions

12
.gitignore vendored Normal file
View File

@@ -0,0 +1,12 @@
# Dados sensíveis
data/
postgres/
*.log
*.key
*.pem
# Arquivos temporários
*.tmp
*.bak
*~

129
ACESSO_RAPIDO.txt Normal file
View File

@@ -0,0 +1,129 @@
╔════════════════════════════════════════════════════════════════════╗
║ ║
║ 🎉 GITEA INSTALADO COM SUCESSO! 🎉 ║
║ ║
║ Seu repositório Git privado está pronto! ║
║ ║
╚════════════════════════════════════════════════════════════════════╝
📍 ACESSO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🌐 URL: http://meurepositorio.com
🔒 HTTPS: https://meurepositorio.com (após configurar SSL)
📁 Localização: /root/gitea/
⚡ COMANDOS RÁPIDOS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Verificar status do sistema
/root/gitea/check-system.sh
# Ver status dos containers
/root/gitea/manage-gitea.sh status
# Ver logs em tempo real
/root/gitea/manage-gitea.sh logs
# Reiniciar sistema
/root/gitea/manage-gitea.sh restart
# Fazer backup
/root/gitea/manage-gitea.sh backup
🔐 CONFIGURAR SSL (HTTPS) - IMPORTANTE!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ ANTES: Configure o DNS para apontar para este servidor!
Depois execute:
cd /root/gitea
./configure-ssl.sh
📚 DOCUMENTAÇÃO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📖 Documentação completa: /root/gitea/README.md
🚀 Guia rápido: /root/gitea/QUICK_START.txt
📋 Resumo instalação: /root/gitea/INSTALACAO_COMPLETA.txt
⚙️ Verificar sistema: /root/gitea/check-system.sh
🔧 SCRIPTS DISPONÍVEIS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
/root/gitea/manage-gitea.sh - Gerenciar Gitea
/root/gitea/configure-ssl.sh - Configurar HTTPS/SSL
/root/gitea/check-system.sh - Verificar status do sistema
💾 INFORMAÇÕES DO SISTEMA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Container Gitea: gitea (gitea/gitea:latest)
Container Database: gitea-db-1 (postgres:14)
Reverse Proxy: Nginx
Portas:
- HTTP: 80
- HTTPS: 443 (após SSL)
- Git SSH: 222
🔄 PRÓXIMOS PASSOS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. ✓ Gitea instalado e rodando
2. ✓ Nginx configurado
3. ⚠️ Configurar DNS (aponte para o IP deste servidor)
4. ⚠️ Configurar SSL/HTTPS (execute ./configure-ssl.sh)
5. ⚠️ Acessar e configurar o Gitea pela primeira vez
6. ⚠️ Criar sua conta de administrador
🎯 PRIMEIRO ACESSO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Acesse: http://meurepositorio.com
2. Complete o formulário de instalação:
- Database Type: PostgreSQL ✓ (já configurado)
- Host: db:5432 ✓
- Username: gitea ✓
- Password: gitea ✓
- Database Name: gitea ✓
3. Configure o site:
- Server Domain: meurepositorio.com
- SSH Server Port: 222
- HTTP Port: 3000
- Base URL: http://meurepositorio.com (ou https:// após SSL)
4. Crie sua conta de administrador:
- Username: (seu usuário)
- Password: (senha forte)
- Email: (seu email)
5. Clique em "Install Gitea"
📞 SUPORTE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Documentação oficial: https://docs.gitea.io
Comunidade: https://discourse.gitea.io
GitHub: https://github.com/go-gitea/gitea
╔════════════════════════════════════════════════════════════════════╗
║ ║
║ ✨ Seu repositório Git privado está pronto para uso! ✨ ║
║ ║
║ Para ver o guia rápido: cat /root/gitea/QUICK_START.txt ║
║ ║
╚════════════════════════════════════════════════════════════════════╝

79
FIREWALL_INFO.txt Normal file
View File

@@ -0,0 +1,79 @@
╔══════════════════════════════════════════════════════════════════╗
║ IMPORTANTE: PORTA 443 (HTTPS) BLOQUEADA ║
╚══════════════════════════════════════════════════════════════════╝
O certificado SSL está instalado e funcionando corretamente no servidor,
MAS a porta 443 está sendo bloqueada externamente.
SITUAÇÃO ATUAL:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✓ Porta 80 (HTTP): ACESSÍVEL
✗ Porta 443 (HTTPS): BLOQUEADA (firewall externo)
✓ Nginx: FUNCIONANDO
✓ SSL: INSTALADO
COMO RESOLVER:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. PROVEDOR CLOUD/VPS (AWS, Azure, DigitalOcean, Contabo, etc.)
────────────────────────────────────────────────────────────────
- Acesse o painel de controle do provedor
- Vá em "Security Groups" ou "Firewall Rules"
- Adicione regra permitindo tráfego de entrada na porta 443/TCP
- Origem: 0.0.0.0/0 (qualquer lugar) ou IPs específicos
2. ROTEADOR/FIREWALL LOCAL
────────────────────────────────────────────────────────────────
- Acesse a interface administrativa do roteador
- Vá em "Port Forwarding" ou "NAT"
- Configure:
* Porta externa: 443
* Porta interna: 443
* IP interno: 172.16.60.149
* Protocolo: TCP
3. FIREWALL CORPORATIVO
────────────────────────────────────────────────────────────────
- Entre em contato com o administrador de rede
- Solicite liberação da porta 443 TCP de entrada
TESTAR APÓS LIBERAR:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Testar porta 443 aberta
telnet meurepositorio.com 443
# Ou usar netcat
nc -zv meurepositorio.com 443
# Ou no navegador
https://meurepositorio.com
SE NÃO PUDER LIBERAR A PORTA 443:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Você pode usar o Gitea temporariamente via HTTP:
http://meurepositorio.com
Porém isso NÃO é seguro para produção (senhas e dados trafegam sem
criptografia).
INFORMAÇÕES TÉCNICAS:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
IP Público: 187.102.179.100
IP Local: 172.16.60.149
Servidor atrás de NAT: SIM
Nginx está escutando em:
0.0.0.0:80 ✓
0.0.0.0:443 ✓ (mas bloqueado externamente)
Certificado SSL:
/etc/letsencrypt/live/meurepositorio.com/fullchain.pem
Válido até: Feb 14 15:32:53 2026 GMT
═══════════════════════════════════════════════════════════════════

330
GUIA_CURSOR.md Normal file
View File

@@ -0,0 +1,330 @@
# 🎯 Como Usar seu Gitea com o Cursor
Seu repositório Gitea funciona **exatamente como GitHub** com o Cursor!
---
## 📋 Pré-requisitos
1. ✅ Gitea configurado (você já tem!)
2. ✅ Conta de usuário criada no Gitea
3. ✅ Cursor instalado no seu computador
---
## 🚀 Método 1: Clone via HTTPS (Mais Fácil)
### Passo 1: Criar repositório no Gitea
1. Acesse: `https://meurepositorio.com`
2. Faça login
3. Clique no **"+"** (canto superior direito)
4. Selecione **"New Repository"**
5. Preencha:
- Nome: `meu-projeto`
- Descrição: (opcional)
- Privado ou Público
6. Clique em **"Create Repository"**
### Passo 2: Clonar no Cursor
**No Cursor:**
1. Pressione `Ctrl+Shift+P` (ou `Cmd+Shift+P` no Mac)
2. Digite: `Git: Clone`
3. Cole a URL: `https://meurepositorio.com/seuusuario/meu-projeto.git`
4. Escolha a pasta onde clonar
5. Digite seu **usuário** e **senha** do Gitea
Pronto! Seu repositório está clonado e pronto para usar no Cursor! 🎉
### Comandos Git no Cursor
Depois de clonar, você pode usar Git normalmente:
- **Commit**: `Ctrl+Shift+G` → Digite mensagem → Clique no ✓
- **Push**: Clique nos `...``Push`
- **Pull**: Clique nos `...``Pull`
- **Criar Branch**: Canto inferior esquerdo → Clique no nome da branch
---
## 🔐 Método 2: Clone via SSH (Recomendado para Uso Frequente)
Mais seguro e não precisa digitar senha toda vez!
### Passo 1: Gerar chave SSH (se ainda não tem)
**No seu computador:**
```bash
# Linux/Mac/Windows (Git Bash)
ssh-keygen -t ed25519 -C "seu-email@example.com"
# Pressione Enter para aceitar o local padrão
# Pressione Enter para senha vazia (ou defina uma)
```
### Passo 2: Copiar a chave pública
```bash
# Linux/Mac
cat ~/.ssh/id_ed25519.pub
# Windows (PowerShell)
type $env:USERPROFILE\.ssh\id_ed25519.pub
# Windows (Git Bash)
cat ~/.ssh/id_ed25519.pub
```
Copie todo o conteúdo (começa com `ssh-ed25519 ...`)
### Passo 3: Adicionar no Gitea
1. Acesse: `https://meurepositorio.com`
2. Faça login
3. Clique no **avatar** (canto superior direito) → **Settings**
4. No menu lateral: **SSH / GPG Keys**
5. Clique em **Add Key**
6. Cole a chave pública
7. Dê um nome (ex: "Meu Computador")
8. Clique em **Add Key**
### Passo 4: Clonar via SSH
**No Cursor:**
1. Pressione `Ctrl+Shift+P` (ou `Cmd+Shift+P`)
2. Digite: `Git: Clone`
3. Cole a URL SSH: `ssh://git@meurepositorio.com:222/seuusuario/meu-projeto.git`
⚠️ **Importante**: Note a porta **222** (não é 22!)
4. Escolha a pasta
5. Não vai pedir senha! 🎉
---
## 📦 Método 3: Publicar Projeto Existente do Cursor
Você já tem um projeto no Cursor e quer colocar no Gitea?
### Passo 1: Criar repositório vazio no Gitea
1. Acesse o Gitea
2. Crie um novo repositório
3. **Importante**: NÃO marque "Initialize repository"
4. Copie a URL que aparecer
### Passo 2: No Cursor
Abra o terminal integrado (`Ctrl+``) e execute:
```bash
# Inicializar Git (se ainda não tem)
git init
# Adicionar seus arquivos
git add .
# Primeiro commit
git commit -m "Primeiro commit"
# Adicionar o remote do Gitea
git remote add origin https://meurepositorio.com/seuusuario/meu-projeto.git
# OU via SSH:
git remote add origin ssh://git@meurepositorio.com:222/seuusuario/meu-projeto.git
# Push para o Gitea
git push -u origin master
```
Digite usuário e senha quando solicitado (se HTTPS).
---
## 🔄 Workflow Diário no Cursor
### Fazer mudanças e enviar:
1. **Edite arquivos** normalmente no Cursor
2. **Ver mudanças**: `Ctrl+Shift+G`
3. **Stage arquivos**: Clique no `+` ao lado dos arquivos
4. **Commit**: Digite mensagem e clique no ✓
5. **Push**: Clique nos `...` → `Push`
### Baixar mudanças do servidor:
1. Clique nos `...` → `Pull`
### Criar branch:
1. Canto inferior esquerdo → Nome da branch
2. `+ Create new branch...`
3. Digite o nome
4. Push: `...` → `Publish Branch`
---
## ⚙️ Configurações Úteis no Cursor
### Salvar credenciais (HTTPS)
Para não digitar senha toda vez:
```bash
# Linux/Mac
git config --global credential.helper store
# Windows
git config --global credential.helper wincred
```
Na primeira vez que fizer push/pull, digite usuário e senha.
Depois disso, ficará salvo!
### Configurar Git
```bash
# Seu nome
git config --global user.name "Seu Nome"
# Seu email
git config --global user.email "seu-email@example.com"
```
---
## 🎨 Extensões Úteis do Cursor para Git
O Cursor já vem com Git integrado, mas você pode instalar:
- **GitLens**: Visualização avançada de histórico
- **Git Graph**: Ver árvore de commits visual
- **Git History**: Ver histórico de arquivos
---
## 🔍 Troubleshooting
### ❌ "Could not resolve host"
**Problema**: DNS não resolve `meurepositorio.com`
**Solução**: Aguarde propagação DNS ou adicione no arquivo hosts:
```bash
# Linux/Mac: /etc/hosts
# Windows: C:\Windows\System32\drivers\etc\hosts
187.102.179.100 meurepositorio.com
```
### ❌ "SSL certificate problem"
**Problema**: Certificado SSL não confiável
**Solução temporária** (apenas para teste):
```bash
git config --global http.sslVerify false
```
**Solução correta**: Aguarde certificado SSL ser reconhecido ou importe o certificado.
### ❌ "Connection timeout" (SSH)
**Problema**: Porta SSH não acessível
**Lembre-se**: O Gitea usa porta **222**, não 22!
URL SSH correta:
```
ssh://git@meurepositorio.com:222/usuario/repo.git
```
### ❌ "Permission denied (publickey)"
**Problema**: Chave SSH não configurada
**Solução**:
1. Verifique se a chave está no Gitea (Settings → SSH Keys)
2. Teste conexão: `ssh -p 222 git@meurepositorio.com`
---
## 📚 URLs do Seu Gitea
### Clone HTTPS:
```
https://meurepositorio.com/seuusuario/seurepositorio.git
```
### Clone SSH:
```
ssh://git@meurepositorio.com:222/seuusuario/seurepositorio.git
```
### Web:
```
https://meurepositorio.com
```
---
## 🎯 Exemplo Completo: Criar e Usar Repositório
```bash
# 1. Criar pasta do projeto
mkdir meu-projeto
cd meu-projeto
# 2. Inicializar Git
git init
# 3. Criar arquivo
echo "# Meu Projeto" > README.md
# 4. Primeiro commit
git add .
git commit -m "Initial commit"
# 5. Conectar com Gitea (criar repo vazio lá primeiro!)
git remote add origin https://meurepositorio.com/seuusuario/meu-projeto.git
# 6. Push
git push -u origin master
# 7. Abrir no Cursor
code .
```
Pronto! Agora você pode trabalhar normalmente no Cursor! 🚀
---
## 💡 Dicas Profissionais
1. **Use SSH**: Mais seguro e rápido
2. **Commits frequentes**: Pequenos e descritivos
3. **Branches**: Use branches para features
4. **Pull antes de Push**: Evita conflitos
5. **.gitignore**: Não commite arquivos desnecessários
6. **Backup**: Seu Gitea é o backup, mas faça backup do servidor também!
---
## 🎉 Vantagens do Seu Gitea Privado
**Privacidade total**: Seus códigos não saem do seu servidor
**Sem limites**: Repos ilimitados, tamanho ilimitado
**Controle total**: Você decide as regras
**Grátis**: Sem mensalidades
**Rápido**: Na sua rede local
---
**Seu repositório Git privado está pronto para ser usado com o Cursor!** 🚀

167
INSTALACAO_COMPLETA.txt Normal file
View File

@@ -0,0 +1,167 @@
═══════════════════════════════════════════════════════════════════
GITEA - INSTALAÇÃO COMPLETA E CONFIGURADA
═══════════════════════════════════════════════════════════════════
✓ INSTALAÇÃO CONCLUÍDA COM SUCESSO!
Data: Sun Nov 16 16:27:29 UTC 2025
Localização: /root/gitea/
Domínio: https://meurepositorio.com
═══════════════════════════════════════════════════════════════════
COMPONENTES INSTALADOS:
═══════════════════════════════════════════════════════════════════
✓ Gitea (última versão)
- Container Docker rodando
- Porta interna: 3000
- SSH Git: porta 222
✓ PostgreSQL 14
- Banco de dados configurado
- Dados persistentes em /root/gitea/postgres
✓ Nginx (Reverse Proxy)
- Configurado para meurepositorio.com
- Porta HTTP: 80
- Pronto para SSL/HTTPS: 443
✓ Scripts de Gerenciamento
- manage-gitea.sh (gerenciar sistema)
- configure-ssl.sh (configurar HTTPS)
- check-system.sh (verificar status)
═══════════════════════════════════════════════════════════════════
IMPORTANTE - PRÓXIMOS PASSOS:
═══════════════════════════════════════════════════════════════════
⚠️ O DNS ainda NÃO está apontando para este servidor!
Ação necessária:
1. Configure o DNS do domínio meurepositorio.com
- Tipo A: meurepositorio.com → IP_DESTE_SERVIDOR
- Tipo A: www.meurepositorio.com → IP_DESTE_SERVIDOR
2. Aguarde propagação DNS (5-15 minutos)
3. Configure SSL/HTTPS:
cd /root/gitea
./configure-ssl.sh
4. Acesse e configure o Gitea:
https://meurepositorio.com
═══════════════════════════════════════════════════════════════════
ARQUIVOS E DIRETÓRIOS:
═══════════════════════════════════════════════════════════════════
/root/gitea/
├── docker-compose.yml # Configuração do Docker
├── data/ # Dados do Gitea
├── postgres/ # Banco de dados
├── manage-gitea.sh # Script de gerenciamento
├── configure-ssl.sh # Script de configuração SSL
├── check-system.sh # Script de verificação
├── README.md # Documentação completa
├── QUICK_START.txt # Guia rápido
└── INSTALACAO_COMPLETA.txt # Este arquivo
/etc/nginx/sites-available/gitea # Configuração do Nginx
═══════════════════════════════════════════════════════════════════
COMANDOS ÚTEIS:
═══════════════════════════════════════════════════════════════════
# Verificar status do sistema
/root/gitea/check-system.sh
# Gerenciar Gitea
/root/gitea/manage-gitea.sh status
/root/gitea/manage-gitea.sh restart
/root/gitea/manage-gitea.sh logs
/root/gitea/manage-gitea.sh backup
# Ver containers Docker
docker ps
# Ver logs
docker logs gitea
docker logs gitea-db-1
# Reiniciar Nginx
systemctl restart nginx
═══════════════════════════════════════════════════════════════════
INFORMAÇÕES TÉCNICAS:
═══════════════════════════════════════════════════════════════════
Container Gitea:
- Nome: gitea
- Imagem: gitea/gitea:latest
- Porta HTTP: 3000 → 80 (via Nginx)
- Porta SSH: 22 → 222
Container PostgreSQL:
- Nome: gitea-db-1
- Imagem: postgres:14
- Database: gitea
- User: gitea
- Password: gitea
Nginx:
- Porta HTTP: 80
- Porta HTTPS: 443 (após SSL)
- Config: /etc/nginx/sites-available/gitea
═══════════════════════════════════════════════════════════════════
SEGURANÇA:
═══════════════════════════════════════════════════════════════════
Recomendações:
✓ Configure firewall (UFW)
✓ Use senhas fortes
✓ Ative 2FA no Gitea
✓ Configure backups automáticos
✓ Instale SSL/TLS (HTTPS)
✓ Mantenha sistema atualizado
Portas que devem estar abertas:
- 80 (HTTP)
- 443 (HTTPS)
- 222 (SSH Git)
═══════════════════════════════════════════════════════════════════
BACKUP:
═══════════════════════════════════════════════════════════════════
Fazer backup manual:
/root/gitea/manage-gitea.sh backup
Backups automáticos (adicionar ao crontab):
0 3 * * * /root/gitea/manage-gitea.sh backup
Backups salvos em:
/root/gitea-backups/
═══════════════════════════════════════════════════════════════════
SUPORTE:
═══════════════════════════════════════════════════════════════════
Documentação: /root/gitea/README.md
Guia rápido: /root/gitea/QUICK_START.txt
Verificação: /root/gitea/check-system.sh
Documentação oficial: https://docs.gitea.io
Comunidade: https://discourse.gitea.io
═══════════════════════════════════════════════════════════════════
Instalação realizada em: Sun Nov 16 16:27:29 UTC 2025
Sistema pronto para uso!
Para começar, leia o guia rápido:
cat /root/gitea/QUICK_START.txt
═══════════════════════════════════════════════════════════════════

161
PRIMEIRO_REPOSITORIO.md Normal file
View File

@@ -0,0 +1,161 @@
# 🎯 Como Criar e Usar seu Primeiro Repositório
## 📦 Passo 1: Criar Repositório no Gitea
1. Acesse: https://meurepositorio.com
2. Faça login com sua conta de administrador
3. Clique no **"+"** (canto superior direito)
4. Selecione **"Novo Repositório"**
5. Preencha:
- **Nome**: `scripts-servidor` (ou qualquer nome)
- **Descrição**: `Scripts e configurações do servidor`
- **Visibilidade**: Privado (recomendado)
- **Initialize Repository**: ✓ Marque "Initialize repository"
- **Add .gitignore**: Nenhum (ou escolha se quiser)
- **Add License**: Nenhum (ou escolha se quiser)
6. Clique em **"Criar Repositório"**
---
## 🔗 Passo 2: Clonar no Cursor (HTTPS)
### No seu computador (onde está o Cursor):
1. Abra o Cursor
2. Pressione `Ctrl+Shift+P` (Windows/Linux) ou `Cmd+Shift+P` (Mac)
3. Digite: `Git: Clone`
4. Cole a URL: `https://meurepositorio.com/seuusuario/scripts-servidor.git`
(substitua `seuusuario` pelo seu username do Gitea)
5. Escolha uma pasta no seu computador
6. Digite seu **usuário** e **senha** do Gitea quando solicitado
7. Clique em **"Open"** quando perguntar se quer abrir o repositório
**Pronto!** Você está conectado! 🎉
---
## 📝 Passo 3: Fazer seu Primeiro Commit
No Cursor:
1. Crie um arquivo: `README.md`
2. Escreva algo, por exemplo:
```markdown
# Scripts do Servidor
Configurações e scripts do meu servidor
```
3. Salve o arquivo (`Ctrl+S`)
4. Abra o painel Git: `Ctrl+Shift+G`
5. Você verá o arquivo `README.md` em "Changes"
6. Clique no **+** ao lado do arquivo (stage)
7. Digite uma mensagem: `"Primeiro commit"`
8. Clique no **✓** (commit)
9. Clique nos **...** → **Push**
**Sucesso!** Seu código está no Gitea! 🚀
---
## 💾 Salvar Credenciais (Não Pedir Senha Toda Vez)
### No terminal do seu computador (onde está o Cursor):
```bash
# Windows
git config --global credential.helper wincred
# Mac
git config --global credential.helper osxkeychain
# Linux
git config --global credential.helper store
```
Na próxima vez que fizer push/pull, digite usuário e senha UMA VEZ.
Depois disso, ficará salvo automaticamente!
---
## 📚 Repositórios Sugeridos para Organizar
### 1. **scripts-servidor**
- Scripts de gerenciamento
- Configurações
- Backups
- Tudo que fizemos hoje!
### 2. **projetos-web**
- Sites e aplicações web
- Frontend e backend
### 3. **estudos**
- Códigos de estudo
- Tutoriais
- Experimentos
### 4. **automacao**
- Scripts de automação
- Cron jobs
- Monitores
---
## 🔄 Workflow Diário
```bash
# 1. Abrir projeto no Cursor
code /caminho/do/projeto
# 2. Fazer mudanças nos arquivos
# (edite normalmente)
# 3. Ver mudanças
Ctrl+Shift+G
# 4. Stage arquivos
Clique no + ao lado dos arquivos
# 5. Commit
Digite mensagem e clique no ✓
# 6. Push para Gitea
Clique em ... → Push
```
---
## 🎯 Vantagens do Seu Gitea
✅ **Privado**: Ninguém vê seus códigos
✅ **Ilimitado**: Repos e tamanho sem limites
✅ **Rápido**: Na sua rede local
✅ **Seu**: Você controla tudo
✅ **Grátis**: Sem mensalidades
---
## 🆘 Problemas Comuns
### ❌ "Authentication failed"
**Solução**: Verifique usuário e senha. No Gitea, vá em Settings → Applications → Generate New Token (e use o token no lugar da senha)
### ❌ "Could not resolve host"
**Solução**: Adicione no arquivo hosts do seu computador:
```
# Windows: C:\Windows\System32\drivers\etc\hosts
# Linux/Mac: /etc/hosts
187.102.179.100 meurepositorio.com
```
### ❌ "SSL certificate problem"
**Solução**: O certificado é válido, mas se der problema:
```bash
git config --global http.sslVerify true
```
---
**Seu Gitea está pronto para usar! Comece criando seu primeiro repositório!** 🚀

80
QUICK_START.txt Normal file
View File

@@ -0,0 +1,80 @@
╔══════════════════════════════════════════════════════════════════╗
║ GITEA - GUIA RÁPIDO DE INÍCIO ║
╚══════════════════════════════════════════════════════════════════╝
✓ Gitea instalado com sucesso!
✓ Nginx configurado
✓ Containers rodando
═══════════════════════════════════════════════════════════════════
PRÓXIMOS PASSOS:
1. CONFIGURAR DNS (IMPORTANTE!)
─────────────────────────────
Configure os registros DNS do seu domínio:
Tipo A: meurepositorio.com → [IP_DESTE_SERVIDOR]
Tipo A: www.meurepositorio.com → [IP_DESTE_SERVIDOR]
Aguarde propagação DNS (5-15 minutos)
Teste: ping meurepositorio.com
2. CONFIGURAR SSL (HTTPS)
────────────────────────
Após o DNS estar funcionando, execute:
cd /root/gitea
./configure-ssl.sh
⚠️ Só execute após confirmar que o DNS está apontando!
3. ACESSAR O GITEA
───────────────
Abra o navegador e acesse:
http://meurepositorio.com (ou https:// após configurar SSL)
Na primeira vez, complete a configuração inicial:
- Database já está configurado (não mude!)
- Configure domínio: meurepositorio.com
- Crie sua conta de administrador
- Clique em "Install Gitea"
4. GERENCIAR O SISTEMA
───────────────────
Use o script de gerenciamento:
/root/gitea/manage-gitea.sh status # Ver status
/root/gitea/manage-gitea.sh logs # Ver logs
/root/gitea/manage-gitea.sh restart # Reiniciar
/root/gitea/manage-gitea.sh backup # Fazer backup
═══════════════════════════════════════════════════════════════════
INFORMAÇÕES DO SISTEMA:
📁 Localização: /root/gitea/
🌐 Domínio: https://meurepositorio.com
🔌 Porta HTTP: 80
🔌 Porta HTTPS: 443 (após SSL)
🔌 Porta SSH Git: 222
📚 Documentação completa: /root/gitea/README.md
═══════════════════════════════════════════════════════════════════
COMANDOS ÚTEIS:
# Ver status dos containers
docker ps
# Ver logs do Gitea
docker logs gitea
# Reiniciar Nginx
systemctl restart nginx
# Ver status do Nginx
systemctl status nginx
═══════════════════════════════════════════════════════════════════

306
README.md Normal file
View File

@@ -0,0 +1,306 @@
# Gitea - Repositório Git Privado
## https://meurepositorio.com
Seu repositório Git privado está instalado e configurado com sucesso!
---
## 📋 Informações do Sistema
**Localização dos arquivos:**
- Configuração: `/root/gitea/`
- Dados do Gitea: `/root/gitea/data/`
- Banco de dados: `/root/gitea/postgres/`
**Portas:**
- HTTP: 80 (Nginx)
- HTTPS: 443 (após configurar SSL)
- Gitea interno: 3000 (não exposto)
- SSH do Git: 222
**Containers Docker:**
- `gitea` - Servidor Gitea
- `gitea-db-1` - Banco de dados PostgreSQL
---
## 🚀 Primeiros Passos
### 1. Configurar DNS
**ANTES DE CONTINUAR**, certifique-se de que o DNS do domínio está configurado:
```
Tipo: A
Nome: @ (ou meurepositorio.com)
Valor: [IP_DESTE_SERVIDOR]
TTL: 300
Tipo: A
Nome: www
Valor: [IP_DESTE_SERVIDOR]
TTL: 300
```
Aguarde a propagação DNS (pode levar até 24h, mas geralmente 5-15 minutos).
Teste com: `ping meurepositorio.com`
### 2. Configurar SSL/TLS (HTTPS)
Após confirmar que o DNS está apontando corretamente:
```bash
cd /root/gitea
./configure-ssl.sh
```
Este script irá:
- Obter um certificado SSL gratuito do Let's Encrypt
- Configurar o Nginx para HTTPS automático
- Configurar renovação automática do certificado
### 3. Acessar e Configurar o Gitea
**Primeira vez:**
1. Acesse: `http://meurepositorio.com` (ou `https://` após configurar SSL)
2. Na primeira visita, você verá a tela de configuração inicial:
- **Database Type**: PostgreSQL (já configurado)
- **Host**: db:5432
- **Username**: gitea
- **Password**: gitea
- **Database Name**: gitea
- **Site Title**: Meu Repositório
- **Repository Root Path**: /data/git/repositories
- **Git LFS Root Path**: /data/git/lfs
- **Run As Username**: git
- **Server Domain**: meurepositorio.com
- **SSH Server Port**: 222
- **HTTP Port**: 3000
- **Base URL**: https://meurepositorio.com (ou http:// se ainda não configurou SSL)
3. **Importante**: Na seção "Administrator Account Settings", crie sua conta admin:
- Username: (seu nome de usuário)
- Password: (senha forte)
- Email: (seu email)
4. Clique em "Install Gitea"
---
## 🔧 Gerenciamento do Sistema
Use o script de gerenciamento:
```bash
# Ver status
/root/gitea/manage-gitea.sh status
# Iniciar
/root/gitea/manage-gitea.sh start
# Parar
/root/gitea/manage-gitea.sh stop
# Reiniciar
/root/gitea/manage-gitea.sh restart
# Ver logs em tempo real
/root/gitea/manage-gitea.sh logs
# Fazer backup
/root/gitea/manage-gitea.sh backup
# Atualizar para versão mais recente
/root/gitea/manage-gitea.sh update
```
---
## 📦 Como Usar o Gitea
### Criar um novo repositório
1. Faça login no Gitea
2. Clique no botão "+" no canto superior direito
3. Selecione "New Repository"
4. Preencha as informações e clique em "Create Repository"
### Clonar um repositório (HTTPS)
```bash
git clone https://meurepositorio.com/seuusuario/seurepositorio.git
```
### Clonar um repositório (SSH)
```bash
# Adicione sua chave SSH no Gitea primeiro (Settings > SSH Keys)
git clone ssh://git@meurepositorio.com:222/seuusuario/seurepositorio.git
```
### Push para o repositório
```bash
cd seu-projeto
git init
git add .
git commit -m "Primeiro commit"
git remote add origin https://meurepositorio.com/seuusuario/seurepositorio.git
git push -u origin master
```
---
## 🔒 Segurança
### Firewall
Certifique-se de que as seguintes portas estão abertas:
```bash
# Permitir HTTP
ufw allow 80/tcp
# Permitir HTTPS
ufw allow 443/tcp
# Permitir SSH do Git
ufw allow 222/tcp
# Verificar status
ufw status
```
### Backup Regular
Configure um cron job para backups automáticos:
```bash
# Editar crontab
crontab -e
# Adicionar linha para backup diário às 3h da manhã
0 3 * * * /root/gitea/manage-gitea.sh backup
```
### Senhas Seguras
- Use senhas fortes para todas as contas
- Ative autenticação de dois fatores (2FA) no Gitea
- Considere usar chaves SSH em vez de senhas para Git
---
## 🔄 Atualização do Gitea
Para atualizar o Gitea para a versão mais recente:
```bash
cd /root/gitea
./manage-gitea.sh update
```
---
## 🆘 Troubleshooting
### Gitea não está acessível
```bash
# Verificar status dos containers
docker ps
# Ver logs
docker logs gitea
# Reiniciar
/root/gitea/manage-gitea.sh restart
```
### Nginx não está funcionando
```bash
# Testar configuração
nginx -t
# Reiniciar Nginx
systemctl restart nginx
# Ver logs
tail -f /var/log/nginx/error.log
```
### SSL não está funcionando
```bash
# Verificar certificados
certbot certificates
# Renovar manualmente
certbot renew
# Ver logs
tail -f /var/log/letsencrypt/letsencrypt.log
```
### Problemas de permissão
```bash
# Ajustar permissões
chown -R 1000:1000 /root/gitea/data
chmod -R 755 /root/gitea/data
```
---
## 📚 Recursos Úteis
- Documentação oficial do Gitea: https://docs.gitea.io
- Comunidade Gitea: https://discourse.gitea.io
- Reportar bugs: https://github.com/go-gitea/gitea/issues
---
## 📊 Informações Técnicas
**Stack:**
- Gitea (última versão)
- PostgreSQL 14
- Nginx (reverse proxy)
- Docker & Docker Compose
- Let's Encrypt (SSL/TLS)
**Requisitos do Sistema:**
- Linux (Ubuntu/Debian recomendado)
- Docker instalado
- Nginx instalado
- Mínimo 2GB RAM
- Mínimo 10GB de espaço em disco
---
## 📝 Notas Importantes
1. **Sempre faça backup antes de atualizar**
2. O certificado SSL é renovado automaticamente pelo certbot
3. Os dados estão em `/root/gitea/data` - proteja este diretório
4. O banco de dados PostgreSQL está em `/root/gitea/postgres`
5. Para acessar Git via SSH, use a porta 222, não 22
---
## 🎉 Pronto!
Seu repositório Git privado está pronto para uso!
Acesse: **https://meurepositorio.com** (após configurar SSL)
ou: **http://meurepositorio.com** (antes do SSL)
Qualquer dúvida, consulte a documentação oficial ou os logs do sistema.

114
README_PROJETO.md Normal file
View File

@@ -0,0 +1,114 @@
# 🚀 Gitea - Repositório Git Privado
Instalação e configuração completa do Gitea no servidor.
## 📋 O que tem aqui
Este repositório contém todos os scripts e configurações para gerenciar o servidor Gitea:
### 📂 Arquivos de Configuração
- `docker-compose.yml` - Configuração dos containers Docker (Gitea + PostgreSQL)
- `.gitignore` - Arquivos a ignorar no Git
### 🔧 Scripts de Gerenciamento
- `manage-gitea.sh` - Script principal de gerenciamento (start, stop, restart, backup, etc.)
- `configure-ssl.sh` - Configuração automática de SSL/TLS com Let's Encrypt
- `check-system.sh` - Verificação completa do sistema
- `monitor-porta-443.sh` - Monitoramento da porta HTTPS
- `test-https.sh` - Teste de conectividade HTTPS
### 📚 Documentação
- `README.md` - Documentação completa do sistema
- `ACESSO_RAPIDO.txt` - Guia de acesso rápido
- `QUICK_START.txt` - Guia de início rápido
- `GUIA_CURSOR.md` - Como usar o Gitea com o Cursor
- `PRIMEIRO_REPOSITORIO.md` - Como criar seu primeiro repositório
- `FIREWALL_INFO.txt` - Informações sobre firewall e porta 443
- `INSTALACAO_COMPLETA.txt` - Resumo completo da instalação
## 🎯 Comandos Rápidos
```bash
# Ver status
./manage-gitea.sh status
# Reiniciar
./manage-gitea.sh restart
# Ver logs
./manage-gitea.sh logs
# Fazer backup
./manage-gitea.sh backup
# Verificar sistema
./check-system.sh
# Testar HTTPS
./test-https.sh
```
## 🌐 Acesso
- **URL**: https://meurepositorio.com
- **SSH**: ssh://git@meurepositorio.com:222
- **Localização**: /root/gitea/
## 🔐 Informações Técnicas
### Stack
- **Gitea**: Latest
- **PostgreSQL**: 14
- **Nginx**: Reverse proxy
- **SSL/TLS**: Let's Encrypt (renovação automática)
- **Docker**: Containerizado
### Portas
- **80**: HTTP (redireciona para HTTPS)
- **443**: HTTPS
- **222**: SSH Git
- **3000**: Gitea (interno)
### Containers
- `gitea` - Servidor Gitea
- `gitea-db-1` - PostgreSQL
## 📦 Estrutura de Diretórios
```
/root/gitea/
├── docker-compose.yml # Config Docker
├── data/ # Dados do Gitea (não versionado)
├── postgres/ # Banco de dados (não versionado)
├── manage-gitea.sh # Gerenciamento
├── configure-ssl.sh # Config SSL
├── check-system.sh # Verificação
├── monitor-porta-443.sh # Monitor HTTPS
├── test-https.sh # Teste HTTPS
└── docs/ # Documentação
```
## 🔄 Backup
Backups são salvos em `/root/gitea-backups/`
```bash
# Backup manual
./manage-gitea.sh backup
# Backup automático (adicionar ao crontab)
0 3 * * * /root/gitea/manage-gitea.sh backup
```
## 🆘 Suporte
- **Documentação Gitea**: https://docs.gitea.io
- **Comunidade**: https://discourse.gitea.io
- **Verificação do sistema**: `./check-system.sh`
---
**Instalado e configurado com sucesso!** 🎉
Data da instalação: $(date)

153
check-system.sh Executable file
View File

@@ -0,0 +1,153 @@
#!/bin/bash
# Script de verificação do sistema Gitea
echo "╔══════════════════════════════════════════════════════════════════╗"
echo "║ VERIFICAÇÃO DO SISTEMA GITEA ║"
echo "╚══════════════════════════════════════════════════════════════════╝"
echo ""
# Cores
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
check_service() {
if [ $2 -eq 0 ]; then
echo -e "${GREEN}${NC} $1"
else
echo -e "${RED}${NC} $1"
fi
}
# 1. Verificar Docker
echo "1. Verificando Docker..."
docker --version > /dev/null 2>&1
check_service "Docker instalado" $?
# 2. Verificar containers
echo ""
echo "2. Verificando containers Gitea..."
GITEA_RUNNING=$(docker ps | grep -c "gitea/gitea")
DB_RUNNING=$(docker ps | grep -c "postgres:14")
if [ $GITEA_RUNNING -eq 1 ]; then
echo -e "${GREEN}${NC} Container Gitea rodando"
else
echo -e "${RED}${NC} Container Gitea NÃO está rodando"
fi
if [ $DB_RUNNING -eq 1 ]; then
echo -e "${GREEN}${NC} Container PostgreSQL rodando"
else
echo -e "${RED}${NC} Container PostgreSQL NÃO está rodando"
fi
# 3. Verificar Nginx
echo ""
echo "3. Verificando Nginx..."
systemctl is-active --quiet nginx
check_service "Nginx rodando" $?
nginx -t > /dev/null 2>&1
check_service "Configuração do Nginx válida" $?
# 4. Verificar se Gitea responde
echo ""
echo "4. Verificando acesso ao Gitea..."
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:3000)
if [ "$HTTP_CODE" != "000" ]; then
echo -e "${GREEN}${NC} Gitea respondendo na porta 3000 (HTTP $HTTP_CODE)"
else
echo -e "${RED}${NC} Gitea NÃO está respondendo"
fi
# 5. Verificar portas
echo ""
echo "5. Verificando portas..."
netstat -tuln | grep -q ":80 "
check_service "Porta 80 (HTTP) aberta" $?
netstat -tuln | grep -q ":3000 "
check_service "Porta 3000 (Gitea) aberta" $?
netstat -tuln | grep -q ":222 "
check_service "Porta 222 (SSH Git) aberta" $?
# 6. Verificar SSL
echo ""
echo "6. Verificando SSL..."
if [ -d "/etc/letsencrypt/live/meurepositorio.com" ]; then
echo -e "${GREEN}${NC} Certificado SSL instalado"
# Verificar validade do certificado
CERT_EXPIRY=$(openssl x509 -enddate -noout -in /etc/letsencrypt/live/meurepositorio.com/cert.pem 2>/dev/null | cut -d= -f2)
if [ ! -z "$CERT_EXPIRY" ]; then
echo -e " ${GREEN}${NC} Válido até: $CERT_EXPIRY"
fi
else
echo -e "${YELLOW}${NC} Certificado SSL NÃO instalado (execute ./configure-ssl.sh)"
fi
# 7. Verificar disco
echo ""
echo "7. Verificando espaço em disco..."
DISK_USAGE=$(df -h /root/gitea | tail -1 | awk '{print $5}' | sed 's/%//')
if [ $DISK_USAGE -lt 80 ]; then
echo -e "${GREEN}${NC} Espaço em disco OK (${DISK_USAGE}% usado)"
else
echo -e "${YELLOW}${NC} Espaço em disco alto (${DISK_USAGE}% usado)"
fi
# 8. Verificar DNS
echo ""
echo "8. Verificando DNS..."
DNS_IP=$(dig +short meurepositorio.com 2>/dev/null | tail -1)
SERVER_IP=$(curl -s ifconfig.me)
if [ ! -z "$DNS_IP" ]; then
echo -e " DNS aponta para: $DNS_IP"
echo -e " IP do servidor: $SERVER_IP"
if [ "$DNS_IP" == "$SERVER_IP" ]; then
echo -e "${GREEN}${NC} DNS configurado corretamente"
else
echo -e "${YELLOW}${NC} DNS não aponta para este servidor"
fi
else
echo -e "${YELLOW}${NC} Não foi possível resolver DNS (pode não estar configurado ainda)"
fi
# 9. Verificar logs recentes
echo ""
echo "9. Últimas linhas do log do Gitea:"
echo "─────────────────────────────────────────────────────────────────"
docker logs gitea --tail 5 2>&1
echo "─────────────────────────────────────────────────────────────────"
# 10. Resumo
echo ""
echo "╔══════════════════════════════════════════════════════════════════╗"
echo "║ RESUMO ║"
echo "╚══════════════════════════════════════════════════════════════════╝"
if [ $GITEA_RUNNING -eq 1 ] && [ $DB_RUNNING -eq 1 ]; then
echo -e "${GREEN}Sistema funcionando corretamente!${NC}"
echo ""
echo "Acesse seu Gitea em:"
if [ -d "/etc/letsencrypt/live/meurepositorio.com" ]; then
echo " https://meurepositorio.com"
else
echo " http://meurepositorio.com"
echo ""
echo -e "${YELLOW}RECOMENDAÇÃO:${NC} Configure SSL executando: ./configure-ssl.sh"
fi
else
echo -e "${RED}Há problemas com o sistema!${NC}"
echo "Execute: /root/gitea/manage-gitea.sh restart"
fi
echo ""

46
configure-ssl.sh Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/bash
# Script para configurar SSL/TLS para o Gitea com Let's Encrypt
# IMPORTANTE: Só execute este script após confirmar que o DNS está apontando corretamente para este servidor!
echo "==========================================
Configurando SSL/TLS para meurepositorio.com
=========================================="
# Verificar se o certbot está instalado
if ! command -v certbot &> /dev/null; then
echo "Instalando certbot..."
apt update
apt install -y certbot python3-certbot-nginx
fi
# Obter certificado SSL
echo "Obtendo certificado SSL do Let's Encrypt..."
certbot --nginx -d meurepositorio.com -d www.meurepositorio.com --non-interactive --agree-tos --email admin@meurepositorio.com --redirect
if [ $? -eq 0 ]; then
echo "
=========================================="
echo "✓ SSL configurado com sucesso!"
echo "✓ Seu Gitea agora está disponível em: https://meurepositorio.com"
echo "✓ O certificado será renovado automaticamente."
echo "=========================================="
# Atualizar configuração do Gitea para HTTPS
echo "Atualizando configuração do Gitea..."
docker exec gitea /bin/sh -c "sed -i 's/ROOT_URL=http:/ROOT_URL=https:/g' /data/gitea/conf/app.ini" 2>/dev/null || true
docker restart gitea
else
echo "
=========================================="
echo "✗ Erro ao configurar SSL!"
echo "Verifique se:"
echo " 1. O domínio meurepositorio.com aponta para este servidor"
echo " 2. As portas 80 e 443 estão abertas no firewall"
echo " 3. O Nginx está rodando corretamente"
echo "=========================================="
exit 1
fi

47
docker-compose.yml Executable file
View File

@@ -0,0 +1,47 @@
version: "3"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
- GITEA__server__DOMAIN=meurepositorio.com
- GITEA__server__SSH_DOMAIN=meurepositorio.com
- GITEA__server__ROOT_URL=https://meurepositorio.com
- GITEA__server__HTTP_PORT=3000
restart: always
networks:
- gitea
volumes:
- ./data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: postgres:14
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- ./postgres:/var/lib/postgresql/data

57
manage-gitea.sh Executable file
View File

@@ -0,0 +1,57 @@
#!/bin/bash
# Script de gerenciamento do Gitea
cd /root/gitea
case "$1" in
start)
echo "Iniciando Gitea..."
docker compose up -d
;;
stop)
echo "Parando Gitea..."
docker compose down
;;
restart)
echo "Reiniciando Gitea..."
docker compose restart
;;
status)
echo "Status do Gitea:"
docker compose ps
;;
logs)
echo "Logs do Gitea (Ctrl+C para sair):"
docker compose logs -f gitea
;;
backup)
echo "Criando backup do Gitea..."
BACKUP_DIR="/root/gitea-backups/$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BACKUP_DIR"
docker exec gitea /bin/sh -c "cd /data && tar czf /tmp/gitea-backup.tar.gz gitea"
docker cp gitea:/tmp/gitea-backup.tar.gz "$BACKUP_DIR/"
cp -r /root/gitea/postgres "$BACKUP_DIR/"
echo "Backup salvo em: $BACKUP_DIR"
;;
update)
echo "Atualizando Gitea..."
docker compose pull
docker compose up -d
;;
*)
echo "Uso: $0 {start|stop|restart|status|logs|backup|update}"
echo ""
echo "Comandos disponíveis:"
echo " start - Inicia os containers do Gitea"
echo " stop - Para os containers do Gitea"
echo " restart - Reinicia os containers do Gitea"
echo " status - Mostra o status dos containers"
echo " logs - Mostra os logs em tempo real"
echo " backup - Cria um backup completo"
echo " update - Atualiza o Gitea para a versão mais recente"
exit 1
;;
esac

68
monitor-porta-443.sh Executable file
View File

@@ -0,0 +1,68 @@
#!/bin/bash
echo "╔══════════════════════════════════════════════════════════════════╗"
echo "║ MONITORAMENTO DA PORTA 443 (HTTPS) ║"
echo "╚══════════════════════════════════════════════════════════════════╝"
echo ""
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m'
# Função para testar porta
test_port() {
timeout 3 bash -c "</dev/tcp/meurepositorio.com/443" 2>/dev/null
return $?
}
# Teste inicial
echo "Testando conectividade HTTPS..."
echo ""
if test_port; then
echo -e "${GREEN}✓ PORTA 443 ESTÁ ABERTA!${NC}"
echo ""
echo "Testando acesso HTTPS completo..."
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 https://meurepositorio.com 2>/dev/null)
if [ "$HTTP_CODE" == "200" ] || [ "$HTTP_CODE" == "301" ] || [ "$HTTP_CODE" == "302" ]; then
echo -e "${GREEN}✓ HTTPS funcionando! (HTTP $HTTP_CODE)${NC}"
echo ""
echo "═══════════════════════════════════════════════════════════════"
echo ""
echo -e "${GREEN}🎉 TUDO PRONTO!${NC}"
echo ""
echo "Acesse agora mesmo:"
echo " https://meurepositorio.com"
echo ""
echo "Próximos passos:"
echo " 1. Abra https://meurepositorio.com no navegador"
echo " 2. Complete a configuração inicial do Gitea"
echo " 3. Crie sua conta de administrador"
echo ""
echo "═══════════════════════════════════════════════════════════════"
else
echo -e "${YELLOW}⚠ Porta aberta, mas HTTPS não respondeu corretamente${NC}"
echo "Código HTTP: $HTTP_CODE"
fi
else
echo -e "${RED}✗ Porta 443 ainda está bloqueada${NC}"
echo ""
echo "Possíveis causas:"
echo " - O Meraki ainda está aplicando as regras (aguarde mais um pouco)"
echo " - A regra não foi configurada corretamente"
echo " - Há outro firewall na frente"
echo ""
echo "Verificações no Meraki:"
echo " - Security & SD-WAN > Firewall"
echo " - Certifique-se de que há uma regra Allow para porta 443"
echo " - Protocolo: TCP"
echo " - Destino: ${IP_LOCAL} (ou qualquer)"
echo " - Porta: 443"
fi
echo ""

51
test-https.sh Executable file
View File

@@ -0,0 +1,51 @@
#!/bin/bash
echo "═══════════════════════════════════════════════════════════════"
echo " TESTE DE CONECTIVIDADE HTTPS "
echo "═══════════════════════════════════════════════════════════════"
echo ""
echo "1. Testando porta 443 (HTTPS)..."
if timeout 5 bash -c '</dev/tcp/meurepositorio.com/443' 2>/dev/null; then
echo " ✓ Porta 443 está ABERTA"
else
echo " ✗ Porta 443 está FECHADA/BLOQUEADA"
fi
echo ""
echo "2. Testando porta 80 (HTTP)..."
if timeout 5 bash -c '</dev/tcp/meurepositorio.com/80' 2>/dev/null; then
echo " ✓ Porta 80 está ABERTA"
else
echo " ✗ Porta 80 está FECHADA/BLOQUEADA"
fi
echo ""
echo "3. Testando acesso HTTPS..."
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 https://meurepositorio.com 2>/dev/null)
if [ "$HTTP_CODE" != "000" ] && [ ! -z "$HTTP_CODE" ]; then
echo " ✓ HTTPS acessível (HTTP $HTTP_CODE)"
else
echo " ✗ HTTPS não acessível (timeout ou conexão recusada)"
fi
echo ""
echo "4. Verificando certificado SSL..."
if openssl s_client -connect meurepositorio.com:443 -servername meurepositorio.com </dev/null 2>/dev/null | grep -q "Verify return code: 0"; then
echo " ✓ Certificado SSL válido"
else
echo " ⚠ Não foi possível verificar o certificado (porta pode estar bloqueada)"
fi
echo ""
echo "═══════════════════════════════════════════════════════════════"
echo ""
echo "Se a porta 443 estiver fechada, você precisa:"
echo " - Acessar o painel do provedor cloud/VPS"
echo " - Ou configurar port forwarding no roteador"
echo " - Ou contatar o administrador de rede"
echo ""
echo "Documentação: /root/gitea/FIREWALL_INFO.txt"
echo "═══════════════════════════════════════════════════════════════"