Création d'un serveur de stockage étudiant


10

Je travaille pour un district scolaire. J'ai été chargé de construire un serveur de stockage pour les étudiants. Un endroit pour travailler hors de l'école et de la maison.

Mon défi consiste à faire en sorte que cela fonctionne à la maison. À l'école, ils se connectent, s'authentifient et obtiennent un lecteur mappé dans leur dossier sur le serveur ( S:\fileserver\studentname).

Ma question est de savoir comment puis-je mettre cela à la disposition des étudiants à la maison?

Le serveur exécute Windows Server 2008 R2. J'ai PHP, Apache et MySQL qui travaillent ensemble. Mon idée est d'écrire un script qui "explorera" le répertoire contenant tous les dossiers des étudiants, puis de créer une instance de chaque fichier et dossier dans une base de données MySQL. Créez une page de connexion qui utilisera LDAP pour l'authentification, et une fois qu'ils se connectent au serveur depuis leur domicile, ils obtiennent une page avec des dossiers et des fichiers liés à leur nom d'utilisateur.

Quelqu'un a-t-il déjà assemblé quelque chose comme ça ??


2
de quoi ont-ils besoin pour pouvoir faire? votre titre me dit stockage qui dit qu'ils ont juste besoin d'une connexion ftp. Accès complet à la machine distante = Connexion Bureau à distance.

1
Et le FTP?
m4tt1mus

3
Le problème avec votre idée php / apache / mysql est qu'elle leur donnera une liste de fichiers dans une page web. Dès qu'ils cliquent / téléchargent un fichier sur lequel travailler, vous aurez 2 versions, une sur votre serveur et une sur l'ordinateur chez l'élève. Cela conduira à de nombreux problèmes. Vous devrez créer une sorte de disque virtuel pour vos élèves.
jeroen

Sans parler du fait que vous ouvrez les données principales des serveurs au World Wide Web, c'est quelque chose que vous ne devriez pas faire, si quelqu'un prend racine à partir de php, alors dites au revoir à vos données.
RobertPitt

Avez-vous envisagé une forme de CMS? S'ils avaient juste besoin de gérer des documents de style bureau standard, quelque chose comme Alfresco fonctionnerait probablement bien.
ErnieTheGeek

Réponses:


18

