Ich arbeite für einen Schulbezirk. Ich wurde mit dem Aufbau eines Speicherservers für Studenten beauftragt. Ein Ort, an dem sie von der Schule und von zu Hause aus arbeiten können.
Meine Herausforderung besteht darin, dies von zu Hause aus zum Laufen zu bringen. In der Schule melden sie sich an, authentifizieren sich und erhalten ein zugeordnetes Laufwerk in ihrem Ordner auf dem Server ( S:\fileserver\studentname
).
Meine Frage ist, wie ich dies Studenten zu Hause zur Verfügung stellen kann.
Auf dem Server wird Windows Server 2008 R2 ausgeführt. Ich habe PHP, Apache und MySQL zusammenarbeiten. Meine Idee ist, ein Skript zu schreiben, das durch das Verzeichnis mit allen Schülerordnern "crawlt" und dann eine Instanz jeder Datei und jedes Ordners in einer MySQL-Datenbank erstellt. Erstellen Sie eine Anmeldeseite, die LDAP für die Authentifizierung verwendet. Sobald sie sich von zu Hause aus beim Server anmelden, erhalten sie eine Seite mit Ordnern und Dateien, die an ihren Benutzernamen gebunden sind.
Hat jemand da draußen jemals so etwas zusammengestellt?
Antworten:
Wenn Sie darauf bestehen (im Gegensatz zu @sweaves Antwort), würde ich beginnen mit:
Löschen von Php, Apache und MySql. Sie sind nicht notwendig und verursachen ihre eigenen Kopfschmerzen.
Starten Sie einen FTPS-Server. In diesem Sinne könnten Sie erwägen, Windows Server 2003 zugunsten von 2008 R2 zu sichern. In IIS 7 sind viel bessere FTP-Elemente integriert. Http://blogs.technet.com/b/chrisavis/archive/2008/06/12/how-to-configure-ftp-over-ssl-secure-ftp-on- Windows-2008-in-weniger-als-10-Minuten.aspx
Wenn Sie dies nicht tun können, sehen Sie sich an, wie Sie File Zilla für die Arbeit mit AD einrichten. http://retrohack.com/enabling-filezilla-server-integration-with-active-directory-authentication/
Eine andere Option (danke @jscott) ist die Verwendung von WebDav ( http://www.iis.net/download/webdav ). Hier ist eine andere Schule, die genau dasselbe tut: http://kb.iu.edu/data/araf.html
Sie können auch einen "> SFTP-Server einrichten. SFTP unterstützt kennwortlose Anmeldungen, wird jedoch in Windows nicht sofort unterstützt.
Nebenbei bemerkt, die Filezilla-Lösung ist mehr Verwaltungsarbeit als die IIS 7-Lösung.
quelle
Eine viel einfachere Lösung wäre das Einrichten eines VPN. Der Schüler kann sich dann beim VPN anmelden und auf alle Ressourcen zugreifen, als ob er sich auf dem Campus befindet. Weitere Informationen finden Sie unter ... http://lifehacker.com/162563/how-to-set-up-free-vpn
quelle
Was genau müssen sie tun? Einfach Zugang bekommen? Wenn Sie es für FTP öffnen, fragen Sie nach großen Problemen. Wenn sie Zugriff auf konsistente Tools benötigen, um Dokumente aus der Schule bearbeiten zu können, öffnen Sie einen Server (oder Cluster) für Remotedesktopdienste.
Ja, sie müssen den Remotedesktop-Client installieren, wenn sie ihn noch nicht haben (wahrscheinlich bereits), aber der Client ist für Linux, Windows und den Mac kostenlos verfügbar. Die Verbindung ist verschlüsselt und sie können auf alles zugreifen, was Ihre Schule für Office oder andere Tools verwendet, es sei denn, Sie verwenden etwas Hochleistungsfähiges wie Photoshop.
Wenn Sie RDP verwenden, erhalten Sie eine Verschlüsselung, einen Port zum Öffnen Ihrer Firewall und eine Standardisierung der Dienstprogramme (nein "Ich habe dies zu Hause gemacht und es hat gut funktioniert, warum wird es hier nicht geöffnet?") zentrales Management. Ich habe ähnliche Probleme mehrmals auf genau diese Weise gelöst gesehen und nur unter bestimmten Umständen gab es Probleme damit.
Außerdem haben Sie keine Schüler mit mehreren Kopien von Dokumenten, die sich beschweren, dass sie nicht wissen, WARUM ihr Papier die falsche Version ist, weil es zu Hause einwandfrei funktioniert hat ... oder sie haben es nicht an der richtigen Stelle gespeichert. .etc.
quelle
Wie wäre es mit WebDAV?
Dies wird in Apache unterstützt und Sie können weiterhin LDAP zur Authentifizierung verwenden.
Benutzer können über einen Browser auf ihre Dateien zugreifen, und moderne Versionen von Windows und OS X ermöglichen es Benutzern, WebDAV-Freigaben unter Explorer bzw. Finder bereitzustellen.
Es wurde auch verhindert, dass Probleme beim Versuch auftreten, den Status eines sich ständig ändernden Dateisystems synchron mit einer Datenbank in Ihrer vorgeschlagenen Methode zu speichern.
quelle
Schauen Sie sich Adito / OpenVPN ALS an . Es ist kostenlos, wird unter Windows oder Linux installiert und macht es extrem einfach, eine Weboberfläche für Dateifreigaben sowie viele andere Funktionen einzurichten. Ich benutze es am College, wo ich arbeite. Es hat einige Nachteile: Java muss auf den Clients installiert sein, der Popup-Blocker wird in vielen Browsern aktiviert, die Einrichtung von Zertifikaten könnte einfacher sein und die Seitenansicht für Dateilisten könnte einfacher sein. Wenn Sie webdav einrichten, können Sie es Ihren Benutzern erleichtern (und zuverlässiger machen), die richtigen Laufwerke zuzuordnen.
quelle
Wie andere gesagt haben - verwenden Sie kein FTP - es gibt viele, viele Dinge, die daran falsch sind. OTOH, Sie sollten wahrscheinlich ein Protokoll verwenden, bei dem Benutzer keine zusätzliche clientseitige Software installieren müssen. Obwohl ein SSH-basierter Zugriff (SFTP, SCP) ideal wäre, werden MSWindows-Computer standardmäßig nicht mit einem Client geliefert .
In PHP (und wahrscheinlich auch in anderen Sprachen) sind keine Dateimanager verfügbar. IIS macht einige sehr seltsame Dinge mit dem Tunneln von NTLM-Berechtigungen - aber wenn Sie Apache verwenden, sollte es einigermaßen sicher sein - der Zugriff auf die Laufwerke ist jedoch nicht so einfach wie das Lesen von \ server \ username \ - Sie müssten das zulassen Webserver-Administratorrechte für diese Dateien - aber das ist ein Sicherheitsalptraum!
Die Art und Weise, wie ich es mache (für eine ganz andere Art von Anwendung), besteht darin, die E / A über smbclient unter Verwendung des Benutzernamens / Passworts aus der PHP-Sitzung des Benutzers zu verarbeiten - aber das ist auf einem Linux-Computer - AFAIK, es gibt kein Äquivalent unter MSWindows.
Sicherlich möchten Sie die vom Benutzer angegebenen Anmeldeinformationen verwenden, um sich beim Speicher zu authentifizieren.
Das wird schnell unheimlich kompliziert!
Eine praktische Lösung wäre es also, den Schülern zu ermöglichen, die Laufwerke über das Internet abzubilden. Auf diese Weise müssen Sie sich keine Gedanken über die Komplikationen bei der Bereitstellung eines Dateimanagers machen, der kein integraler Bestandteil des Betriebssystems ist (dh direkt von Anwendungen aus zugänglich ist). Sie möchten Ihren Server jedoch niemandem und jedem aussetzen. Der übliche Weg, um dieses Problem zu lösen, wäre ein VPN - und es gibt viele gute und kostengünstige . Oder einfach wickeln Sie den Service in SSL mit Client - Zertifikat - Authentifizierung. Dies erfordert jedoch wiederum clientseitige Installationen.
So.....
Wie wäre es mit einem Webformular zur Authentifizierung eines Benutzers an einer IP-Adresse, das dann eine zeitlich begrenzte Lücke in der Firewall schafft, damit diese IP-Adresse über SMB eine Verbindung herstellen kann (und sie müssen natürlich noch einen Benutzernamen / ein Kennwort angeben, um das Laufwerk zuzuordnen). .
quelle
"there are many, many things wrong with [FTP]"
- Eigentlich gibt es nur wenige Probleme mit FTP, aber es sind wirklich wichtige Dinge . ;)PS: Ich persönlich denke, Sie werden eine viel bessere Erfolgsquote haben, wenn Sie Ihr System auf * nix portieren, da mehr Alternativen (frei) verfügbar wären.
Was gerade in den Sinn kommt:
Dropbox:
Laden Sie die Änderungen in Dropbox hoch . Das Tolle an Dropbox ist, dass sie einen kostenlosen Plan von 20 GB (derzeit) bieten und problemlos mit jedem gängigen Betriebssystem (Windows / Linux / MacOSX) verwendet werden können. Ich habe noch nichts mit der Dropbox-API gelesen / implementiert , aber hoffentlich können Sie dies ohne allzu große Kopfschmerzen erreichen. Ich denke, das Problem ist, was passiert, wenn sie den Preisplan ändern, aber das ist etwas für später.
Open-Source-Dropbox-Alternativen
Nach einer schnellen Google-Suche bietet dieser Link einige Open-Source-Alternativen, aber ich weiß nicht, ob eine davon gut ist, also sollten Sie das testen.
Netz
Anstatt den Benutzern die Möglichkeit zur Synchronisierung zu geben, haben sie nur die Möglichkeit, Dateien / Ordner (komprimiert) herunterzuladen. Ich denke, Sie könnten ein solches System ohne allzu große Beschwerden schreiben.
VPN / RPC
Wie einige andere Benutzer sagten, geben Sie dem Benutzer die Möglichkeit, sich mit VPN / RPC anzumelden.
quelle
Schauen Sie sich Ajaxplorer an ( http://www.ajaxplorer.info )
Es ist ein webbasierter Dateimanager (geschrieben in PHP und Javascript), der eine einfache Verwaltung von Berechtigungen, Benutzern, Gruppen ermöglicht, und Sie können sowohl freigegebene als auch persönliche Repositorys einrichten.
Es kann auch Webdav ausführen und verfügt über Authentifizierungsconnectors für alle Arten von Systemen (LDAP, MySQL, Flatfile .....).
Mit den Dateisystem-Connectors können Sie Regeln einrichten, um Benutzerkonten automatisch einzelnen Verzeichnissen zuzuordnen, um Ihre Anforderungen für den Zugriff auf das zugeordnete Laufwerk des Benutzers zu klären.
Wir haben gerade damit begonnen, es hier zu verwenden (Design / Webagentur) und Kunden aller technischen Fähigkeiten finden es sehr einfach zu bedienen / zu verstehen
Sie sollten es ohne Änderungen in Ihr aktuelles System integrieren können
quelle