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 ??
Réponses:
Si vous insistez pour faire cela (plutôt que d'aller avec la réponse @sweaves), je commencerais par:
suppression de Php, Apache et MySql. Ils ne sont pas nécessaires et introduiront leurs propres maux de tête.
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
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/
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
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.
la source
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
la source
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.
la source
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.
la source
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.
la source
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) .
la source
"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 finalPS: 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.
la source
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
la source