Erstellen eines Student Storage-Servers

10

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?

DobotJr
quelle
2
Was müssen sie können? Ihr Titel sagt mir Speicherplatz, der besagt, dass sie nur ein FTP-Login benötigen. Voller Remotecomputerzugriff = Remotedesktopverbindung.
1
Was ist mit FTP?
m4tt1mus
3
Das Problem mit Ihrer PHP / Apache / MySQL-Idee ist, dass sie eine Liste von Dateien auf einer Webseite erhalten. Sobald sie auf eine Datei klicken / diese herunterladen, um daran zu arbeiten, haben Sie zwei Versionen, eine auf Ihrem Server und eine auf dem Computer zu Hause des Schülers. Das wird bestimmt zu vielen Problemen führen. Sie müssen eine Art virtuelles Laufwerk für Ihre Schüler erstellen.
Jeroen
Ganz zu schweigen von der Tatsache, dass Sie die Hauptdaten des Servers für das World Wide Web öffnen. Dies sollten Sie nicht tun. Wenn jemand durch PHP Root wird, verabschieden Sie sich von Ihren Daten.
RobertPitt
Haben Sie eine Form von CMS in Betracht gezogen? Wenn sie nur Standarddokumente im Bürostil verwalten müssen, würde etwas wie Alfresco wahrscheinlich gut funktionieren.
ErnieTheGeek

Antworten:

18

Wenn Sie darauf bestehen (im Gegensatz zu @sweaves Antwort), würde ich beginnen mit:

  1. Löschen von Php, Apache und MySql. Sie sind nicht notwendig und verursachen ihre eigenen Kopfschmerzen.

  2. 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

  3. 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/

  4. 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

  5. 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.

Nicht ich
quelle
2
+1 für SFTP und nicht FTP
RobertPitt
1
Dies ist definitiv der richtige Weg. Ich habe ein Linux-System, das im Grunde das Gleiche tut - einen einzelnen Speicherbereich, auf den über SMB zugegriffen werden kann, wenn sich Studenten auf dem Campus befinden, und über SFTP, wenn sie sich außerhalb des Campus befinden. Schüler können WinSCP , FileZilla-Client , Fugu oder was auch immer SFTP spricht, wenn sie außerhalb des Campus sind.
Mike Renfro
Was er gesagt hat ...
Bart Silverstrim
4
Möglicherweise möchten Sie dort auch WebDav hinzufügen. Windows-Benutzer können eine WebDav-Freigabe problemlos als Laufwerksbuchstaben zuordnen - OSX und Linux bieten ebenfalls gute Unterstützung. Super einfach in IIS zu konfigurieren, auch wenn sich die Studentenheime auf einem anderen Server befinden.
Jscott
1
@jscott: Meine Erfahrung mit der integrierten WebDAV-Unterstützung von Windows war ziemlich schlecht (insbesondere unter XP eine schreckliche Leistung). Aber wenn es in einer anderen Umgebung funktioniert, die ich nicht ausprobiert habe, soll es so sein.
Mike Renfro
11

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
Denken Sie nicht, dass dieser Wille hier funktionieren kann. Wir müssen dies zum Laufen bringen, ohne irgendetwas auf den Heimcomputern unserer Schüler zu installieren.
4
@DobotJr: Sie erkennen, dass dies ohne VPN-Sicherheit ein sehr großes Problem ist? Sie erkennen auch, dass Studentensysteme zu den am meisten gehackten Gegenständen gehören?
NotMe
Ich würde dann Horde vorschlagen. Machen Sie Ihren Server für das Internet zugänglich und installieren Sie Horde, einen Mail- UND Dateibrowser. Ordnet Dateien von der lokalen Freigabe des Benutzers zum Herunterladen / Hochladen einer Weboberfläche zu.
@ Sweaves der Link von der Life-Hacker-Website ist borked, ich schlage vor, Sie Link zu einem anderen Tutorial
@ Dragon - ah, Sie haben in der Tat Recht, dieser ist live, obwohl compnetworking.about.com/od/vpnsetup/…
5

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.

Bart Silverstrim
quelle
3

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.

Zwölf47
quelle
1

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.

Joel Coel
quelle
1

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). .

symcbean
quelle
"there are many, many things wrong with [FTP]"- Eigentlich gibt es nur wenige Probleme mit FTP, aber es sind wirklich wichtige Dinge . ;)
Joel Coel
0

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.

Alfred
quelle
2
Die Schüler müssen sich mit ihrem Netzwerk-Benutzernamen und -Kennwort anmelden können, das sie jeden Tag in der Schule verwenden. Deshalb muss dies irgendwie mit Active Directory synchronisiert werden. Dropbox ist also keine Option. Trotzdem danke.
DobotJr
Ich denke, Sie können diese Anmeldeinformationen möglicherweise auf irgendeine Weise Dropbox-Anmeldeinformationen zuordnen, aber viel Glück, Sir.
Alfred
0

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

Nick Downton
quelle