Como configurar o IIS 7 para sincronização da Web
Os procedimentos deste tópico guiarão você pelo processo de configuração manual do Serviços de Informações da Internet (IIS) versão 7 da Microsoft para uso com sincronização da Web para replicação de mesclagem. A configuração manual é necessária porque o Assistente para Configurar Sincronização da Web não tem suporte no IIS 7.0.
A configuração do IIS 7 é a primeira das três etapas necessárias para habilitar a sincronização da Web.
Para obter uma visão geral de todo o processo de configuração, consulte Configurando a sincronização da Web.
Importante |
---|
Verifique se seu aplicativo usa apenas o .NET Framework 2.0 ou versões posteriores e se as versões anteriores do .NET Framework não estão instaladas no servidor IIS. Versões anteriores do .NET Framework podem provocar erros, como: "Formato inválido de uma mensagem durante a sincronização da Web. Verifique se os componentes de replicação estão adequadamente configurados no servidor Web". |
Para usar a sincronização da Web, é necessário configurar o IIS 7 concluindo as etapas a seguir. Cada etapa é descrita em detalhes neste tópico.
Instale e configure o Microsoft SQL Server Replication Listener no computador que está executando o IIS.
Configure o protocolo SSL. O SSL é necessário para a comunicação entre o IIS e todos os assinantes.
Configure a autenticação IIS.
Configure uma conta e defina as permissões para o SQL Server Replication Listener Replicação.
Instalando o SQL Server Replication Listener
Para instalar e configurar o SQL Server Replication Listener
Crie um novo diretório de arquivos para replisapi.dll no computador que está executando o IIS. Você pode criar o diretório onde desejar, mas é recomendável criá-lo no diretório <drive>:\Inetpub. Por exemplo, crie o diretório <drive>:\Inetpub\SQLReplication\.
Copie replisapi.dll do diretório <unidade>:\Arquivos de Programas\Microsoft SQL Server\100\com\ para o diretório de arquivos que você criou na etapa 1.
Registre replisapi.dll:
Clique em Iniciar e depois em Executar. Na caixa Abrir, digite cmd e clique em OK.
No diretório criado na etapa 1, execute o comando a seguir:
regsvr32 replisapi.dll
Crie um novo site para replicação ou use um site existente. Esse site será acessado pelos componentes de replicação durante a sincronização. Os procedimentos deste tópico pressupõem o Site Padrão. Para obter mais informações sobre como criar sites, consulte a documentação do IIS
Crie um diretório virtual no IIS. O diretório virtual deve ser criado no site criado na etapa 4 e deve ser mapeado para o diretório que foi criado na etapa 1. Seja o mais restritivo possível ao atribuir a esse diretório. Você deve selecionar pelo menos as permissões de Leitura e Execução.
No Gerenciador dos Serviços de Informações da Internet (IIS), no painel Conexões, clique com o botão direito em Site Padrão e selecione Adicionar Diretório virtual.
Em Alias, digite SQLReplication.
Em Caminho Físico, digite <unidade>:\Inetpub\SQLReplication\ e clique em OK.
Configure o IIS para habilitar a execução de replisapi.dll.
No Gerenciador dos Serviços de Informações da Internet (IIS), clique em Site Padrão.
No painel central, clique em Mapeamentos do Manipulador.
No painel Ações, clique em Adicionar Mapeamento de Módulo.
Em Caminho de Solicitação, digite replisapi.dll.
Na lista suspensa Módulo, selecione IsapiModule.
Em Executável, digite <unidade>:\Inetpub\SQLReplication\replisapi.dll.
Em Nome, digite Replisapi.
Clique no botão Restrições da Solicitação, clique na guia Acesso e clique em Executar.
Clique em OK para fechar a caixa de diálogo Restrições da Solicitação e clique em OK novamente para fechar a caixa de diálogo Adicionar Mapeamento de Módulo. Quando for solicitado a permitir a extensão de ISAPI, clique em Sim para adicionar a extensão.
Verifique se Replisapi.dll está listado sob os mapeamentos do manipulador Habilitados. Se ele estiver na lista Desabilitados, clique com o botão direito do mouse na entrada Replisapi e clique em Editar Permissões de Recurso. Marque a caixa de seleção Executar e clique em OK.
Configurando a Autenticação IIS
Quando os computadores assinantes se conectam ao IIS, o IIS deve autenticar os assinantes para que eles possam acessar recursos e processos. A autenticação pode ser aplicada para todo o site ou para o diretório virtual que você criou.
É recomendável o uso da Autenticação Básica com SSL. O SSL é necessário, independentemente do tipo de autenticação usado.
É recomendável usar a Autenticação Básica com SSL. O SSL é necessário, independentemente do tipo de autenticação usado.
Para configurar a Autenticação IIS
No Gerenciador dos Serviços de Informações da Internet (IIS), clique em Site Padrão.
No painel do meio, clique duas vezes em Autenticação.
Clique com o botão direito do mouse em Autenticação Anônima e escolha Desabilitar.
Clique com o botão direito do mouse em Autenticação Básica e escolha Habilitar.
Configurando o protocolo SSL
Para configurar o SSL, especifique um certificado a ser usado pelo computador que está executando o IIS. A sincronização da Web para replicação de mesclagem dá suporte ao uso de certificados de servidor, mas não de certificados de cliente. Para configurar o IIS para implantação, você deve obter primeiro um certificado de uma CA (autoridade de certificação). Para obter mais informações sobre certificados, consulte a documentação do IIS.
Depois de instalar o certificado, você deve associar o certificado ao site que é usado pela sincronização da Web. Para desenvolvimento e testes, você pode especificar um certificado autoassinado. O IIS 7 pode criar um certificado para você e registrá-lo em seu computador.
A diferença entre a implantação para produção e os procedimentos fornecidos aqui é que, em produção e em testes de pré-produção, você usa um certificado emitido por uma CA em vez de um certificado autoassinado.
Importante |
---|
Um certificado autoassinado não é recomendável para uma instalação de produção. Certificados autoassinados não são seguros. Use certificados autoassinados apenas para desenvolvimento e testes. |
Para configurar o SSL, você executará as etapas a seguir:
Configure o site para exigir o SSL e ignorar certificados de cliente.
Obtenha um certificado de uma CA ou crie um certificado autoassinado.
Associe o certificado ao site de replicação.
Para exigir segurança de SSL para um site
No Gerenciador dos Serviços de Informações da Internet (IIS), expanda o nó do servidor local e clique no Site Padrão (ou no seu site de sincronização da Web se ele for diferente do site padrão).
No painel do meio, clique duas vezes em Configurações de SSL.
Marque a opção Exigir SSL. Em Certificados de cliente, verifique se o botão Ignorar está selecionado.
Para criar um certificado autoassinado para testes
Em Gerenciador dos Serviços de Informações da Internet (IIS), clique no nó do servidor local e, em seguida, no painel central, clique duas vezes em Certificados de Servidor.
No painel Ações, clique em Criar Certificado Autoassinado.
Na caixa de diálogo Criar Certificado Autoassinado, digite um nome para o certificado e clique em OK.
Para associar um certificado a um site
No painel Conexões, clique no Site Padrão (ou no seu site de sincronização da Web, se ele for diferente do site padrão).
No painel Ações, clique em Associações e, em seguida, em Adicionar. A caixa de diálogo Adicionar Ligação do Site será exibida.
Na lista suspensa Tipo, selecione https. Deixe as configurações padrão de Endereço IP e Porta.
Na lista suspensa Certificado SSL, selecione o certificado criado em "Para criar um certificado autoassinado para testes", clique em OK e, em seguida em Fechar.
Para testar o certificado
No Gerenciador dos Serviços de Informações da Internet (IIS), clique em Site Padrão.
No painel Ações, clique em Procurar *: 443(https).
O Internet Explorer será aberto e exibirá uma mensagem informando que "Há um problema com o certificado de segurança deste site". Este aviso informa que o certificado associado não foi emitido por uma CA reconhecida e talvez não seja confiável. Esse é um aviso esperado, portanto, clique em Continuar neste site (não recomendado).
Se for solicitado a Conectar ao host local, digite um nome de usuário e senha para continuar. Você deve ver a página padrão do site.
Definindo permissões para o SQL Server Replication Listener
Quando um computador assinante se conecta ao computador que está executando o IIS, o assinante é autenticado usando o tipo de autenticação especificado quando o IIS foi configurado. Depois de autenticar o assinante, o IIS verifica se o assinante está autorizado a chamar a replicação do SQL Server. Você controla os usuários que podem chamar a replicação do SQL Server definindo permissões para replisapi.dll. É necessário configurar corretamente as permissões para impedir acesso não autorizado à replicação do SQL Server.
Para configurar as permissões mínimas para a conta sob a qual o SQL Server Replication Listener é executado, execute o procedimento a seguir. As etapas do procedimento a seguir se aplicam ao Microsoft Windows Server 2008 que está executando o IIS 7.0.
Além de executar as etapas a seguir, verifique se os logons necessários estão na lista de acesso à publicação (PAL). Para obter mais informações sobre a PAL, consulte Protegendo o Publicador.
Importante a conta criada nesta seção é a conta que se conectará ao Publicador e ao Distribuidor durante a sincronização. Essa conta deve ser adicionada como uma conta de logon do SQL no servidor de distribuição e de publicação.
A conta usada para o SQL Server Replication Listener deve ter permissões conforme descrito no tópico Segurança do Merge Agent, na seção "Conectar-se ao Publicador ou ao Distribuidor".
Em resumo, a conta deve:
Ser um membro da lista de acesso à publicação (PAL).
Ser mapeada para um logon associado a um usuário no banco de dados de publicação.
Ser mapeada para um logon associado a um usuário no banco de dados de distribuição.
Ter permissões de Leitura no compartilhamento de instantâneos.
Para configurar a conta e as permissões
Crie uma conta local no computador que está executando o IIS:
Abra o Server Manager. No menu Iniciar, clique com o botão direito do mouse em Computador e clique em Gerenciar.
No Server Manager, expanda Configuração e, em seguida, expanda Usuários Locais e Grupos.
Clique com o botão direito do mouse em Usuários e clique em Novo Usuário.
Digite um nome de usuário e uma senha forte. Limpe O usuário deve alterar a senha no próximo logon.
Clique em Criar e, em seguida, em Fechar.
Adicione a conta ao grupo IIS_IUSRS:
No Server Manager, expanda Configuração e, em seguida, expanda Usuários Locais e Grupos e clique em Grupos.
Clique com o botão direito do mouse em IIS_IUSRS e, em seguida, clique em Adicionar ao Grupo.
Na caixa de diálogo Propriedades de IIS_IUSRS, clique em Adicionar.
Na caixa de diálogo Selecionar Usuários, Computadores ou Grupos, adicione a conta criada na etapa 1.
Verifique se Deste local exibe o nome do computador local (não um domínio). Se esse campo não exibir o nome do computador local, clique em Locais. Na caixa de diálogo Locais, selecione o computador local e clique em OK.
Nas caixas de diálogo Selecionar Usuários e Propriedades de IIS_IUSRS, clique em OK.
Conceda as permissões mínimas de conta na pasta que contém replisapi.dll:
No Windows Explorer, clique com o botão direito do mouse na pasta que você criou para replisapi.dll e clique em Propriedades.
Na guia Segurança, clique em Editar.
Na caixa de diálogo Permissões para <foldername>, clique em Adicionar para adicionar a conta que você criou na etapa 1.
Verifique se Deste local exibe o nome do computador local (não um domínio). Se esse campo não exibir o nome do computador local, clique em Locais. Na caixa de diálogo Locais, selecione o computador local e clique em OK.
Verifique se a conta recebe apenas as permissões Leitura, Leitura & Execução e Listar Conteúdos de Pastas.
Selecione qualquer usuário ou grupo que não requeira acesso ao diretório, clique em Remover e clique em OK.
Crie um pool de aplicativos no Gerenciador dos Serviços de Informação de Internet (IIS):
No Gerenciador dos Serviços de Informações da Internet (IIS), no painel Conexões, expanda o nó do servidor local.
Clique com o botão direito do mouse em Pools de Aplicativos e clique em Adicionar Pool de Aplicativos.
Digite um nome para o pool de aplicativos, deixe os valores padrão para as pastas restantes e clique em OK.
Observação Se você prevê que terá mais de dois clientes de sincronização simultâneos, poderá criar um ambiente Web. Para obter mais informações, consulte "Criando um ambiente Web" em Configurando a sincronização da Web.
Associe a conta ao pool de aplicativos:
No Gerenciador dos Serviços de Informações da Internet (IIS), expanda o nó do servidor local e clique em Pool de Aplicativos.
Clique com o botão direito do mouse no pool de aplicativos que você criou e clique em Definir Padrões do Pool de Aplicativos.
Na caixa de diálogo Padrões do Pool de Aplicativos, role até a seção Modelo de Processo e clique no campo Identidade.
Clique no botão de elipse à direita da linha Identidade.
Clique no botão de opção Conta Personalizada e clique em Definir.
Nos campos Nome de usuário e Senha, digite a conta e a senha que foram criadas na etapa 1 e clique em OK.
Clique em OK para fechar a caixa de diálogo Identidade do Pool de Aplicativos e clique em OK novamente para fechar a caixa de diálogo Padrões do Pool de Aplicativos.
Associe o pool de aplicativos ao site de replicação:
Em Gerenciador dos Serviços de Informações da Internet (IIS), expanda o nó do servidor local e clique no Site Padrão (ou no seu site de sincronização da Web se ele for diferente do site padrão).
No painel Ações, sob Gerenciar Site, clique em Configurações Avançadas.
Na caixa de diálogo Configurações Avançadas, clique no botão de elipse à direita de Pool de Aplicativos.
Na lista suspensa Pool de aplicativos, selecione o pool de aplicativos que você criou na etapa 4 e clique em OK.
Clique em OK novamente para fechar as Configurações Avançadas.
Testando a conexão com replisapi.dll
Execute a sincronização da Web em modo de diagnóstico para testar a conexão com o computador que está executando o IIS e certificar-se de que o certificado SSL está instalado adequadamente. Para executar a sincronização da Web em modo diagnóstico, você deve ser um administrador no computador que executa o IIS.
Para obter informações sobre como modificar as informações adicionadas ao arquivo Websync.log, consulte Como modificar o registro em log ao conectar a um servidor no modo diagnóstico.
Para testar a conexão com replisapi.dll
Certifique-se de que as configurações de rede local (LAN) no Assinante estão corretas:
No Microsoft Internet Explorer, no menu Ferramentas, clique em Opções da Internet.
Na guia Conexões, clique em Configurações da LAN.
Se um servidor proxy não for usado na rede local, desmarque Detectar Automaticamente as Configurações e Usar um servidor proxy para a rede local.
Se um servidor proxy for usado, clique em Usar um servidor proxy para a rede local e Ignorar servidor proxy para endereços locais e clique em OK.
No Assinante, no Internet Explorer, conecte-se ao servidor em modo diagnóstico acrescentando ?diag ao endereço para o replisapi.dll. Por exemplo: https://server.domain.com/directory/replisapi.dll?diag.
Observação No exemplo anterior, server.domain.com deve ser substituído pelo nome exato de Emitido para listado na seção Certificados de Servidor no Gerenciador do IIS.
Se o certificado especificado para o IIS não for reconhecido pelo sistema operacional Windows, a caixa de diálogo Alerta da Segurança será exibida. Esse alerta pode ocorrer porque o certificado é um certificado de teste ou porque o certificado foi emitido por uma autoridade de certificação (CA) que não é reconhecida pelo Windows.
Observação Se essa caixa de diálogo não aparecer, certifique-se de que o certificado para o servidor que você está acessando foi adicionado ao repositório de certificados no Assinante como um certificado confiável. Para obter mais informações sobre exportação de certificados, consulte a documentação do IIS.
Na caixa de diálogo Alerta de Segurança, clique em Exibir Certificado.
Na caixa de diálogo Certificado, na guia Geral, clique em Instalar Certificado.
Conclua o Assistente para Importação de Certificados, aceitando os padrões.
Na caixa de diálogo Aviso de Segurança, clique em Sim.
Na caixa de diálogo de confirmação do Assistente para Importação de Certificados, clique em OK.
Feche a caixa de diálogo Certificado.
Na caixa de diálogo Alerta de Segurança, clique em Sim.
Observação Os certificados serão instalados para os usuários. Esse processo deve ser executado para cada usuário que sincronizará com o IIS.
Na caixa de diálogo Conectar-se ao <Nome_do_Servidor>, especifique o logon e a senha que o Merge Agent usará para se conectar ao IIS. Essas credenciais também serão especificadas no Assistente para Nova Assinatura.
Na janela do Internet Explorer chamada informação diagnóstica do SQL Websync, verifique se o valor em cada coluna Status na página é ÊXITO.
Certifique-se de que o certificado está instalado corretamente no Assinante:
Feche e depois reabra o Internet Explorer.
Conecte ao servidor em modo diagnóstico. Se o certificado estiver instalado corretamente, a caixa de diálogo Alerta de Segurança não aparecerá. Se a caixa de diálogo aparecer, o Merge Agent apresentará falha quando tentar se conectar ao computador que está executando o IIS. Você deve certificar-se de que o certificado para o servidor que você está acessando foi adicionado ao repositório de certificados no Assinante como um certificado confiável. Para obter mais informações sobre exportação de certificados, consulte a documentação do IIS.
Consulte também