> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://ajuda.fabweb.com.br/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Como instalar uma aplicação Node no DirectAdmin

# Introdução
Neste tutorial será apresentado o passo a passo completo para realizar o deploy de uma aplicação **Next.js** utilizando o recurso **Node.js App** no painel **DirectAdmin**.
O processo envolve a preparação do projeto localmente, envio dos arquivos ao servidor e configuração correta da aplicação no painel.

---

# Requisitos
* Conta de hospedagem com suporte a **Node.js**.
* Acesso ao painel DirectAdmin.
* Node.js disponível no servidor.
* Projeto Next.js funcional em ambiente local.
* Conhecimento básico de terminal e estrutura de arquivos.

---

# Informações importantes
* O build da aplicação deve ser feito localmente.
* O DirectAdmin não executa build automático.
* A pasta `node_modules` não deve ser enviada.
* O arquivo `server.js` será o ponto de inicialização da aplicação.
* O modo recomendado é Production.
* A versão recomendada do Node.js é 22.18.0.

---

# Como instalar uma aplicação Node.js

### 1º Passo: Criar o projeto localmente
Na sua máquina local, crie o projeto utilizando a CLI oficial do Next.js:
```
npx create-next-app@latest
```

Documentação oficial: [__https://nextjs.org/docs/app/getting-started/installation__](https://nextjs.org/docs/app/getting-started/installation)

Após a criação, instale as dependências:
```
npm install
```

---

### 2º Passo: Criar o servidor customizado (server.js)
Na raiz do projeto, crie o arquivo `server.js`.

Exemplo de referência:
```
const { createServer } = require("http");
const next = require("next");
const { parse } = require("url");

const port = process.env.PORT || 3000;
const dev = process.env.NODE_ENV !== "production";
const app = next({ dev });
const handle = app.getRequestHandler();

app.prepare().then(() => {
  createServer((req, res) => {
    const parsedUrl = parse(req.url, true);
    handle(req, res, parsedUrl);
  }).listen(port);
});
```

⚠️ Esse arquivo é apenas um modelo. Ajuste conforme a necessidade do seu projeto.

---

### 3º Passo: Gerar o build de produção
Ainda na máquina local, execute:
```
npm run build
```

Esse comando irá gerar a pasta `.next`, otimizada para produção.

---

### 4º Passo: Preparar os arquivos para envio
Compacte todos os arquivos do projeto, **exceto**: 
* `node_modules`
* `package-lock.json`

Deve incluir, obrigatoriamente:
* `.next`
* `public`
* `package.json`
* `server.js`
* `next.config.js` (se existir)

---

### 5º Passo: Enviar os arquivos ao servidor
Envie os arquivos para o servidor utilizando uma das opções abaixo:
* Gerenciador de arquivos do DirectAdmin.
* FTP.
* SSH.

Diretório padrão do domínio:
```
/home/SEU_USUARIO/domains/SEU_DOMINIO/public_html
```

---

### 6º Passo: Criar a aplicação Node.js no DirectAdmin
No painel DirectAdmin, clique em **Setup Node.js App.**

![](https://storage.crisp.chat/users/helpdesk/website/-/7/4/0/8/74089ee251d18400/print001_1wifuga.png)

Em seguida, clique em **Criar Aplicação.**

![](https://storage.crisp.chat/users/helpdesk/website/-/7/4/0/8/74089ee251d18400/print002_1t8x88b.png)

Configure da seguinte forma:

![](https://storage.crisp.chat/users/helpdesk/website/-/7/4/0/8/74089ee251d18400/print003_163iok6.png)

* **Versão Node.js**: 22.18.0.
* **Modo da aplicação**: Production.
* **Raiz do aplicativo**: Diretório do projeto.
* **URL do aplicativo**: Selecione o domínio.
* **Arquivo de inicialização**: `server.js`

Clique em **Criar**.

![](https://storage.crisp.chat/users/helpdesk/website/-/7/4/0/8/74089ee251d18400/print004_1oilfj2.png)

---

### 7º Passo: Instalar as dependências
Após criar a aplicação, clique em **Executar instalação do NPM.**

![](https://storage.crisp.chat/users/helpdesk/website/-/7/4/0/8/74089ee251d18400/print005_1lk3ncx.png)

Aguarde a finalização da instalação. Isso irá instalar todas as dependências baseadas no `package.json`

---

### 8º Passo: Iniciar a aplicação
Após o NPM finalizar, acesse **Correr script JS.**

Selecione o script **start.**

Clique em **Correr script JS.**

![](https://storage.crisp.chat/users/helpdesk/website/-/7/4/0/8/74089ee251d18400/print006_1fwzr1c.png)

⚠️ Não é necessário executar o build novamente. 

---

# Considerações finais
* Sempre gere o build localmente antes do envio.
* Não envie `node_modules` para o servidor.
* Verifique se o domínio está corretamente apontado.
* Utilize sempre versões estáveis do Node.js.
* Em caso de erro, revise o `server.js` e o `package.json`

Após concluir todos os passos, sua aplicação Next.js estará funcionando normalmente e acessível pelo domínio configurado.

![](https://storage.crisp.chat/users/helpdesk/website/-/7/4/0/8/74089ee251d18400/print007_qkypk1.png)

---

Ficou com alguma dúvida? Nossa equipe está à disposição nos canais de atendimento para lhe auxiliar.