Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
Última revisão Ambos lados da revisão seguinte
instalacao_on_premise_flashman [12/11/2018 13:00]
superuser
instalacao_on_premise_flashman [19/12/2023 22:22]
superuser [Sistemas operacionais testados]
Linha 1: Linha 1:
-===== Instalação ​diretamente no servidor =====+===== Requisitos de hardware e software para a Instalação ​do servidor ​Flashman Local =====
  
-=== Sistemas operacionais testados: Ubuntu 16.04 e 18.04 === +==== Sistemas operacionais testados ====
-=== Requisitos de hardware: Processador quad core (i5 ou superior). 8GB RAM. 50GB HDD disponíveis. === +
-  - Atualizar repositórios através do comando <​code>​sudo apt-get update</​code>​ +
-  - IMPORTANTE! Instalar e configurar o NTP +
-    - Exemplo para Ubuntu 16.04: <​code>​ +
-sudo timedatectl set-timezone America/​Sao_Paulo +
-sudo timedatectl set-ntp on +
-</​code>​ +
-    - Aguardar um minuto e verificar status de sincronização através do comando <​code>​timedatectl</​code>​ +
-  - Instalar o Nginx (versão 1.10.3 ou superior) +
-    - Insira o seguinte comando: <​code>​ +
-sudo apt-get install nginx +
-</​code>​ +
-  - Instalar o MongoDB (versão 3.2 ou superior) +
-    - Para instalar utilizando o Ubuntu +
-      - Insira os seguintes comandos para Ubuntu 18.04: <​code>​ +
-sudo apt-key adv --keyserver hkp://​keyserver.ubuntu.com:​80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 +
-echo "deb [ arch=amd64 ] https://​repo.mongodb.org/​apt/​ubuntu bionic/​mongodb-org/​4.0 multiverse"​ | sudo tee /​etc/​apt/​sources.list.d/​mongodb-org-4.0.list +
-sudo apt-get update +
-sudo apt-get install -y mongodb-org +
-</​code>​ +
-      - Insira os seguintes comandos para Ubuntu 16.04: <​code>​ +
-sudo apt-key adv --keyserver hkp://​keyserver.ubuntu.com:​80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 +
-echo "deb [ arch=amd64,​arm64 ] https://​repo.mongodb.org/​apt/​ubuntu xenial/​mongodb-org/​4.0 multiverse"​ | sudo tee /​etc/​apt/​sources.list.d/​mongodb-org-4.0.list +
-sudo apt-get update +
-sudo apt-get install -y mongodb-org +
-</​code>​ +
-    - Para instalar em sistemas operacionais diferentes do Ubuntu, veja a documentação em https://​docs.mongodb.com/​manual/​installation/​ +
-    - Atenção! Não alterar a porta padrão 27017 +
-  - Instalar NodeJS (versão 6.4.0 ou superior) +
-    - Para instalar utilizando o Ubuntu +
-      - Insira os seguintes comandos: <​code>​ +
-curl -sL https://​deb.nodesource.com/​setup_6.x | sudo -E bash - +
-sudo apt-get install -y nodejs +
-</​code>​ +
-      - Para instalar em sistemas operacionais diferentes do Ubuntu, veja a documentação em https://​nodejs.org/​en/​download/​package-manager/​ +
-  - Instalar pacotes essenciais do Ubuntu: <​code>​sudo apt-get install build-essential</​code>​ +
-  - Instalar o PM2 através do comando: <​code>​ +
-npm install pm2 -g +
-</​code>​ +
-  - Extraia o arquivo .ZIP do pacote contendo o Flashman no diretório de sua preferência +
-  - No diretório extraído do Flashman, execute o seguinte comando: <​code>​ +
-npm install +
-</​code>​ +
-  - Abra o arquivo environment.config.json e remova a variável FLM_MQTT_BROKER +
-  - Configure o Nginx para receber e autorizar a comunicação HTTPS com o Flashman através do seguinte trecho de código de exemplo: <​code>​ +
-server { +
-    listen 443 ssl;+
  
-    server_name meuflashmandeexemplo.dominio.com;+Ubuntu 20.04 22.04 LTS - versão SERVER, Debian 10 e 11 LTS - versão SERVER.
  
-    location / { +==== Requisitos de hardware ====
-        proxy_redirect http:// https://;+
  
-        proxy_set_header X-Real-IP $remote_addr;​ +Mínimo: 4 núcleos de processamento. 8GB RAM. 50GB HDD livres
-        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;​ +
-        proxy_set_header X-NginX-Proxy true; +
-        proxy_set_header Upgrade $http_upgrade;​ +
-        proxy_set_header Connection '​upgrade';​ +
-        proxy_set_header Host $host;+
  
-        proxy_pass http://localhost:8000; +Recomendado 
-        ​proxy_http_version 1.1;+            Até um total de 12.000 CPES, 4 núcleos de processamento 8GB RAM 50GB HDD livres ​       
 +            Até um total de 24.000 CPES, 8 núcleos de processamento 16GB RAM 50GB HDD livres 
 +            Até um total de 48.000 CPES, 12 núcleos de processamento 32GB RAM 50GB HDD livres 
 +              
 +             Obs.Após 48k CPEs é necessário a utilização de outra máquina ou VM  
 +             Obs.2: Para modelos híbridos, é necessário uma verificação com nosso time de engenharia para uma melhor composição da(s) máquina(s)  
 +==== Requisito de rede ====
  
-        proxy_cache_bypass $http_upgrade;​+IP real público. Será necessário para os aplicativos FlashApp acessarem o roteador de qualquer rede
  
-    }+==== Requisitos de Domínio ====
  
-    client_max_body_size 32M; +Criar um mapeamento de domínio para o IP escolhido. Exemplo: flashman.provedor.com.br 
-} + 
-</​code>​ +         ATENÇÂO: ​ 
-    Substitua as variável ​"server_name" ​pelo domínio completo ​de seu servidor +         Caso o provedor deseje criar um  domínio com autorização da Autoridade de Certificação (CAACertificate Authority Authorization),​ será necessário autorizar a geração de certificado para a "LET's ENCRYPT"
-  ​- Use o gerador ​de certificados gratuitos Certbot ​para gerar certificado HTTPS para o FlashmanSiga os passos<​code>​ +         já que servidores FLashman utilizam certificados emitidos através da "​LET'​s ENCRYPT"​.  
-sudo apt-get update +          
-sudo apt-get install software-properties-common + 
-sudo add-apt-repository ppa:certbot/certbot +==== Requisitos ​de firewall ==== 
-sudo apt-get update + 
-sudo apt-get install python-certbot-nginx+  ​* Liberação ​de ICMP reply (ping) 
 +  * Liberação da porta 9001 para o ip 45.77.115.7 (TCP) : Utilizada pelo processo de migração 
 +  * Liberação da porta ssh para o ip 177.38.99.106 
 +  * Liberação da porta 80 (TCP) : Para validação de certificados SSL via LetsEncrypt 
 +  * Liberação da porta 443 (TCP) : Para navegação da interface web e comunicação de gerência com os CPEs 
 +  * Liberação da porta 3478 (TCP) Para uso de mecanismo de "​furo"​ de NAT via servidor STUN 
 +  * Liberação das portas 7547, 57547 (TCP) : Para uso do protocolo TR-069 no envio e recepção de comandos para as CPEs 
 +  * Liberação da porta 7567 (TCP) : Para download de firmwares no procedimento de atualização remota via TR-069 
 +  * Liberação da porta para comunicação MQTTS. A porta para MQTTS estará especificada no usuário de sua conta da Anlix 
 + 
 +==== Notas importantes ==== 
 + 
 +* Não recomendamos o uso de sistemas 32 bits em geralserá possi 
 + 
 +* O setup da máquina não pode ser um container, será necessário uma VM comum  
 + 
 +==== Procedimento de instalação ==== 
 + 
 +Preencher o formulário (https://​documentacao.anlix.io/​doku.php?​id=instalacao_on_premise_flashman) com as informações de acesso e ao servidor, em seguida abrir um ticket de atendimento ((21) 99835-2603) junto a equipe de suporte Anlix. 
 +A equipe de suporte Anlix realizará toda a instalação e migração de dados que for necessária.  
 +Informação dos IPs **" 54.232.148.43 e 177.38.99.106"​** das máquinas de onde serão realizados os acessos ao servidor disponibilizado,​ para a liberação do provedor no seu controle de acesso. 
 + 
 + 
 +Atenção: O usuário disponibilizado para a configuração dos serviços da Anlix precisa ter permissão de root.
  
-sudo certbot --nginx 
-</​code>​ 
-    - Siga os passos informados pelo comando certbot --nginx 
-    - Mais informações sobre o certbot em: https://​certbot.eff.org/​ 
-  - Insira a seguinte entrada no crontab do usuário root: <​code>​ 
-0 0 01 * * certbot renew --nginx --cert-name meuflashmandeexemplo.dominio.com --deploy-hook "<<​caminho completo>>/​flashman/​scripts/​cert-deploy-hook.sh <<​caminho completo>>/​flashman/​certs meuflashmandeexemplo.dominio.com <<​usuário>>"​ 
-</​code>​ 
-    - Substitua o valor "​meuflashmandeexemplo.dominio.com"​ pelo domínio completo de seu servidor cujo o certificado foi gerado 
-    - Substitua o <<​caminho completo>>​ pelo caminho até o diretório raiz do Flashman. 
-    - Substitua o <<​usuário>>​ pelo usuário do sistema que irá executar o servidor do Flashman (exemplo: localuser) 
-  - Abra o arquivo environment.config.json e adicione a variável FLM_CERT_MQTT_DIR com o caminho para o certificado certbot recém gerado. Exemplo: <​code>​ 
-{ 
-  "​apps":​ [{ 
-      "​name":​ "​flashman",​ 
-      "​script":​ "​bin/​www",​ 
-      "​log_date_format":​ "​YYYY-MM-DD HH:mm Z", 
-      "​autorestart":​ true, 
-      "​env":​ { 
-        "​production":​ true, 
-        "​TZ":​ "​America/​Sao_Paulo",​ 
-        "​FLM_IMG_RELEASE_DIR":​ "​./​public/​firmwares/",​ 
-        "​FLM_ALLOW_DEV_UPDATE_REST_DATA":​ false, 
-        "​FLM_MONGODB_HOST":​ "​localhost",​ 
-        "​FLM_ADM_USER":​ "​admin",​ 
-        "​FLM_ADM_PASS":​ "​flashman"​ 
-        "​FLM_CERT_MQTT_DIR":​ "<<​caminho completo>>/​flashman/​certs",​ 
-      }, 
-      "​error_file":​ "/​dev/​stderr",​ 
-      "​out_file":​ "/​dev/​stdout",​ 
-      "​exec_mode":​ "​cluster"​ 
-    }] 
-} 
-</​code>​ 
-    - Substitua o <<​caminho completo>>​ pelo caminho até o diretório raiz do Flashman. 
-  - No diretório principal do Flashman, inicie o serviço através do comando <​code>​pm2 start environment.config.js</​code>​ 
-  - Deixe o serviço do Flashman auto renicializável através dos comandos executados no diretório principal do Flashman: <​code>​ 
-pm2 startup 
-pm2 save 
-</​code>​ 
  
-===== Instalação utilizando container Docker =====