Si vous insistez pour faire cela (plutôt que d'aller avec la réponse @sweaves), je commencerais par:

  1. suppression de Php, Apache et MySql. Ils ne sont pas nécessaires et introduiront leurs propres maux de tête.

  2. Obtenez un serveur FTPS opérationnel. Dans ce sens, vous pourriez envisager de vider Windows Server 2003 en faveur de 2008 R2. IIS 7 intègre de bien meilleurs éléments FTP. Http://blogs.technet.com/b/chrisavis/archive/2008/06/12/how-to-configure-ftp-over-ssl-secure-ftp-on- windows-2008-en-moins de 10 minutes.aspx

  3. Si vous ne pouvez pas faire cela, jetez un œil à cela pour savoir comment configurer File Zilla pour fonctionner avec AD. http://retrohack.com/enabling-filezilla-server-integration-with-active-directory-authentication/

  4. Une autre option (merci @jscott) consiste à utiliser WebDav ( http://www.iis.net/download/webdav ). Voici une autre école qui fait exactement la même chose: http://kb.iu.edu/data/araf.html

  5. Vous pouvez également configurer un serveur "> SFTP. SFTP prend en charge les connexions sans mot de passe, mais n'est pas pris en charge dans Windows prêt à l'emploi.

Remarque: la solution filezilla représente plus de travail de gestion que celle d'IIS 7.


2
+1 pour SFTP et non FTP
RobertPitt

1
C'est définitivement la voie à suivre. J'ai un système Linux qui fait essentiellement la même chose - une seule zone de stockage accessible via SMB lorsque les étudiants sont sur le campus et via SFTP lorsqu'ils sont hors campus. Les étudiants peuvent utiliser WinSCP , le client FileZilla , Fugu ou tout ce qui parle SFTP lorsqu'ils sont hors campus.
Mike Renfro

Ce qu'il a dit ...
Bart Silverstrim

4
Vous pouvez également y ajouter WebDav. Les utilisateurs de Windows peuvent facilement mapper un partage WebDav en tant que lettre de lecteur - OSX, Linux a également un support décent. Super simple à configurer dans IIS, même si les résidences étudiantes sont sur un autre serveur.
jscott

1
@jscott: mon expérience avec le support WebDAV intégré de Windows a été assez mauvaise (performances horribles sous XP, en particulier). Mais si cela fonctionne dans un autre environnement, je n'ai pas essayé, tant pis.
Mike Renfro

11

Une solution beaucoup plus simple serait de configurer un VPN. L'étudiant peut ensuite se connecter au VPN et accéder à toutes ses ressources comme s'il était assis à l'intérieur du campus. Consultez pour plus de détails ... http://lifehacker.com/162563/how-to-set-up-free-vpn


Ne pensez pas que cette volonté puisse fonctionner ici. Nous devons le faire fonctionner sans installer quoi que ce soit sur les ordinateurs personnels de nos étudiants.

4
@DobotJr: Vous vous rendez compte que faire cela sans sécurité VPN est une très grande préoccupation? Vous vous rendez également compte que les systèmes étudiants sont parmi les éléments les plus piratés?
NotMe

Je suggérerais alors la Horde. Rendez votre serveur accessible à Internet et installez Horde, c'est un navigateur de messagerie ET de fichiers. Mappe les fichiers du partage local des utilisateurs vers une interface Web pour le téléchargement / téléchargement.

@sweaves le lien du site du hacker de vie est falsifié, je vous suggère de créer un lien vers un autre tutoriel

@Dagon - ah vous avez bien raison, celui-ci est en direct via compnetworking.about.com/od/vpnsetup/…

5

Que doivent-ils faire exactement? Vous avez juste accès? Si vous l'ouvrez en FTP, vous posez de gros problèmes. S'ils ont besoin d'accéder à des outils cohérents pour travailler sur des documents de l'école, ouvrez un serveur (ou un cluster) pour les services de bureau à distance.

Oui, ils doivent installer un client de bureau à distance s'ils ne l'ont pas déjà (ils le font probablement déjà) mais le client est disponible gratuitement pour Linux, Windows et Mac. La connexion est cryptée et ils peuvent avoir accès à tout ce que votre école utilise pour Office ou d'autres outils, sauf si vous exécutez quelque chose de lourd comme Photoshop.

Si vous utilisez RDP, vous obtenez le cryptage, vous obtenez un port à ouvrir sur votre pare-feu et vous obtenez la standardisation des utilitaires (non "J'ai fait cela à la maison et cela a bien fonctionné, pourquoi ne s'ouvrira-t-il pas ici?" Plaintes) plus gestion centralisée. J'ai vu des problèmes similaires comme celui-ci résolus exactement de cette manière à plusieurs reprises et ce n'est que dans des circonstances spécifiques qu'il y a eu des problèmes.

De plus, vous n'avez pas d'étudiants avec plusieurs copies de documents qui courent se plaindre qu'ils ne savent pas POURQUOI leur papier est la mauvaise version parce qu'il fonctionnait bien à la maison ... ou ils ne l'ont pas enregistré au bon endroit .. .etc.


3

Et WebDAV?

Ceci est pris en charge dans apache et vous pouvez toujours utiliser LDAP pour l'authentification.

Les utilisateurs pourraient accéder à leurs fichiers à partir d'un navigateur, et les versions modernes de Windows et OS X permettent aux utilisateurs de monter des partages WebDAV sous Explorer et Finder respectivement.

Cela a également permis d'éviter les problèmes associés à la tentative de stockage de l'état d'un système de fichiers en constante évolution en synchronisation avec une base de données dans votre méthode proposée.


1

Jetez un œil à Adito / OpenVPN ALS . Il est gratuit, s'installera sur Windows ou Linux et rend extrêmement facile la configuration d'une interface Web pour les partages de fichiers, ainsi que de nombreuses autres fonctionnalités. Je l'utilise au collège où je travaille. Il présente quelques inconvénients: il nécessite l'installation de Java sur les clients, déclenche le bloqueur de fenêtres contextuelles sur de nombreux navigateurs, la configuration du certificat pourrait être plus facile et la vue paginée pour les listes de fichiers pourrait être plus facile. Si vous choisissez de configurer webdav, il peut être utilisé pour rendre plus facile (et plus fiable) pour vos utilisateurs d'obtenir les bons lecteurs mappés.


1

Comme d'autres l'ont dit - n'utilisez pas FTP - il y a beaucoup, beaucoup de choses qui ne vont pas avec. OTOH, vous devriez probablement utiliser un protocole qui ne nécessite pas que les utilisateurs installent des logiciels supplémentaires côté client; bien que l'accès basé sur ssh (sftp, scp) soit idéal, les machines MSWindows ne sont pas fournies avec un client en standard.

Il n'y a pas de fin de gestionnaire de fichiers disponible écrit en PHP (et probablement aussi dans d'autres langues). IIS fait des choses très étranges avec le tunneling des autorisations NTLM - mais si vous utilisez Apache, cela devrait être raisonnablement sûr - cependant, l'accès aux lecteurs n'est pas aussi simple que la simple lecture de \ server \ username \ - vous devez autoriser le droits d'administrateur du serveur Web sur ces fichiers - mais c'est un cauchemar pour la sécurité!

La façon dont je le fais (pour un type d'application très différent) est de gérer les E / S via smbclient en utilisant le nom d'utilisateur / mot de passe de la session PHP des utilisateurs - mais c'est sur une machine Linux - AFAIK, il n'y a pas d'équivalent sur MSWindows.

Vous voudrez certainement utiliser les informations d'identification fournies par l'utilisateur pour vous authentifier auprès du stockage.

Cela devient rapidement compliqué et effrayant!

Une solution pratique serait donc de permettre aux étudiants de cartographier les disques sur Internet. De cette façon, vous n'avez pas à vous soucier des complications liées à la fourniture d'un gestionnaire de fichiers qui ne fait pas partie intégrante du système d'exploitation (c'est-à-dire directement accessible depuis les applications). Mais vous ne voulez pas exposer votre serveur à quiconque et à tout le monde. Le moyen habituel de résoudre ce problème serait un VPN - et il existe de nombreux bons et bon marché disponibles. Ou enveloppez simplement le service dans SSL avec l'authentification par certificat client. Mais là encore, cela nécessite des installations côté client.

Donc.....

Que diriez-vous d'un formulaire Web pour authentifier un utilisateur à une adresse IP qui crée ensuite un trou limité dans le temps dans le pare-feu pour que cette adresse IP se connecte via SMB (et ils doivent toujours fournir un nom d'utilisateur / mot de passe pour mapper le lecteur bien sûr) .


