## Passos revisados para AlmaLinux 9.7 Revisado tudo com o ambiente correto. Veja as mudanças: --- ## ETAPA 1 — Instalar PostgreSQL No AlmaLinux 9 o comando é `dnf`, não `apt`: ```bash sudo dnf install -y postgresql-server postgresql-contrib sudo postgresql-setup --initdb sudo systemctl start postgresql sudo systemctl enable postgresql ``` Criar banco e usuário: ```bash sudo -u postgres psql ``` Dentro do psql: ```sql CREATE USER portal_user WITH PASSWORD 'uma_senha_forte_aqui'; CREATE DATABASE portal_db OWNER portal_user; GRANT ALL PRIVILEGES ON DATABASE portal_db TO portal_user; \q ``` Sua `DATABASE_URL`: ``` postgresql://portal_user:uma_senha_forte_aqui@localhost:5432/portal_db ``` --- ## ETAPA 2 — Criar subdomínio no cPanel 1. Acesse `https://onsms.com.br:2083` 2. Vá em **Subdomínios** 3. Crie `portal.onsms.com.br` 4. Anote a pasta que ele criar — normalmente: ``` /home/usuario/portal.onsms.com.br ``` --- ## ETAPA 3 — Clonar o projeto do GitHub ```bash cd /home/usuario/portal.onsms.com.br git clone https://github.com/seu-usuario/seu-repo.git . ``` --- ## ETAPA 4 — Criar arquivo `.env` ```bash nano .env ``` ```env NODE_ENV=production PORT=5000 DATABASE_URL=postgresql://portal_user:uma_senha_forte_aqui@localhost:5432/portal_db SESSION_SECRET=uma_string_aleatoria_longa_aqui HUBSPOT_CLIENT_ID=seu_client_id HUBSPOT_CLIENT_SECRET=seu_client_secret ``` Salve: `Ctrl+X` → `Y` → `Enter` --- ## ETAPA 5 — Instalar dependências e build ```bash npm install npm run build npm run db:push ``` Teste rápido antes de continuar: ```bash npm start ``` Se aparecer `Server running on port 5000` — funcionou. `Ctrl+C` para parar. --- ## ETAPA 6 — Configurar PM2 ```bash npm install -g pm2 pm2 start dist/index.js --name "portal" pm2 startup systemd ``` Copie e rode o comando que o PM2 mostrar, depois: ```bash pm2 save ``` Verificar: ```bash pm2 list ``` --- ## ETAPA 7 — Configurar Apache como proxy reverso No AlmaLinux com cPanel, **não edite o `httpd.conf` diretamente** — o cPanel sobrescreve. O jeito correto é criar um arquivo de include: ```bash nano /etc/apache2/conf.d/userdata/ssl/2/usuario/portal.onsms.com.br/proxy.conf ``` > ⚠️ Substitua `usuario` pelo seu usuário real do cPanel. Para descobrir: > ```bash > whoami > ``` Conteúdo do arquivo: ```apache ProxyRequests Off ProxyPreserveHost On ProxyPass / http://localhost:5000/ ProxyPassReverse / http://localhost:5000/ ``` Depois rebuilde a configuração do Apache via cPanel: ```bash /scripts/rebuildhttpdconf sudo systemctl restart httpd ``` --- ## ETAPA 8 — HTTPS via cPanel 1. No cPanel vá em **SSL/TLS** → **Let's Encrypt SSL** 2. Selecione `portal.onsms.com.br` 3. Clique em **Issue** --- ## ETAPA 9 — Script de deploy ```bash nano /home/usuario/portal.onsms.com.br/deploy.sh ``` ```bash #!/bin/bash echo "🚀 Iniciando deploy do Portal..." cd /home/usuario/portal.onsms.com.br git pull origin main npm install npm run build npm run db:push pm2 restart portal echo "✅ Deploy concluído!" ``` ```bash chmod +x deploy.sh ``` **Para deploys futuros:** ```bash ./deploy.sh ``` --- ## O que mudou em relação à versão anterior | Item | Antes (errado) | Agora (correto) | |---|---|---| | Instalar PostgreSQL | `apt install` | `dnf install` | | Init do PostgreSQL | automático | `postgresql-setup --initdb` | | Editar Apache | direto no httpd.conf | arquivo include no conf.d | | Rebuild Apache | `apachectl restart` | `/scripts/rebuildhttpdconf` | | PM2 startup | `pm2 startup` genérico | `pm2 startup systemd` | Pode começar pela **Etapa 1** e me mandando o resultado! 🚀