Criando um servidor de armazenamento do aluno

10

Eu trabalho para um distrito escolar. Eu fui encarregado de criar um servidor de armazenamento para os alunos. Um lugar para eles trabalharem na escola e em casa.

Meu desafio é fazer isso funcionar em casa. Na escola, eles fazem login, autenticam e recebem uma unidade mapeada para sua pasta no servidor ( S:\fileserver\studentname ).

Minha pergunta é: como posso disponibilizar isso para os alunos em casa?

O servidor está executando o Windows Server 2008 R2. Eu tenho PHP, Apache e MySQL trabalhando juntos. Minha idéia é escrever um script que irá "rastrear" através do diretório que contém todas as pastas dos alunos, em seguida, criar uma instância de cada arquivo e pasta em um banco de dados MySQL. Crie uma página de login que use o LDAP para autenticação e, assim que eles fizerem login no servidor a partir de casa, eles receberão uma página com pastas e arquivos vinculados a seu nome de usuário.

Alguém aí já colocou algo assim juntos?

    
por DobotJr 29.06.2011 / 00:59

8 respostas

18

Se você insistir em fazer isso (em vez de usar a resposta do @sweaves), eu começarei por:

  1. perdendo Php, Apache e MySql. Eles não são necessários e apresentarão suas próprias dores de cabeça.

  2. Coloque um servidor FTPS em funcionamento. Ao longo destas linhas, você pode considerar jogar o Windows Server 2003 em favor do 2008 R2. O IIS 7 possui itens de FTP muito melhores. link

  3. Se você não puder fazer isso, dê uma olhada nisso para saber como configurar o File Zilla para funcionar com o AD. link

  4. Outra opção (obrigado @jscott) é usar o WebDav ( link ). Aqui está outra escola fazendo exatamente a mesma coisa: link

  5. Você também pode configurar um servidor SFTP "> SFTP suporta logins sem senha, mas não é suportado no Windows desde o início.

Nota lateral, a solução filezilla é mais um trabalho de gerenciamento do que o IIS 7.

    
por 29.06.2011 / 01:15
11

Uma solução muito mais fácil seria configurar uma VPN. O aluno pode, então, fazer o login na VPN e acessar todos os recursos como se estivessem no campus. Confira detalhes ... link

    
por 29.06.2011 / 01:03
5

O que exatamente eles precisam fazer? Apenas tenha acesso? Se você abri-lo para FTP, você está pedindo grandes problemas. Se eles precisarem de acesso a ferramentas consistentes para trabalhar em documentos da escola, abra um servidor (ou cluster) para serviços de área de trabalho remota.

Sim, eles precisam instalar o cliente de desktop remoto se ainda não o tiverem (provavelmente já o fazem), mas o cliente está disponível gratuitamente para Linux, Windows e Mac. A conexão é criptografada e eles podem ter acesso ao que a sua escola estiver usando para o Office ou outras ferramentas, a menos que você esteja executando algo pesado como o Photoshop.

Se você usa o RDP, obtém criptografia, obtém uma porta para abrir no firewall e obtém a padronização de utilitários (não "eu fiz isso em casa e funcionou bem, por que não abre aqui?" reclamações) e gerenciamento centralizado. Eu vi problemas similares como este resolvidos exatamente desta maneira várias vezes e somente em circunstâncias específicas houve problemas com isso.

Além disso, você não tem alunos com várias cópias de documentos correndo por aí reclamando que eles não sabem PORQUE o papel deles é a versão errada porque funcionou FINE em casa ... ou eles não salvaram o documento corretamente ponto ... etc.

    
por 29.06.2011 / 02:13
3

Que tal o WebDAV?

Isso é suportado no apache e você ainda pode usar o LDAP para autenticação.

Os usuários poderão acessar seus arquivos a partir de um navegador e as versões modernas do Windows e do OS X permitem que os usuários montem compartilhamentos do WebDAV no Explorer e no Finder, respectivamente.

Também foi evitado os problemas associados à tentativa de armazenar o estado de um sistema de arquivos em constante mudança em sincronia com um banco de dados em seu método proposto.

    
por 29.06.2011 / 09:38
1

Dê uma olhada em Adito / OpenVPN ALS . É grátis, vai instalar no Windows ou Linux, e torna extremamente fácil a configuração de uma interface web para compartilhamento de arquivos, assim como muitos outros recursos. Eu uso na faculdade onde trabalho. Ele tem algumas desvantagens: ele requer que o java seja instalado nos clientes, defina o bloqueador de pop-up em muitos navegadores, a configuração do certificado pode ser mais fácil e a exibição paginada para listagens de arquivos pode ser mais fácil. Se você optar por configurar o webdav, ele poderá ser usado para tornar mais fácil (e mais confiável) para os usuários obterem as unidades corretas mapeadas.

    
por 29.06.2011 / 04:56
1