"there are many, many things wrong with [FTP]"- en fait, il n'y a que quelques problèmes avec ftp, mais ce sont des choses vraiment importantes . ;) Tout de même au final
Joel Coel

0

PS: personnellement, je pense que vous aurez un bien meilleur taux de réussite si vous portez votre système sur * nix, car plus d'alternatives seraient disponibles (librement)

Ce qui me vient à l'esprit:

Dropbox:

téléchargez les modifications dans Dropbox . La grande chose à propos de Dropbox est qu'ils offrent un plan gratuit de 20 Go (en ce moment) et peuvent être utilisés avec tous les systèmes d'exploitation populaires (Windows / Linux / MacOSX) sans aucun tracas. Je n'ai encore rien lu / implémenté en utilisant l' API Dropbox , mais j'espère que vous pourrez y arriver sans trop de maux de tête. Je suppose que le problème est ce qui se passe lorsqu'ils modifient le plan tarifaire, mais c'est quelque chose pour plus tard.

Alternatives Dropbox open source

Après avoir effectué une recherche rapide sur Google, ce lien fournit des alternatives open-source, mais je ne sais pas si l'une d'entre elles est bonne, vous devriez donc tester cela.

la toile

Au lieu de donner aux utilisateurs la possibilité de synchroniser, ne leur donnez que la possibilité de télécharger des fichiers / dossiers (zippés). Je pense que vous pourriez écrire un système comme celui-là sans trop de griefs.

VPN / RPC

Comme certains autres utilisateurs l'ont dit, donnez à l'utilisateur de se connecter en utilisant VPN / RPC.


2
Les étudiants doivent pouvoir se connecter avec leur nom d'utilisateur et mot de passe réseau qu'ils utilisent tous les jours à l'école. C'est pourquoi cela doit se synchroniser avec le répertoire actif d'une manière ou d'une autre. La dropbox n'est donc pas une option. Merci quand même.
DobotJr

Je pense que vous pourriez être en mesure de mapper ces informations d'identification aux informations d'identification de la boîte de réception d'une manière ou d'une autre, mais bonne chance monsieur.
Alfred

0

Jetez un œil à Ajaxplorer ( http://www.ajaxplorer.info )

Il s'agit d'un gestionnaire de fichiers basé sur le Web (écrit en PHP et Javascript) qui permet une administration facile des autorisations, des utilisateurs, des groupes et vous pouvez configurer des référentiels partagés ainsi que des référentiels personnels.

Il peut également faire webdav et possède des connecteurs d'authentification pour toutes sortes de systèmes (ldap, mysql, flatfile .....)

avec les connecteurs du système de fichiers, vous pouvez définir des règles pour mapper automatiquement les comptes d'utilisateurs à des répertoires individuels, ce qui trierait vos besoins d'accès au lecteur mappé de l'utilisateur.

Nous venons de commencer à l'utiliser ici (conception / agence web) et les clients de toutes capacités techniques le trouvent très facile à utiliser / à comprendre

Vous devriez pouvoir l'intégrer dans votre système actuel sans aucun changement

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.