Como configurar o IIS para sincronização da Web
Os procedimentos neste tópico compõem a segunda etapa da configuração da sincronização da Web para a replicação de mesclagem. Esta etapa é executada depois que você habilitou uma publicação para sincronização da Web. Para uma visão geral do processo de configuração, consulte Configurando a sincronização da Web. Após concluir os procedimentos neste tópico vá para a terceira etapa, configurando uma assinatura para usar a sincronização da Web. A terceira etapa é descrita nos seguintes tópicos:
SQL Server Management Studio: Como configurar uma assinatura para usar a sincronização da Web (SQL Server Management Studio)
Programação Transact-SQL de replicação: Como configurar uma Assinatura para usar a sincronização da Web (Programação Transact-SQL de replicação)
RMO: Como configurar uma assinatura para usar sincronização da Web (programação RMO)
A sincronização da Web usa um computador que esteja executando o IIS (Serviços de Informações da Internet) da Microsoft para sincronizar assinaturas pull para publicações de mesclagem. Existe suporte para as versões 5.0 e 6.0 do IIS e para o IIS 7.0. Não há suporte ao Assistente para Configurar Sincronização da Web no IIS 7.0. Para obter mais informações sobre como configurar manualmente o para a sincronização da Web, consulte Como Configurar o IIS 7 para Sincronização da Web.
Importante |
---|
Verifique se seu aplicativo usa apenas o .NET Framework 2.0 ou posterior e se versões anteriores do .NET Framework não estão instaladas no servidor IIS. Versões anteriores do .NET Framework podem causar erros. Estes incluem o seguinte: "O formato de uma mensagem durante a sincronização da Web era inválido. Certifique-se de que os componentes de replicação estejam configurados corretamente no servidor da Web". |
Para usar a sincronização da Web, é necessário configurar o IIS concluindo as etapas a seguir. Cada etapa é descrita em detalhes neste tópico.
Configure o protocolo SSL (Secure Sockets Layer). O SSL é necessário para a comunicação entre o IIS e todos os Assinantes.
Instale os componentes de conectividade do MicrosoftSQL Server no computador que está executando o IIS usando o Assistente de Instalação do SQL Server. Se você planeja usar o Assistente para Configuração da Sincronização da Web, mencionado na etapa 3, será preciso instalar o SQL Server Management Studio no computador que está executando o IIS.
Configure o computador que está executando o IIS para sincronização da Web. Você pode configurar o computador manualmente ou pode usar o Assistente para Configuração da Sincronização da Web. Recomendamos o uso do assistente.
Observação Se o computador que está executando o IIS tiver uma versão de 64 bits do Windows, será necessário executar o comando a seguir para verificar se o servidor está configurado adequadamente para executar os aplicativos ISAPI (Internet Server API). Para obter mais informações, consulte a documentação do IIS.
cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1
Defina as permissões apropriadas para o SQL Server Replication Listener.
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.
Configurando o protocolo SSL (Secure Sockets Layer).
Para configurar o protocolo SSL, especifique um certificado a ser usado pelo computador que está executando o IIS. A sincronização da Web para replicação de mesclagem fornece 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 autoridade de certificação (CA). Uma autoridade de certificação é uma entidade responsável por estabelecer e atestar a autenticidade das chaves de criptografia públicas que pertencem a usuários, computadores ou a outras autoridades 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 com o site da Web que é usado para sincronizar a assinatura da Web.
Para especificar um certificado para implantação
Faça logon no computador que está executando IIS como um administrador.
Inicie o Gerenciador dos Serviços de Informações da Internet (IIS):
Clique em Iniciar e depois em Executar.
Na caixa Abrir, digite inetmgr e depois clique em OK.
Execute o Assistente de Certificado IIS:
No Gerenciador dos Serviços de Informações da Internet (IIS), expanda o nó computador local e depois expanda a pasta Sites da Web.
Clique com o botão direito em Site Padrão da Webe depois clique em Propriedades.
Na caixa de diálogo Propriedades do Site Padrão da Web, na guia Segurança de Diretório, clique em Certificado do Servidor.
Conclua o Assistente de Certificado de Servidor Web.
Clique em OK.
Se não puder obter um certificado de servidor de uma CA, você poderá especificar um certificado a ser testado. Para configurar o IIS 6.0 para teste, instale um certificado usando o utilitário SelfSSL. Este utilitário está disponível no IIS 6.0 Resource Kit. Você pode baixar as ferramentas no Microsoft Download Center. Para o IIS 5.0, vá para Microsoft Help and Support.
Observação |
---|
Um certificado deve ser associado a um site da Web antes que esse site possa usar o SSL. O SelfSSL associa o certificado automaticamente com o site da Web padrão. Se já tiver um certificado ou se instalar depois um certificado de uma CA, você deve associar explicitamente esse certificado ao site da Web que é usado para a sincronização da Web. Certifique-se de haver somente um certificado associado ao site da Web utilizado para sincronizar as assinaturas. Se houver vários certificados, o Assinante usará o primeiro site da Web disponível. |
Para especificar um certificado para teste no IIS 6.0
Faça logon no computador que está executando IIS como um administrador.
Baixar e instalar o SelfSSL. Por padrão, o aplicativo é instalado em <unidade>:\Arquivos de Programas\Recursos do IIS\SelfSSL. Os atalhos de aplicativos e de documentação são copiados em <unidade>:\Documents and Settings\All Users \Menu Iniciar\Programas\IIS Resources\SelfSSL.
Execute o SelfSSL:
Para executar o SelfSSL com valores padrão para todos os parâmetros, localize o diretório de instalação para o aplicativo e clique duas vezes no SelfSSL.exe.
Observação Por padrão, o certificado instalado pelo SelfSSL é válido durante sete dias.
Para especificar valores para um ou mais parâmetros: clique em Iniciar e clique em Executar. Na caixa Abrir, digite cmd e depois clique em OK. Localize o diretório de instalação do SelfSSL, digite SelfSSL e depois especifique valores para um ou mais parâmetros. Para obter uma lista de parâmetros, digite SelfSSL -?.
Instalando os componentes de conectividade e o SQL Server Management Studio
Para instalar os componentes de conectividade SQL Server e o SQL Server Management Studio
Faça logon como administrador no computador executando IIS.
No disco de instalação do SQL Server 2008, inicie o Assistente de Instalação do SQL Server. Para obter mais informações sobre como usar esse assistente, consulte Como instalar o SQL Server 2008 (Instalação).
Na página Seleção de Recursos, selecione Conectividade das Ferramentas de Cliente.
Se você estiver planejando usar o Assistente para Configurar Sincronização da Web, selecione Ferramentas de Gerenciamento - Básico.
Conclua o assistente e depois reinicie o computador.
Observação Você pode instalar componentes adicionais, mas só os componentes de conectividade são necessários para a sincronização da Web.
Configurando o computador que está executando IIS usando o Assistente para Configuração da Sincronização da Web
Configure o servidor IIS usando o Assistente para Configuração da Sincronização da Web ou manualmente. Recomendamos o uso do assistente, mas nós também fornecemos etapas para configuração manual na próxima seção. O Assistente para Sincronização da Web que está disponível com o SQL Server 2008 pode ser usado apenas para publicações criadas em um Publicador que estiver executando o SQL Server 2008 ou em um Publicador que foi atualizado para o SQL Server 2008. O assistente não pode ser usado para publicações no SQL Server 2005. O assistente pode ser usado com assinaturas no SQL Server 2005 e em versões posteriores, e no SQL Server Compact 3.5 3.0 e em versões posteriores.
A configuração tem as seguintes características:
Usa o site padrão em IIS. Porém, você pode usar outro site da Web. Para obter mais informações sobre como criar sites da Web, consulte a documentação de IIS.
Observação O site da Web que você especificar fornece acesso aos componentes que são usados pela sincronização da Web. O site da Web não fornece acesso a outros dados ou páginas da Web, a menos que você o configure para fazer isso.
Cria um diretório virtual e seu alias associado. O alias é usado ao acessar os componentes de sincronização da Web. Por exemplo, se o endereço de IIS for https://servidor.domínio.com e você especificar um alias de 'websync1', o endereço de acesso ao componente replisapi.dll será https://servidor.domínio.com/websync1/replisapi.dll.
Usa a Autenticação Básica. Recomendamos o uso da Autenticação Básica porque ela torna possível executar o IIS e o Publicador/Distribuidor do SQL Server em computadores separados (configuração recomendada) sem exigir delegação Kerberos. Usar o SSL com Autenticação Básica assegura que logons, senhas e todos os dados sejam criptografados em trânsito. (SSL é necessário, independentemente do tipo de autenticação usado.) Para obter mais informações sobre as práticas recomendadas para sincronização da Web, consulte a seção "Práticas recomendadas de segurança para a sincronização da Web" em Configurando a sincronização da Web.
Para configurar o computador que está executando IIS usando o Assistente para Configuração da Sincronização da Web
No computador que está executando o IIS, inicie o SQL Server Management Studio.
Conecte-se ao Publicador e depois expanda o nó do servidor.
Expanda a pasta Publicações Locais, clique com o botão direito do mouse na publicação e depois clique em Configurar Sincronização da Web.
No Assistente para Configuração da Sincronização da Web, na página Tipo de Assinante, selecione o SQL Server.
Na página Servidor Web:
Selecione a instância de IIS que sincronizará as assinaturas.
Selecione Criar um novo diretório virtual.
No painel inferior da página, expanda a instância de IIS, expanda Sites da Web e depois clique em Site Padrão.
Na página Informações do Diretório Virtual:
Na caixa Alias, digite um alias para o diretório virtual.
Na caixa Caminho, digite um caminho para o diretório virtual. Por exemplo, se você digitou websync1 na caixa Alias, digite C:\Inetpub\wwwroot\websync1 na caixa Caminho. Clique em Avançar.
Nas duas caixas de diálogo, clique em Sim. Isso especifica que você deseja criar uma nova pasta e deseja copiar o Internet Server API (ISAPI) DLL do SQL Server. .
Na página Acesso Autenticado:
Certifique-se de que os servidores de domínio Autenticação Integrada do Windows e Autenticação digest para servidores de domínio Windows estejam desmarcados.
Selecione Autenticação Básica.
Nas caixas Domínio Padrão e Território, digite o domínio do computador que está executando IIS.
Na página Acesso ao Diretório:
- Clique na caixa de diálogo Adicionar e depois em Selecionar Usuários ou Grupos, adicione as contas pelas quais os Assinantes farão conexões ao IIS. Essas são as contas que você especificará na página Informações do Servidor Web do Assistente para Nova Assinatura ou como o valor para o parâmetro sp_addmergepullsubscription_agent@internet_login.
Na página Acesso ao Compartilhamento de Instantâneos, digite o compartilhamento de instantâneo. As permissões apropriadas são definidas nesse compartilhamento de forma que os Assinantes possam acessar os arquivos de instantâneos. Para obter mais informações sobre permissões para compartilhamento, consulte Protegendo uma pasta de instantâneo.
Na página Concluindo o Assistente, clique em Concluir.
Se ocorrer uma falha, como um erro de rede ao tentar configurar um computador remoto que esteja executando o IIS, todas as ações concluídas são revertidas e todas as ações restantes são canceladas. Se não for possível reverter uma ação concluída, o status na página final do assistente será Êxito e as ações concluídas permanecerão confirmadas.
Se o computador que está executando o IIS estiver executando uma versão de 64 bits do Windows, replisapi.dll deverá ser copiado para o diretório adequado:
Clique em Iniciar e depois em Executar. Na caixa Abrir, digite iisreset e depois clique em OK.
Depois de interromper e reiniciar o IIS, copie replisapi.dll de <unidade>:\Arquivos de Programas\Microsoft SQL Server\100\COM\replisapi para o diretório especificado na etapa 6b.
Clique em Iniciar e depois em Executar. Na caixa Abrir, digite cmd e depois clique em OK.
No diretório que você especificou na etapa 6b, execute o seguinte comando:
regsvr32 replisapi.dll
Configurando manualmente o computador que está executando o IIS
Para configurar manualmente o computador que está executando o IIS, você deve instalar e configurar o SQL Server Replication Listener e depois configurar a autorização para os Assinantes que irão se conectar ao IIS.
Para instalar e configurar o SQL Server Replication Listener
Crie um diretório de arquivos no computador que está executando o IIS para conter replisapi.dll. Você pode criar o diretório onde desejar, mas recomendamos que o diretório seja criado no diretório <unidade>:\Inetpub. Por exemplo, crie o diretório em <unidade>: \Inetpub\SQLReplication\.
Importante É altamente recomendável criar esse diretório em uma partição de sistema de arquivos NTFS e não em um sistema de arquivos FAT. Ao usar o sistema de arquivos NTFS file, você pode usar as permissões do sistema de arquivos NTFS para controlar com precisão os usuários que podem acessar a replicação SQL Server.
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 depois clique em OK.
No diretório que você criou na etapa 1, execute o seguinte comando:
regsvr32 replisapi.dll
Crie um novo site da Web para replicação ou use um site existente. O site da Web será acessado pelos componentes de replicação durante a sincronização. Para obter mais informações sobre como criar sites da Web, consulte a documentação de IIS.
Crie um diretório virtual em IIS. O diretório virtual deve ser criado no site da Web que foi criado na etapa 4 e deve ser mapeado para o diretório que foi criado na etapa 1. Para obter mais informações sobre como criar diretórios virtuais, consulte a documentação de IIS. Recomendamos que você seja tão restritivo quanto possível ao conceder permissões a esse diretório. Você deve selecionar as permissões Leitura e Executar, mas pode desmarcar as permissões Executar scripts, Gravação e Procurar.
Configure o IIS para habilitar a execução de replisapi.dll. As permissões concedidas na etapa 4 são suficientes para as versões anteriores do IIS; porém o IIS versão 6.0 exige que as extensões Internet Server API (ISAPI) sejam habilitadas. Para obter mais informações, consulte "Configurando extensões ISAPI" e "Habilitando e desabilitando conteúdo dinâmico" na documentação do IIS 6.0.
Para configurar a autenticação de IIS
Quando os Assinantes se conectarem ao IIS, o IIS deve autenticar os Assinantes antes que eles possam acessar recursos e processos. IIS oferece três tipos de autenticação: Anônima, Básica e Integrada. A autenticação pode ser aplicada para o site da Web inteiro ou para o diretório virtual que você criou.
É recomendável o uso da Autenticação Básica com SSL. A SSL é necessária, independentemente do tipo de autenticação usado. Para obter mais informações sobre como configurar a autenticação, consulte a documentação de IIS.
Definindo permissões para o SQL Server Replication Listener
Quando um Assinante se conecta ao computador que está executando o IIS, o Assinante é autenticado usando o tipo de autenticação que foi especificado quando você configurou o IIS. Depois de autenticar o Assinante, o IIS verifica se o Assinante está autorizado a invocar a replicação do SQL Server. Você controla os usuários que podem invocar a replicação do SQL Server definindo as permissões para replisapi.dll. É necessário configurar corretamente as permissões para impedir acesso sem autorização à replicação do SQL Server.
Para configurar as permissões mínimas para a conta sob a qual o SQL Server Replication Listener é executado, realize o procedimento a seguir. As etapas no procedimento se aplicam ao MicrosoftWindows Server 2003 executando o IIS 6.0.
Além de realizar as etapas a seguir, certifique-se de que 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.
Para configurar a conta e as permissões
Crie uma conta local no computador que está executando o IIS:
Clique com o botão direito do mouse em Meu Computador e, em seguida, clique em Gerenciar.
Em Gerenciamento do Computador, expanda Usuários e Grupos Locais.
Clique com o botão direito do mouse em Usuários e depois clique em Novo Usuário.
Digite um nome de usuário e uma senha forte.
Clique em Criar e depois em Fechar.
Adicione a conta ao grupo IIS_WPG:
Em Gerenciamento do Computador, expanda Usuários e Grupos Locais e depois clique em Grupos.
Clique com o botão direito do mouse em IIS_WPG e depois clique em Adicionar ao Grupo.
Na caixa de diálogo Propriedades de IIS_WPG, clique em Adicionar.
Na caixa de diálogo Selecionar Usuários, Computadores ou Grupos, adicione a conta criada na etapa 1.
Certifique-se de que o nome no campo Deste local é o nome do computador local em vez de um domínio. Se o nome não for de um computador local, clique em Locais. Na caixa de diálogo Locais, escolha o computador local e depois clique em OK.
Nas caixas de diálogo Selecionar usuários e Propriedades de IIS_WPG, clique em OK.
Conceda as permissões mínimas para a conta na pasta que contém replisapi.dll:
Localize a pasta que você criou para replisapi.dll, clique com o botão direito do mouse na pasta e depois clique em Compartilhamento e Segurança.
Na guia Segurança, clique em Adicionar.
Na caixa de diálogo Selecionar Usuários, Computadores ou Grupos, adicione a conta criada na etapa 1.
Certifique-se de que o nome no campo Deste local é o nome do computador local em vez de um domínio. Se o nome não for de um computador local, clique em Locais. Na caixa de diálogo Locais, selecione o computador local e depois clique em OK.
Certifique-se de que a conta só receba as permissões Leitura, Leitura & Executar e Listar Conteúdos da Pasta.
Selecione qualquer usuário ou grupo que não requeira acesso ao diretório e depois clique em Remover.
Clique em OK.
Crie um pool de aplicativos no Gerenciador dos Serviços de Informação de Internet (IIS):
Clique em Iniciar e depois em Executar.
Na caixa Abrir, digite inetmgr e depois clique em OK.
No Gerenciador dos Serviços de Informação de Internet (IIS), expanda o nó do computador local.
Clique com o botão direito do mouse em Pools de Aplicativos, aponte para Novo e depois clique em Pool de Aplicativos.
Digite um nome para o pool no campo Identificação do pool de aplicativos e depois clique em OK.
Associe a conta com o pool de aplicativos:
No Gerenciador dos Serviços de Informação de Internet (IIS), expanda o nó do computador local e depois expanda Pools de Aplicativos.
Clique com o botão direito do mouse no pool de aplicativos que você criou e depois clique em Propriedades.
Na caixa de diálogo <Nome_de_Pool_de_Aplicativos> Propriedades, na guia Identidade, clique em Configurável.
Nos campos Nome de usuário e senha, digite a conta e senha que foram criadas na etapa 1.
Clique em OK.
Associe o pool de aplicativos com o diretório virtual que é usado para a sincronização da Web:
No Gerenciador dos Serviços de Informação de Internet (IIS), expanda o nó do computador local e depois expanda Sites da Web.
Expanda o site da Web que você está usando para a sincronização da Web, clique com o botão direito do mouse no diretório virtual que você criou para a sincronização da Web e depois clique em Propriedades.
Na guia Diretório Virtual da caixa de diálogo Propriedades de <Nome_do_Diretório_Virtual>, da lista suspensa Pool de aplicativos, selecione o pool de aplicativos que foi criado na etapa 5.
Clique em OK.
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 (Secure Sockets Layer) 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 LAN, desmarque Detectar Automaticamente as Configurações e Usar um servidor proxy para a rede local.
Se um servidor proxy for usado, selecione Usar um servidor proxy para a rede local e Ignorar servidor proxy para endereços locais.
Clique em OK.
No Assinante, no Internet Explorer, conecte-se ao servidor em modo de diagnóstico adicionando ?diag ao endereço para o replisapi.dll. Por exemplo: https://server.domain.com/directory/replisapi.dll? diag.
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 armazenamento 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 armazenamento 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.