Como outros já disseram - não use o FTP - há muitas, muitas coisas erradas. OTOH, você provavelmente deve usar um protocolo que não exija que os usuários instalem software adicional do lado do cliente; embora o acesso baseado em ssh (sftp, scp) seja ideal, as máquinas MSWindows não vêm com um cliente como padrão.

Existem gerenciadores de arquivos sem fim disponíveis em PHP (e provavelmente também em outros idiomas ). O IIS faz algumas coisas muito estranhas com o tunelamento de permissões NTLM - mas se você estiver usando o Apache, ele deve ser razoavelmente seguro - no entanto, acessar as unidades não é tão simples quanto ler \ server \ username \ - você precisa permitir direitos de administrador do servidor web nesses arquivos - mas isso é um pesadelo de segurança!

A maneira que eu faço (para um tipo muito diferente de aplicação) é manipular o I / O via smbclient usando o nome de usuário / senha da sessão PHP do usuário - mas isso é em uma máquina Linux - AFAIK, não há equivalente no MSWindows.

Certamente, você desejaria usar as credenciais fornecidas pelo usuário para autenticar o armazenamento.

Isso está se tornando assustadoramente complicado!

Portanto, uma solução prática seria permitir que os alunos mapeassem as unidades pela Internet. Dessa forma, você não precisa se preocupar com as complicações de fornecer um gerenciador de arquivos que não seja parte integrante do sistema operacional (ou seja, diretamente acessível a partir de aplicativos). Mas você não quer expor seu servidor a ninguém e a todos. A maneira usual de resolver este problema seria uma VPN - e existem muitos bons e de baixo custo disponíveis. Ou simplesmente envolva o serviço em SSL com a autenticação de certificado de cliente. Mas, novamente, isso requer instalações do lado do cliente.

Então .....

Que tal um formulário da Web para autenticar um usuário em um endereço IP que cria um furo de tempo limitado no firewall para esse endereço IP se conectar via SMB (e eles ainda precisam fornecer um nome de usuário / senha para mapear a unidade claro).

    
por 29.06.2011 / 14:09
0

P.S: Pessoalmente, acho que você terá uma taxa de sucesso muito melhor se você transportar seu sistema para * nix, porque mais alternativas estariam disponíveis (livremente)

O que vem à mente:

Dropbox:

faça o upload das alterações para o Dropbox . A melhor coisa sobre dropbox é que eles oferecem um plano gratuito de 20GB (agora) e pode ser usado com todos os sistemas operacionais populares (Windows / Linux / MacOSX) sem qualquer aborrecimento. Ainda não li / implementei nada usando a API do Dropbox , mas espero que você consiga obter muita dor de cabeça. Eu acho que o problema é o que acontece quando eles mudam o plano de preços, mas isso é algo para depois.

Alternativas do Dropbox de código aberto

Depois de realizar uma pesquisa rápida no Google, este link oferece algumas alternativas de código aberto, mas eu não saber se algum deles é bom, então você deve testar isso.

Web

Em vez de dar aos usuários a opção de sincronizar, apenas forneça a eles a oportunidade de baixar arquivos / pastas (zipados). Eu acho que você poderia escrever um sistema como esse sem reclamar muito.

VPN / RPC

Como alguns outros usuários disseram, faça o login do usuário usando VPN / RPC.

    
por 29.06.2011 / 03:28
0

Dê uma olhada no Ajaxplorer ( link )

É um gerenciador de arquivos baseado na web (escrito em PHP e Javascript) que fornece fácil administração de permissões, usuários, grupos e você pode configurar repositórios compartilhados, bem como pessoais.

Ele também pode fazer webdav e possui conectores de autenticação para todos os tipos de sistemas (ldap, mysql, flatfile .....)

com os conectores do sistema de arquivos, é possível configurar regras para mapear contas de usuários para diretórios individuais automaticamente, o que classificaria seu requisito para acessar a unidade mapeada do usuário.

Acabamos de começar a usá-lo aqui (design / agência web) e os clientes de todas as habilidades técnicas acham muito fácil de usar / entender

Você deve ser capaz de integrá-lo ao seu sistema atual sem alterações

    
por 29.06.2011 / 11:23

Tags