Guia para implantar o FTP e publicar com o VWD
por Walter Oliver
O serviço FTP para IIS é um componente essencial da Windows Web Platform. Ele fornece uma solução robusta e segura para FTP em um ambiente Windows. Os administradores de ambientes de hospedagem compartilhada podem usar o FTP para IIS para permitir que os clientes carreguem e sincronizem conteúdos. O artigo Novidades na Microsoft e no FTP apresenta os novos recursos do FTP. Aqui estão os destaques:
Integração com o IIS:
- Novo armazenamento de configuração baseado no formato *.config baseado em XML do .NET
- Nova ferramenta de administração
Segurança e suporte para novos padrões de Internet:
- FTP sobre SSL
- Contas não Windows para autenticação
- UTF8 e IPv6
Melhorias na hospedagem compartilhada:
- Hospedar conteúdos FTP e da Web do mesmo site adicionando uma ligação FTP a um site atual
- Suporte a nomes de host virtuais, a fim de permitir a hospedagem de diversos sites FTP no mesmo endereço IP
- Melhor isolamento de usuários, por meio de diretórios virtuais por usuário
Recursos aprimorados de registro e suporte:
- O registro em log de FTP aprimorado inclui todo o tráfego relacionado ao FTP, acompanhamento exclusivo de sessões FTP, substatus de FTP e campos de detalhes adicionais em logs de FTP
- Respostas de erro detalhadas ao fazer logon localmente em um servidor FTP
- Informações detalhadas ao usar o ETW (Rastreamento de Eventos para Windows), que fornece outras informações para solução de problemas
O vídeo a seguir fornece uma visão geral e demonstrações de diversos recursos do FTP 7.0.
Como implantar o FTP
O FTP é um dos servidores front-end na configuração de hospedagem compartilhada.
Esta imagem realça diversas características importantes da implantação do FTP no ambiente de hospedagem compartilhada:
- O serviço FTP pode compartilhar o mesmo computador usado para os serviços de Administração Remota (Gerenciamento da Web – WMSVC) e MS Deploy.
- O computador FTP faz parte da configuração compartilhada usada pelos servidores Web farm, o que significa que os componentes instalados nele também devem estar nos servidores Web farm. No entanto, como o Web farm não será usado para processar solicitações FTP, os serviços FTP, WMSVC (Gerenciamento da Web) e MS Deploy podem ser interrompidos.
- O computador FTP não se destina a hospedar aplicativos Web.
- O roteador de firewall voltado à Internet realiza o encaminhamento de porta do tráfego FTP para o servidor FTP.
Configuração de Implantação
O servidor FTP para IIS conta com diversos recursos que o tornam ideal para cenários de hospedagem compartilhada. As diretrizes abaixo aproveitam o novo recurso de isolamento de usuários FTP. Este recurso permite o seguinte:
- Os administradores limitam o acesso dos usuários somente ao diretório físico ou virtual definido para eles. Isso significa implementar um único site FTP, contendo um diretório físico ou virtual específico para cada nome de usuário.
- Os administradores devem habilitar o SSL e usar um único certificado para todas as conexões quando solicitado explicitamente pelos usuários.
- Os usuários podem acessar o site FTP como se fosse somente deles. Ao fazer logon no servidor FTP, eles ficarão restritos ao próprio diretório específico e não poderão navegar pela árvore de diretórios.
Etapas
Selecione o computador FTP e instale o novo serviço FTP para IIS. Siga as instruções em Instalação e solução de problemas de FTP.
Crie uma pasta raiz para ser usada no site FTP, por exemplo:
%*SystemDrive*%\inetpub\ftproot
.Opcionalmente, em caso de requisitos de alta disponibilidade e/ou balanceamento de carga de FTP, a Microsoft fornece soluções como balanceamento de carga de rede ou clusters de failover, caso contrário, o round-robin de DNS pode ser suficiente.
Crie um site que permita conexões SSL e autenticação básica. Siga as etapas na seção Criar um site habilitado para SSL.
Habilite o recurso de isolamento de usuários. Siga as etapas na seção Configurar isolamento de usuários para todos os diretórios.
Defina as configurações do firewall FTP conforme descrito na seção correspondente abaixo.
Pare o WAS (Serviço de Ativação de Processos do Windows):
- No prompt de comando, digite services.msc Isso exibirá o console “Serviços”.
- Clique duas vezes em Serviço de Ativação de Processos do Windows.
- Na caixa de diálogo “Propriedades do Serviço de Ativação de Processos do Windows”, verifique se o tipo de inicialização do serviço está definido como “Desabilitado”. Clique em Parar e em OK.
- No prompt de comando, digite services.msc Isso exibirá o console “Serviços”.
Criar um site habilitado para SSL
Nesta seção, você criará um site FTP que pode ser aberto usando qualquer uma de suas contas de usuário.
Acesse o Gerenciador do IIS. No painel “Conexões”, clique no nó “Sites” na árvore.
Clique com o botão direito do mouse no nó “Sites” e selecione Adicionar site FTP ou clique em Adicionar site FTP no painel Ações.
Quando o assistente para adicionar o site FTP for exibido, faça o seguinte:
Digite “Meu novo site FTP” na caixa de texto Nome do site FTP e acesse a pasta raiz criada para o site FTP (por exemplo:
%*SystemDrive*%\inetpub\ftproot
).Observação
Se você optar por digitar o caminho da pasta de conteúdo, será possível usar variáveis de ambiente nos caminhos.
Clique em Avançar.
Na próxima página do assistente, faça o seguinte:
- Escolha um endereço IP para o site FTP na caixa de texto Endereço IP ou opte por aceitar a seleção padrão de “Todos os não atribuídos”. Este exemplo usa o IP de loopback local “127.0.0.1”.
- Insira a porta TCP/IP do site FTP na caixa de texto Porta. Este exemplo usa a porta padrão “21”.
- Verifique se a caixa de texto Host virtual está em branco. Não use um nome de host.
- Verifique se a lista suspensa Certificados está definida para o certificado apropriado que você pretende usar. Este exemplo usa um certificado autoassinado chamado “Meu certificado FTP”. Para obter instruções, confira Criar um certificado SSL autoassinado.
- Verifique se a opção Permitir SSL está selecionada.
- Clique em Avançar.
Na próxima página do assistente, faça o seguinte:
Selecione Básico para as configurações de Autenticação.
Para as configurações de Autorização, faça o seguinte:
- Escolha “Todos os usuários” na lista suspensa Permitir acesso a.
- Selecione Leitura e Gravação na opção Permissões.
Depois de preencher esses itens, clique em Concluir.
Resumo
Você acabou de criar um site FTP com base em SSL usando o novo serviço FTP. Confira os itens que você concluiu neste procedimento:
- Você criou um site FTP chamado “Meu novo site FTP” que coloca a raiz do conteúdo do site em
%*SystemDrive*%\inetpub\ftproot
. - Você vinculou o site FTP ao endereço IP do computador na porta 21.
- Você optou por permitir o protocolo SSL para o site FTP e selecionou seu certificado.
- Você ativou a autenticação básica e criou uma regra de autorização para acesso de leitura e gravação com relação a todas as contas de usuário.
Para edição direta dos arquivos de configuração XML, confira Como adicionar uma publicação FTP baseada em SSL editando os arquivos de configuração do IIS.
Configurar o isolamento de usuários para todos os diretórios
Ao isolar usuários de todos os diretórios, todas as sessões de usuário FTP ficam restritas ao diretório físico ou virtual que tem o mesmo nome que a conta do usuário FTP. Além disso, todos os diretórios virtuais globais criados serão ignorados. Nesta etapa, você configura o isolamento de usuários para todos os diretórios.
- Crie uma pasta em
%*SystemDrive*%\inetpub\ftproot\LocalUser\
. Esta pasta conterá todos os diretórios de contas de usuários locais. Você pode criar esta pasta no NAS (servidor de compartilhamento de arquivos). Ao provisionar contas de usuário, você também deve atribuir acesso de leitura e gravação às pastas de conteúdo dos usuários. - No Gerenciador do IIS, clique no nó do site FTP que você acabou de criar. Isso exibirá os ícones de todos os recursos do FTP.
- Clique duas vezes no ícone “Isolamento de usuários FTP” para abrir o recurso de isolamento de usuários FTP.
- Quando a página do recurso for exibida, selecione Diretório de nomes de usuário (desabilitar diretórios virtuais globais) e clique em Aplicar no painel Ações.
Resumo
Confira os itens concluídos neste procedimento: você configurou o isolamento de usuários FTP usando a opção Diretório de nomes de usuário (desabilitar diretórios virtuais globais). Ao usar esse modo de isolamento de usuários, todas as sessões de usuários FTP são restritas ao diretório virtual ou físico que tem o mesmo nome que a conta do usuário FTP e quaisquer diretórios virtuais globais criados serão ignorados.
A fim de criar diretórios iniciais para cada usuário, primeiro você precisa criar um diretório virtual ou físico na pasta raiz do servidor FTP com o nome do domínio ou denominado LocalUser para contas de usuários locais. Em seguida, você precisa criar um diretório virtual ou físico para cada conta de usuário que acessará o site FTP. A seguinte tabela lista a sintaxe do diretório inicial para os provedores de autenticação fornecidos com o serviço FTP:
Tipo de conta de usuário | Sintaxe do diretório inicial físico |
---|---|
Usuários anônimos | %FtpRoot%\LocalUser\Public |
Contas de usuários locais do Windows (requer autenticação básica) | %FtpRoot%\LocalUser\%UserName% |
Contas de domínio do Windows (requer autenticação básica) | %FtpRoot%\%UserDomain%\%UserName% |
Contas de usuário de autenticação personalizada do Gerenciador do IIS ou do ASP.NET | %FtpRoot%\LocalUser\%UserName% |
Observação
Na tabela acima, %FtpRoot% é o diretório raiz do site FTP, por exemplo, C:\Inetpub\Ftproot
.
Os diretórios virtuais globais são ignorados, portanto, os diretórios virtuais configurados no nível raiz do site FTP não podem ser acessados por nenhum usuário FTP. Todos os diretórios virtuais devem ser definidos explicitamente no caminho do diretório inicial físico ou virtual de um usuário.
Definir as configurações do firewall FTP
Configurar o intervalo de portas passivas para o serviço FTP
Nesta seção, você configura o intervalo de portas no nível do servidor para conexões passivas com o serviço FTP. Use as seguintes etapas:
Acesse o Gerenciador do IIS. No painel “Conexões”, clique no nó no nível do servidor na árvore.
Clique duas vezes no ícone Suporte do firewall FTP na lista de recursos.
Insira um intervalo de valores para o Intervalo de portas do canal de dados.
Depois de inserir o intervalo de portas do serviço FTP, clique em Aplicar no painel Ações para salvar as configurações.
Observação
O intervalo válido para portas é 1025-65535. (As portas 1 a 1024 são reservadas para uso pelos serviços do sistema.)
É possível inserir um intervalo de portas especial de “0 a 0” para configurar o servidor FTP a fim de usar o intervalo de portas dinâmicas TCP/IP do Windows.
Para saber mais, consulte os seguintes artigos da Base de Dados de Conhecimento Microsoft:
- 174904 – Informações sobre atribuições de porta TCP/IP (
https://support.microsoft.com/kb/174904/ "Information about TCP/IP port assignments"
) - 929851 – O intervalo de portas dinâmicas padrão para TCP/IP foi alterado no Windows Vista e no Windows Server 2008
- 174904 – Informações sobre atribuições de porta TCP/IP (
Esse intervalo de portas precisará ser adicionado às configurações permitidas do servidor de firewall.
Insira o endereço IPv4 do endereço externo do servidor de firewall para a configuração Endereço IP externo do firewall.
Depois de inserir o endereço IPv4 externo do servidor de firewall, clique em Aplicar no painel Ações para salvar as configurações.
Resumo
Confira os itens que você concluiu neste procedimento:
- Você configurou o intervalo de portas passivas para o serviço FTP.
- Você configurou o endereço IPv4 externo para um site FTP específico.
Para saber como configurar o Firewall do Windows Server 2008, confira (Opcional) Etapa 3: definir as configurações do firewall do Windows. Confira também Mais informações sobre como trabalhar com firewalls.
Exemplos de nomes de servidores FTP
O FTP é um serviço comumente incluído quando os provedores de serviços de hospedagem fornecem contas para os clientes. As instruções fornecidas acima habilitarão o serviço FTP para IIS para os clientes, mas o nome do servidor FTP, se baseado simplesmente no nome da empresa de hospedagem, pode ser semelhante ao seguinte:
ftp.hostingcompany.comEsse nome pode ser suficientemente claro para todos os usuários. Quando os clientes o usam para se conectar ao diretório FTP, eles acessam o próprio diretório e podem exibir somente as próprias pastas. No entanto, o nome do servidor FTP pode não ser tão atraente para os clientes quanto um nome de servidor FTP baseado no domínio reservado deles, como este:
- ftp.customerdomain.com
- customerdomain.com
Se os clientes tiverem o nome do servidor FTP associado ao nome do domínio reservado, a experiência do serviço FTP será mais personalizada e interessante. Funcionalmente, esta opção é igual ao exemplo anterior, mas ela simplifica a nomeação de domínio para o cliente. Para configurar um nome de servidor FTP personalizado para cada cliente, crie registros DNS apropriados para o domínio do cliente. Isso exigirá etapas adicionais de provisionamento. Se você fornecer um nome de servidor FTP personalizado para cada cliente, também poderá fornecer um nome de servidor alternativo para evitar a interrupção do serviço FTP quando os nomes de domínio estiverem sendo atualizados. Um exemplo de nome alternativo a ser fornecido com o nome personalizado seria: ftp.username.hostingcompany.comNesse caso, os clientes receberiam dois nomes de servidor e poderiam se conectar ao mesmo diretório usando qualquer um dos nomes, por exemplo:
- ftp.customerdomain.com (ou customerdomain.com)
- ftp.username.hostingcompany.com
Conectar-se usando o Visual Web Developer
Até agora, este artigo se concentrou em como implantar o FTP em um ambiente de hospedagem compartilhada. Esta seção descreve como os clientes podem aproveitar as vantagens do Visual Web Developer 2008 (VWD) para publicar aplicativos Web usando o serviço FTP fornecido pelo provedor de serviços de hospedagem. O seguinte exemplo pressupõe que:
- A empresa de hospedagem provisionou uma conta para um usuário chamado “ftpuser1”.
- A empresa de hospedagem criou a pasta virtual correspondente “ftproot\LocalUser*ftpuser1*”.
Para publicar conteúdos de aplicativos Web com o VWD, ftpuser1 segue estas etapas:
Ftpuser1 abre o site chamado “WebSite1” no Visual Web Developer 2008 (VWD).
Ftpuser1 seleciona “Copiar site” no menu “Site”.
Ftpuser1 clica em Conectar.
Ftpuser1 insere os seguintes valores:
- O nome do servidor FTP fornecido pela empresa de hospedagem. No exemplo abaixo, o endereço IP de loopback é 127.0.0.1.
- Porta. No exemplo abaixo, o valor padrão é a porta 21.
- Opção de modo passivo.
- Opção de autenticação básica. Ftpuser1 desmarca o logon anônimo.
- Nome de usuário: ftpuser1.
- Senha.
Em seguida, ftpuser1 clica em Abrir.
A pasta de Ftpuser1 aparece no painel “Site remoto”. No exemplo a seguir, o painel está vazio porque ftpuser1 está publicando o site pela primeira vez.
Ftpuser1 publica todos os itens de conteúdo no painel “Site de origem” selecionando todos os arquivos e pastas e clicando em Sincronizar:
- Ftpuser1 clica no painel esquerdo.
- Ftpuser1 digita Ctrl+A para selecionar todos os arquivos.
- Ftpuser1 clica em Sincronizar (entre os dois painéis, o terceiro botão a partir do topo).
Os arquivos e pastas são carregados no servidor FTP e armazenados no diretório virtual do usuário: ftpuser1. (O usuário não terá conhecimento do conteúdo de outros usuários no mesmo servidor devido à restrição de isolamento de usuários.)
Conclusão
Este guia fornece as informações necessárias para instalar e configurar um serviço FTP para IIS em um ambiente de hospedagem compartilhada. Ele também mostra como os clientes podem aproveitar as vantagens do Visual Web Developer para publicar conteúdos no diretório do site FTP.