Certamente muitas pessoas usaram o Ubuntu Server com clientes Windows. O Guia do Servidor Ubuntu abrange praticamente tudo o que você deseja fazer.
Aqui estão alguns comentários sobre sua configuração proposta:
-
Ditch FTP. Use o SSH. Pessoalmente, gostaria também de acrescentar que você deve configurar a autenticação baseada em chave e desativar a senha auth. Consulte esta página para obter ajuda.
-
Não vejo qualquer tipo de solução de backup mencionada. Certifique-se de ter backups regulares.
-
Considere o Git. Eu consideraria usar Git em vez de Mercurial, mas isso é uma preferência pessoal.
-
Pense na segurança desde o início - especialmente se ela estiver voltada para a web. Novamente veja (1). Você não precisa ser um especialista em segurança, mas deve pelo menos considerar o seguinte:
- Use um firewall. Com o Ubuntu Server, isso é fácil de usar usando
ufw
e é mencionado no guia. - Não execute serviços desnecessários. Especificamente, eu ficaria longe de coisas como o phpmyadmin.
- Não forneça acesso ou privilégios que não sejam necessários para outras pessoas.
- Pense em auditoria e registro.
- Use um firewall. Com o Ubuntu Server, isso é fácil de usar usando
Um comentário mais geral que eu não quero forçar demais é que você pode considerar apenas mover seu processo de desenvolvimento para o linux também. Na minha experiência, as ferramentas disponíveis para o Linux facilitam muito o trabalho com um servidor remoto.