Instalação em um sistema Ubuntu
Banco de dados
- Instale o Maria DB seguindo as instruções oficiais de instalação.
- Verifique a instalação com o seguinte comando (dependendo do MariaDB atual, o serviço pode ser chamado de
MariaDB
ou mysqld
):
systemctl start mysql
systemctl status mysql
3. Configure o banco de dados e o usuário correspondente:
sudo mysql -uroot -e "CREATE DATABASE frontlinecommandcenter CHARACTER SET = 'utf8' COLLATE = utf8_bin;"
sudo mysql -uroot -e "CREATE USER 'frontline'@'localhost' IDENTIFIED BY '$PASS'"
sudo mysql -uroot -e "GRANT ALL ON frontlinecommandcenter.* TO 'frontline'@'localhost' IDENTIFIED BY '$PASS' WITH GRANT OPTION;"
4. Substitua o espaço reservado $PASS
por uma senha segura.
Observação: se um banco de dados adequado já tiver sido instalado e configurado anteriormente, crie um usuário para esse banco de dados e altere -u root
para -u name_of_user -p
.
Frontline Centro de comando
1. Crie um diretório para o arquivo .jarfrontline: sudo mkdir /var/opt/frontline
2. Crie um diretório para os dados do usuário: sudo mkdir /var/data/frontline
3. Faça o download do arquivo JAR do aplicativo do servidor na páginaFrontline Downloads.
4. Renomeie-o para frontline.jar e copie-o para /var/opt/frontline
: sudo cp ~/Downloads/frontline.jar /var/opt/frontline
5. Torne o arquivofrontline.jar executável: sudo chmod +x /var/opt/frontline
/ frontline.jar
6. Frontline é executado como um serviço do Spring Boot. Navegue até /etc/systemd/system
e crie um arquivo com os detalhes do serviço: sudo touch frontline.service
7. Edite frontline.service e adicione:
[Unit]
Description=frontline command center
After=mysql.service
[Service]
Environment="UBIMAX_HOME=/var/data/frontline/"
ExecStart=/var/opt/frontline/frontline.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
8. Para ativar o serviço, use systemctl enable frontline.service
9. Inicie o serviço via systemctl start frontline.service
10. O serviço criará alguns arquivos de configuração em /var/data/frontline
e, em seguida, será encerrado.
Instalação em um sistema Windows
Banco de dados
1. Faça o download da versão estável mais recente do MariaDB no site oficial e siga o guia de instalação.
2. Execute o instalador do MariaDB, incluindo o programa de suporte HeidiSQL .
3. Crie uma senha raiz para o banco de dados.
Observação: a senha de root será chamada de dbrootpassword
neste manual.
4. Clique em Next.
5. Após concluir a instalação, inicie o utilitário HeidiSQL. Supondo uma instalação padrão, o arquivo está localizado aqui: C:\Program Files (x86)\Common Files\MariaDBShared\HeidiSQL\heidisql.exe
6. Clique em New (Novo).
7. Crie um novo banco de dados com um determinado nome (por exemplo, Frontline_Test).
8. Substitua o espaço reservado$PASS
pela suasenha dbrootpass
criada anteriormente.
9. Opcional: personalize o nome do host/IP e o número da porta.
Se for usado um sistema de banco de dados diferente, ajuste a instrução SQL abaixo para se adequar ao banco de dados:
CREATE DATABASE FrontlineCommandCenter CHARACTER SET = 'utf8' COLLATE = utf8_bin;
CREATE USER 'frontline'@'%' IDENTIFIED BY '$PASS';
GRANT ALL ON FrontlineCommandCenter.* TO 'frontline'@'%' IDENTIFIED BY '$PASS' WITH GRANT OPTION;
Frontline Centro de comando
- Acesse a página Frontline Downloads.
- Faça o download do arquivo do aplicativo do servidor e renomeie-o para frontline.jar.
- Faça o download do wrapper do serviço do servidor na mesma página.
O FCC requer um diretório de instalação e um diretório de dados:
- Diretório de instalação - Contém o arquivo frontline.jar e os arquivos WinSW_frontline.exe e WinSW_frontline.xml do serviço wrapper.
- Localização:
C:\Frontline
- ID:
$BASE$
- Diretório DATA - Esse é usado como diretório inicial. É usado para ativos do cliente, como cartões de login e temas. Crie uma nova pasta dentro do diretório de instalação e nomeie-a DATA.
- Localização:
C:\Frontline\DATA
- ID:
$FRONTLINE_HOME$
Observação: os IDs de local $BASE$
e $FRONTLINE_HOME$
serão usados como referência nos exemplos de código a seguir.
O wrapper de serviço WinSW_frontline.exe
permite que os usuários instalem o serviço FCC como um serviço Windows.
- Opcional: se você precisar configurar um proxy de encaminhamento (por exemplo, para permitir que a FCC acesse nosso servidor de licenças), abra o arquivo WinSW_frontline.xml e adicione
-Dhttps.proxyHost
=$ HOST -Dhttps.proxyPort=$PORT -Dhttps.nonProxyHosts=localhost
ao início do elemento <arguments>
, substituindo $HOST
e $PORT
pelos valores do seu proxy. - Abra um prompt de comando (com direitos de administrador).
- Altere o diretório para
$BASE$
. - Execute a
instalação do WinSW_frontline.exe
. - net start frontline(a ID de serviço padrão é frontline).
Durante a primeira inicialização, o serviço será interrompido automaticamente após a extração dos arquivos de configuração. O site Windows pode informar que o serviço falhou ou sofreu uma falha.
O diretório de configuração do FCC está localizado dentro do diretório $FRONTLINE_HOME$
. O local deve ser C:\Frontline
\DATA\config\configuration\. O arquivo de configuração xserver.properties deve ser editado conforme explicado abaixo.
Configuração inicial do Frontline Command Center (Ubuntu e Windows)
- Abra o arquivo xserver.properties localizado em
UBIMAX_HOME/config/configuration/
. - Altere o IP, o nome de usuário e a senha do banco de dados (para visualizar o endereço IP, use o comando
ip addr show
). - Se o cliente tiver um nome host,
xserver.url.external.http
poderá ser usado em vez do endereço IP. A porta precisa ser mencionada emserver.port
. O SSL precisa ser configurado, a menos que haja um proxy reverso com terminação SSL.
Dependendo do sistema e dos requisitos individuais, é necessária a instalação ou a configuração de componentes como Keycloak, xAssist Stack, ffmpeg, Email e FaaS.
FaaS (obrigatório)
1. Para usar os serviços de nuvem do Frontline, defina a seguinte propriedade:
fcc.faas.base-url=https://functions.svc.frontlineworker.com/function/
2. Para auto-hospedagem, o ponto de extremidade de cada FaaS pode ser substituído individualmente:
fcc.faas.function.<function>.override-url=
Considerando que a função é imagemagick
, pdfmake
ou proglove
.
3. Para o ImageMagick e o Proglove, não é necessária nenhuma configuração adicional.
4. Para o PDFMake, é necessário definir as seguintes variáveis ambientais:
RAW_BODY: "true"
MAX_RAW_SIZE: "100mb"
Iniciando o servidor
- Após a conclusão da configuração das propriedades, inicie o servidor usando este comando:
systemctl start frontline.service
(UBUNTU) ou net start frontline
(WINDOWS) - O estado do serviço pode ser verificado em
UBIMAX_HOME/log/server/fronline.log
. - Na primeira inicialização bem-sucedida do FCC, um usuário administrador do sistema chamado
sysadmin
é criado com uma senha aleatória. Esse usuário é usado para configurar o FCC. - A senha do usuário
sysadmin
pode ser recuperada nos arquivos de registro localizados em$FRONTLINE_HOME\logs
. - Abra o arquivo.logfrontlinee a senha será exibida no seguinte formato:
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - YOUR GENERATED SYSADMIN PASSWORD: 123456789 - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - CHANGE THIS PASSWORD AS SOON AS POSSIBLE TO A PERSONALIZED ONE. - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - #####################################################
6. Faça login usando o usuário sysadmin
e altere a senha.
Para importar uma licença:
- Abra o Frontline Command Center.
- Vá para Configuration (Configuração).
- Vá para Licenses (Licenças).
- Clique em Importar licença.
- No modal exibido posteriormente, clique em Import License (Importar licença ) para sincronizar a entrada com o servidor de licenças.
Keycloak (obrigatório)
Há dois modos de operação ao executar o Keycloak: modo autônomo e modo em cluster. A escolha de um deles depende de suas necessidades individuais. Para obter um guia detalhado sobre como configurar qualquer um deles, consulte o guia oficial de instalação do Keycloak. Frontline é compatível com a versão 15 ou posterior.
Após a instalação bem-sucedida do Keycloak, os reinos a serem usados nessa instalação precisam ser criados. Cada domínio de uma instalação do FCC precisa ter um realm separado.
- Faça o download desse arquivo JSON.
- Abra o arquivo JSON de exportação do reino.
- Substitua todas as ocorrências de
<the-fcc-url>
pelo URL real da FCC. - Opcional: Substitua todas as ocorrências de
frontline-realm por outro nome de realm (aplicável somente se forem necessários vários realms
Frontline no Keycloak). - Opcional: Search for
"claim.name": "domain"
and replace the corresponding domain value (only applicable, if FCC will use a domain other than the default ubimax
domain). - Faça login no console de administração do Keycloak por meio do navegador.
- Clique em Select Realm.
- Selecione Add realm.
- Selecione um arquivo a ser importado.
- Abra o reino importado.
- Navegue até
Clientes/FCC/Credenciais
. - Clique em Regenerate Secret (Regenerar segredo).
- Copie esse valor.
- O valor copiado precisa ser definido no arquivo xserver.properties do FCC como
fcc.keycloak.realms.<domain>.clientSecret
(<domain> é ubimax
por padrão). - Opcional: Configure um servidor SMTP na guia de e-mail das Configurações de Domínio.
- Depois que o Keycloak tiver sido configurado, as seguintes propriedades deverão ser definidas por domínio no arquivo xserver.properties do FCC:
- Todos os espaços reservados escritos em chevrons (<>) devem ser substituídos pelos detalhes correspondentes.
- O objetivo é definir o
URI do KeyMan
como nulo
.
fcc.keycloak.enabled=true
fcc.keycloak.realms.<domain>.name=<realm-name>
fcc.keycloak.realms.<domain>.domainTag=<domain>
fcc.keycloak.realms.<domain>.realmId=<realm-name>
fcc.keycloak.realms.<domain>.serverUrl=<keycloak-external-url>
fcc.keycloak.realms.<domain>.clientId=fcc
fcc.keycloak.realms.<domain>.clientSecret=<client-secret>
fcc.keycloak.keyman.uri=
Observação:o KeyMané um serviço que executa automaticamente todas as etapas descritas acima nas instâncias do Frontline Cloud e não é necessário para o Keycloak auto-hospedado.
Fazer upload do aplicativo do cliente
Depois que o Keycloak for configurado, um usuário administrador deverá ser criado e o aplicativo cliente deverá ser carregado no Frontline Command Center.
- Crie um usuário com uma função de administrador usando as etapas mencionadas na página Gerenciamento de usuários.
- Faça o download do aplicativo de vidro inteligente Frontline Workplace mais recente na página Downloads .
- Em Frontline Command Center, no canto superior esquerdo, selecione Navigation Pane (Painel de navegação).
- Vá para Configuration (Configuração).
- Siga as etapas mencionadas na página Gerenciamento de aplicativos para carregar o aplicativo.
Integração do IAM
Para facilitar o gerenciamento de usuários, o site Frontline suporta a sincronização de detalhes de usuários do seu provedor de identidade para o FCC. Se esse mapeamento estiver ativado, o FCC processará os detalhes do usuário do IDP e não permitirá substituí-los no nível de administração do FCC. Os detalhes sincronizados do usuário são preferências de idioma, funções, alocação de licenças e equipes.
Atualmente, o site Frontline é compatível com os seguintes tipos de IAM:
- Diretório Ativo do Microsoft Azure
- Microsoft Active Directory
- Gerenciamento de identidade e acesso da AWS
As funções, licenças e equipes não serão aplicadas com sucesso nos seguintes casos:
- Licença, funções ou equipe não correspondem 100% no IDP e no FCC (aplica-se a distinção entre maiúsculas e minúsculas)
- A FCC não tem licenças gratuitas (para funções e mapeamento de licenças)
- O usuário ainda não fez login (a sincronização só ocorre quando um usuário faz login)
As funções e equipes disponíveis dos provedores de identidade devem ser cuidadosamente definidas para que as funções, licenças e equipes possam ser mapeadas com sucesso:
- <LicenseName> aloca a licença para um usuário específico (por exemplo, License_xAssist)
- <RoleName> atribui uma função a um usuário específico e assume uma licença (por exemplo, Administrator)
- <Team> atribui um determinado usuário a uma equipe no FCC
Corretagem de identidade (opcional)
Observação: a intermediação de identidade só é compatível com as instalações do FCC em que os usuários estão totalmente presentes no Keycloak. Ele só funciona depois que todos os usuários existentes tiverem feito login com o Keycloak pelo menos uma vez ou em novas instalações em que o Keycloak tenha sido ativado desde o início.
Com a intermediação de identidade, os reinos do Keycloak podem ser conectados a provedores de identidade (IDPs) externos baseados em OpenID. Isso significa que, em vez de inserir as credenciais no Keycloak, o usuário é redirecionado para um IDP externo (por exemplo, Azure AD ou Okta) e, após a autenticação bem-sucedida, é levado de volta ao Keycloak (e depois para Frontline).
A imagem abaixo mostra o processo básico de autenticação sempre que um usuário faz login:
O usuário nunca compartilhará sua senha com a FCC, mas será redirecionado para o Keycloak e para o provedor de identidade que criará um token de autenticação. Por padrão, o Keycloak tenta fazer a correspondência entre o usuário externo e um usuário existente do site Frontline por meio do endereço de e-mail. Se isso não for possível (se nenhum usuário correspondente for encontrado), o procedimento de login será abortado e o acesso a Frontline será negado.
Um reino do Keycloak pode conter vários agentes de identidade (por exemplo, Azure AD). Isso adiciona a possibilidade de fazer login com contas locais, bem como com diferentes contas externas. Em determinados cenários, pode ser vantajoso criar usuários imediatamente quando um novo usuário tentar fazer login. Isso é chamado de provisionamento de usuários e pode ser ativado usando a seguinte propriedade no FCC:
fcc.keycloak.user-provisioning.enabled=true
Além disso, as seguintes propriedades precisam ser configuradas:
server.servlet.session.cookie.same-site=none
server.servlet.session.cookie.secure=true
Isso de fato criará contas de usuário no primeiro login, mas a conta em si é praticamente inútil nesse momento, pois não tem um nível de licença nem funções atribuídas. Esse comportamento pode ser alterado por meio das seguintes propriedades. As alterações a seguir farão com que todos os usuários provisionados terminem no FCC com a função xAssist do nível de licença xAssist atribuído:
fcc.keycloak.user-provisioning.default-license-tiers=xAssist
fcc.keycloak.user-provisioning.default-roles=xAssist
A intermediação de identidade exigirá alguma configuração por parte do provedor de identidade que você deseja usar. O exemplo abaixo mostra como configurar o Azure AD como um provedor de identidade. Outros provedores de identidade seguem abordagens semelhantes.
Para configurar o Azure AD como um provedor de identidade no Keycloak:
- Selecione seu reino.
- Vá para Identity Providers (Provedores de identidade).
- Adicione um novo provedor OpenID Connect v1.0.
- Role até o final para Import External IDP Config.
- Cole o URL do Discovery.
- Clique em Importar. Isso deve preencher os campos como URL de autorização ou URL de token.
- Edite manualmente os seguintes valores:
- Alias e Name (Alias e nome ) - podem ser definidos como valores personalizados; o nome é o que será mostrado posteriormente na página de login, enquanto o alias é encontrado no URI de redirecionamento.
- ClientAuthMethod - Selecione
client_secret_post
. - ClientID - Encontrado ao criar um aplicativo no Azure.
- ClientSecret - Encontrado ao criar um aplicativo no Azure.
- Salve o provedor de identidade recém-adicionado. Depois disso, ele deverá aparecer na página de logon único.
Azure AD como provedor de identidade
- Faça login no Azure.
- Navegue até Registros de aplicativos.
- Vá para New Registration (Novo registro).
- Nomeie o aplicativo como Frontline Keycloak.
- Defina-o como Single Tenant. O URI de redirecionamento ainda não é necessário.
6. Depois que o aplicativo é criado, ele mostra o ID do cliente na página principal.
7. O URL de descoberta pode ser encontrado em Endpoints. É o documento de metadados do OpenID Connect.
8. Gerar o segredo do cliente. Para isso, clique nas credenciais atuais do cliente.
9. Para adicionar um novo segredo de cliente, clique em New client secret (Novo segredo de cliente). A descrição deve ser Frontline secret e a duração deve ser definida como 24 meses.
10. Depois que o segredo tiver sido adicionado, será gerada uma entrada com um valor e um ID do segredo.
Observação: copie imediatamente e armazene com segurança o valor, pois ele não estará disponível posteriormente, pois é o segredo do cliente.
Para configurar o URI de redirecionamento ausente no Azure:
- Navegue até nosso aplicativo Frontline Keycloak por meio do registro do aplicativo.
- Selecione Redirecionar URIs.
3. Selecione Adicionar uma plataforma/ Web.
4. O URI de redirecionamento que precisa ser inserido tem a seguinte aparência:
<Local-Keycloak-Url>/auth/realms/<your-realm-name>
.