Guia de Instalação
Este documento acompanha Sites, Máquinas Virtuais, Portal de Gerenciamento de Serviços e API de Gerenciamento de Serviços e fornece instruções de instalação passo a passo para o Portal de Gerenciamento de Serviços e API e os componentes de sites.
Topologia do ambiente
Sites de Portal de Gerenciamento de Serviços e API
O Portal de Gerenciamento de Serviços e API consistem nos seguintes componentes:
Site de administração do gerenciamento de serviços: - onde administradores podem criar nuvens de sites, nuvens de máquinas virtuais, criar planos e gerenciar assinaturas de usuário.
Site de locatário do gerenciamento de serviços: - onde os usuários podem criar e inscreverem-se em sites, máquinas virtuais e bancos de dados.
API do gerenciamento de serviços: - a camada de API expõe a funcionalidade para gerenciar serviços como sites, máquinas virtuais e bancos de dados de aplicativo para Sites de Administração e Locatário por meio de uma interface unificada. A API de Gerenciamento de Serviços é composta de 3 interfaces distintas:
API de Administração do Gerenciamento de Serviços – expõe a funcionalidade para concluir tarefas administrativas no Site de Administração de Gerenciamento de Serviços ou por meio do uso de cmdlets do PowerShell.
Observação
É recomendável que a API de Administração seja instalada em um computador ou computadores que estejam por trás de um firewall ou que, de outra forma, não estejam acessíveis pela Internet porque a API de Administração do Gerenciamento de Serviços é destinada para realizar tarefas administrativas amplas de infraestrutura.
API de Locatário do Gerenciamento de Serviços – permite que os usuários finais, ou locatários, gerenciem e configurem os serviços em nuvem incluídos com o Plano ou Planos que eles assinaram.
Observação
É recomendável que a API de Locatário seja instalada em um computador ou computadores que estejam por trás de um firewall ou que, de outra forma, não estejam acessíveis pela Internet porque fornece a capacidade de realizar operações críticas como Criar/Excluir assinaturas e manipulação de recursos em assinaturas.
API Pública de Locatário do Gerenciamento de Serviços – permite que os usuários finais gerenciem e configurem os serviços em nuvem incluídos com o Plano ou Planos que eles assinaram. A API Pública de Locatário foi criada para atender a todas as necessidades de usuários finais que assinam os vários serviços fornecidos por um Provedor de Serviços de Hospedagem.
Observação
É recomendável que a API Pública de Locatário seja instalada em um computador ou computadores acessíveis a usuários finais na Internet.
Observação
Os Sites e a API de Gerenciamento de Serviços podem ser instalados em um único computador com uma opção Portal de Gerenciamento de Serviços e API Express de Gerenciamento de Serviços no Instalador de Plataforma da Web. Uma instalação distribuída também é possível instalando-se vários componentes em computadores diferentes que podem oferecer maior escala e produtividade.
Funções de sites
Controlador de sites - versão aprimorada de WFF (Web farm Framework) que provisiona e gerencia Funções de sites.
API de REST de sites - API de gerenciamento de sites exposta via ponto de extremidade de REST.
Web Workers - versão específica para sites do servidor Web do IIS que processa solicitações de Web do cliente. Web workers podem ser 'Compartilhados' ou 'Reservados'.
Front-End - versão específica para sites do ARR (Application Request Routing) que aceita solicitações da Web de clientes, encaminha solicitações para web workers e retorna respostas de web workers para clientes.
Publicador - versão específica para sites de WebDeploy e FTP que fornece publicação de conteúdo transparente para WebMatrix, Visual Studio e clientes de FTP.
Servidor de arquivos - fornece serviços de arquivos para hospedar conteúdo de site.
Importante
Antes de adicionar uma função de site a um computador, verifique se as configurações de firewall do computador permitem acesso de entrada para os serviços a seguir:
- WMI-In (Instrumentação de Gerenciamento do Windows)
- DCOM-In (Instrumentação de Gerenciamento do Windows)
- SMB-In (Compartilhamento de arquivos e impressora)
Bancos de dados
SQL Server - funcionalidade autônoma de criação de banco de dados assim como para sites que exigem um banco de dados SQL.
My SQL Server - funcionalidade autônoma de criação de banco de dados assim como para sites que exigem um banco de dados MySQL.
Máquinas Virtuais
VMM (Virtual Machine Manager) - fornece o recurso para criar máquinas virtuais, redes virtuais, modelos e discos.
SPF (Service Provider Foundation) - expõe o recurso do Virtual Machine Manager via API de REST.
Observação
Este guia de instalação não aborda a implantação do Virtual Machine Manger e do SPF. Consulte os manuais de instalação do System Center 2012 SP1 para implantar o recurso de Máquina Virtual.
Máquinas virtuais/requisitos do sistema
O Portal de Gerenciamento de Serviços e API e os componentes de sites são destinados para serem executados em no mínimo 7 computadores (podem ser virtuais). Além destes computadores, é esperado que haja um ou mais servidores no datacenter executando o Microsoft SQL Server e o MySQL Server.
O SQL Server, o MySQL Server e o Servidor de arquivos podem coexistir, e o computador host do Hyper-V, mas não devem ser instalados nas mesmas máquinas virtuais que outras funções de sites. Use computadores de SQL Server separados ou instâncias de SQL separadas, no mesmo computador de SQL Server para isolar os bancos de dados de configuração de sites de bancos de dados de usuário/sites.
Convenção de nomenclatura
Nós recomendamos usar nomes de computadores descritivos para cada computador, como, por exemplo:
SvcMgmtPortal - para instalação Expressa
SvcMgmtAdmin, SvcMgmtTenant, SvcMgtAdminAPI, SvcMgtTenantAPI, SvcMgtTenPubAPI - para instalação distribuída
SitesController – controlador de nuvem de sites
SitesRESTAPI – camada de API de REST da nuvem de sites
SitesFE – Front-end de nuvem de sites
SitesPublisher – publicador de nuvem de sites
SitesWWS – Web Worker compartilhado de nuvem de sites
SitesWWR – Web Worker reservado de nuvem de sites
FileServer – servidor de arquivos de nuvem de sites
Memória
Para o Portal de Gerenciamento de Serviços e API, planeje reservar pelo menos
8GB de RAM se todos os três componentes estiverem instalados usando a instalação do Express no mesmo computador.
4GB de RAM para cada um dos três computadores se estiver usando a instalação distribuída.
Para os computadores de funções de sites, aloque pelo menos 4GB de RAM para cada função.
Não use memória dinâmica.
Espaço em disco
Aloque pelo menos a quantidade mínima de espaço em disco conforme solicitado pelo sistema operacional Windows Server 2012 para cada computador.
Para a função Servidor de arquivos, aloque espaço em disco suficiente para conteúdo de site gerado pelo usuário.
Requisitos de software
Sistema operacional Windows Server 2012
Baixe o WebPI (Instalador de Plataforma da Web)
Instale os itens a seguir sequencialmente usando WebPI:
Configuração recomendada de IIS
.NET Framework 3.5 SP1
.NET Framework 4.5
Desabilite o IE ESC para Administradores pelo Gerenciador de Servidor.
Todas as atualizações do Windows e de .NET.
Importante
Siga esta ordem de instalação para garantir o registro correto dos assemblies do .NET Framework.
Ambiente de rede
Configure o acesso de intranet e Internet para computadores que executam funções de site conforme descrito abaixo.
Acesso de entrada da Internet - As funções a seguir devem ser acessíveis pela Internet:
Front End – para aceitar solicitações do cliente para sites.
Publicador – para aceitar solicitações de ferramentas de publicação como WebMatrix e clientes de FTP.
Outras funções de sites não exigem acesso de Internet de entrada, pois não atendem a solicitações de usuários finais diretamente.
Acesso de saída para a Internet - é importante que todas as máquinas virtuais de sites, inclusive Web Workers, tenham o acesso de Web HTTP de saída para baixar dependências de software ao instalar as funções. Os sites requerem que os servidores tenham acesso à Internet de saída transparente. Apenas o acesso de proxy da Web não é suficiente.
UAC de sites
Em cada função de site, o UAC deve ser desabilitado como descrito abaixo:
Em cada computador, execute o comando a seguir em um prompt de comando elevado:
%windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
Reinicialize o computador.
Observação
Se você estiver conectado como um usuário que tem privilégios de Administrador em um computador remoto de função de nuvem de site, poderá desabilitar o UAC no computador remoto executando o comando a seguir em um prompt de comando elevado:
%windir%\System32\cmd.exe /k %windir%\System32\reg.exe ADD \\<machine_name>\HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
Substitua o nome do computador remoto da função de nuvem por <nome_do_computador> para desabilitar o UAC no computador remoto.
Requisitos do ambiente
Mapeamentos de DNS públicos
Por padrão, sites são criados em um domínio padrão. Quando um site é criado, os usuários podem adicionar nomes de domínios personalizados a cada site. Embora os sites de locatário possam ser configurados para dar suporte a domínios personalizados, eles não atualizam registros de DNS personalizados.
Para um determinado domínio como MyCloud.com, você criaria os registros de DNS A a seguir:
Nome do host |
IP para |
* |
Servidores de front-end |
ftp |
Servidores de publicação |
publish |
Servidores de publicação |
www |
Portal de Locatário do Gerenciamento de Serviços |
@ (ou em branco) |
Portal de Locatário do Gerenciamento de Serviços |
Este esquema de mapeamento permitiria que os usuários se conectassem em http://www.mycloud.com e http://mycloud.com para gerenciar seus sites. Este dois nomes de host são mapeados para os sites de portal que os usuários e administradores usam para gerenciar o software. Os portais são descritos posteriormente neste guia.
Nesta configuração, os sites criados pelo usuário são inicialmente criados usando domínios filho como site1.mycloud.com, site2.mycloud.com, etc...
A publicação de conteúdo por Implantação da Web e FTP usa publish.mycloud.com e ftp.mycloud.com respectivamente. A publicação de conteúdo por git usa *.scm.mycloud.com.
Observação
Não há nenhum requisito para um domínio especial para esta implantação. Você pode usar um subdomínio como my.yourdomain.com sob um domínio existente.
Preparação de compartilhamento de arquivo (opcional)
Se você usar um servidor de arquivos autônomo do Windows, a preparação do servidor de arquivos não é necessária e é automatizada durante o processo de instalação.
Porém, se você estiver usando um cluster de servidor de arquivos ou dispositivo NAS, deverá criar os compartilhamentos a seguir:
Compartilhamento de conteúdo – armazena conteúdo de site de locatário.
Compartilhamento de certificado – armazena certificados personalizados de locatário.
Além disso, você precisará criar os usuários com as seguintes permissões:
Usuário |
Permissões de compartilhamento de conteúdo |
Permissões de compartilhamento de certificado |
FileShareOwner |
Leitura/Gravação |
Leitura/Gravação |
FileShareUser |
Leitura/Gravação |
|
CertificateShareUser |
Leitura/Gravação |
Observação
Os sites usam uma nova tecnologia de segurança que não depende de permissões de compartilhamento por arquivo de site. Isto permite que os sites funcionem com implementações de armazenamento de arquivo heterogêneas como dispositivos NAS.
Em servidores ou clusters de arquivos do Windows, instale a função Serviços de Arquivo e o serviço de função Gerenciador de Recursos do Servidor de Arquivos no Servidor de Arquivos usando os seguintes comandos:
PowerShell.exe Enable-PSRemoting –Force
%windir%\system32\dism.exe /online /enable-feature /featurename:FSRM-Management /featurename:FSRM-Infrastructure
Preparação de conta de função
Crie as contas a seguir nas funções abaixo para permitir a comunicação entre funções:
Nome de usuário |
Servidor de Arquivos |
Publicador |
API de REST |
Front End |
FileShareUser |
X |
X |
||
FileShareOwner |
X |
X |
||
CertificateShareUser |
X |
X |
Observação
Quando você criar essas contas de usuário, verifique se as opções a seguir estão aplicadas:
- O usuário deve alterar a senha no próximo logon está desmarcada.
- O usuário não pode alterar senha está marcada.
- A senha nunca expira está marcada.
- Se usar contas locais (sem ser do Active Directory), as senhas devem corresponder nas várias funções.
SQL e MySQL
Se você não tiver instâncias de SQL ou MySQL Servers, poderá instalar o SQL Server Express ou MySQL 5.1 em (um dos) computadores do Portal de Gerenciamento de Serviço e API. Para garantir um desempenho adequado, é recomendável que o SQL Server e o MySQL sejam instalados em computadores separados.
Instale o SQL Server Express usando WebPI
Inicie o Instalador de Plataforma da Web.
Clique em Produtos e selecione Banco de Dados. Clique no botão Adicionar ao lado de SQL Server Express 2008 R2, SQL Server 2008 R2 Management Objects e SQL Server 2008 R2 Management Studio Express with SP1 e clique em Instalar.
Insira uma senha para a conta de sa, redigite a senha e clique em Continuar.
Aceite os contratos de licença. O Instalador de Plataforma da Web instalará o SQL Server Express.
Instalar o MySQL Server
Inicie o Instalador de Plataforma da Web.
Clique em Produtos, selecione Banco de Dados, clique em Adicionar ao lado de MySQL Windows 5.1 e clique em Instalar.
Insira uma senha para a conta raiz e clique em Continuar.
O MySQL para Windows 5.1 terminará de instalar.
Preparação do SQL Server/SQL Server Express
Verifique se os servidores de SQL que serão usados para armazenar o banco de dados de configuração de sites, assim como os bancos de dados por usuário/por site, são acessíveis remotamente.
Teste a conectividade de IP e a resolução de nomes entre todas as VMs.
Verifique se os SQL Servers têm acesso remoto habilitado.
Verifique se os SQL Servers têm autenticação de modo misto habilitada.
Habilite o protocolo TCP nos computadores do SQL Server.
Para o SQL Server, siga as etapas descritas em https://technet.microsoft.com/pt-br/library/ms191294.aspx.
Para o SQL Server Express, use o Gerenciador de Configuração do SQL Server para atualizar as portas TCP. Clique em Iniciar, Todos os Programas, Microsoft SQL Server 2008 R2, Ferramentas de Configuração, Gerenciador de Configuração do SQL Server para abrir o Gerenciador de Configuração do SQL Server. Em seguida, navegue para Protocolos para MSSQLSERVER e clique no protocolo TCP/IP. Verifique se o protocolo TCP/IP está habilitado.
Navegue para a guia Endereços IP e role até IPAll. Atualize a porta TCP para 1433 e verifique se a porta dinâmica TCP está desabilitada.
Reinicie o serviço do SQL Server (SQLEXPRESS).
Configurar o Firewall do Windows para acesso ao mecanismo de banco de dados:
Adicione a porta TCP 1433 às regras de Entrada como descrito em https://technet.microsoft.com/pt-br/library/ms175043.aspx.
Adicione SqlBrowser.exe (c:\Arquivos de Programas (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe) às regras de Entrada.
Habilite o serviço Navegador do SQL Server se alguma de suas instâncias do SQL Server estiver sendo executada em uma instância diferente da instância do SQL Server "padrão". Ou seja, Se as cadeias de conexão de SQL especificarem uma instância do SQL Server além do nome do computador (por exemplo YourSqlServerMachine\SqlExpress), o serviço SQL Server Browser deverá estar executando.
Preparação do MySQL Server
Verifique se os servidores de MySQL estão acessíveis.
Teste a conectividade de IP e a resolução de nomes.
Abra o TCP 3306 de Entrada no Firewall do Windows para cada computador que está executando MySQL.
Habilite o acesso remoto para MySQL:
Observação
Atualize a senha para a senha de raiz usada na hora da instalação. Os comandos a seguir presumem que a senha de raiz seja Pass@word1 $
Insira os seguintes comandos de um prompt de comando elevado:
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -u root -p
Enter password: **********
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Pass@word1$' WITH GRANT OPTION; FLUSH PRIVILEGES;
use mysql;
update user set grant_priv='Y' where user='root';
Verifique se o comando
update user
foi executado e, em seguida, digite o seguinte comando:exit;
Reinicie o serviço do MySQL usando o gerenciador de servidor ou digitando o seguinte em um prompt de comando elevado:
net stop mysql
net start mysql