Crear un servidor de almacenamiento de estudiantes

10

Yo trabajo para un distrito escolar. Me pusieron a cargo de construir un servidor de almacenamiento para estudiantes. Un lugar para trabajar desde la escuela y el hogar.

Mi desafío es lograr que esto funcione desde casa. En la escuela, inician sesión, se autentican y obtienen una unidad asignada a su carpeta en el servidor ( S:\fileserver\studentname).

Mi pregunta es ¿cómo puedo poner esto a disposición de los estudiantes en casa?

El servidor ejecuta Windows Server 2008 R2. Tengo PHP, Apache y MySQL trabajando juntos. Mi idea es escribir una secuencia de comandos que se "arrastre" a través del directorio que contiene todas las carpetas de los estudiantes, y luego crear una instancia de cada archivo y carpeta en una base de datos MySQL. Cree una página de inicio de sesión que utilizará LDAP para la autenticación, y una vez que inicien sesión en el servidor desde casa, obtendrán una página con carpetas y archivos vinculados a su nombre de usuario.

¿Alguien por ahí ha puesto algo como esto?

DobotJr
fuente
2
¿Qué necesitan para poder hacer? su título me dice almacenamiento que dice que solo necesitan un inicio de sesión ftp. Acceso completo a la máquina remota = Conexión a escritorio remoto.
1
¿Qué hay de FTP?
m4tt1mus
3
El problema con su idea php / apache / mysql es que les dará una lista de archivos en una página web. Tan pronto como hagan clic / descarguen un archivo para trabajar, tendrán 2 versiones, una en su servidor y otra en la computadora en el hogar del estudiante. Eso seguramente conducirá a muchos problemas. Deberá crear algún tipo de unidad virtual para sus alumnos.
jeroen
Sin mencionar el hecho de que estás abriendo los datos principales del servidor a la red mundial, esto es algo que no deberías estar haciendo, si alguien obtiene root de php, entonces di adiós a tus datos.
RobertPitt
¿Has considerado alguna forma de CMS? Si solo necesitan administrar documentos estándar de estilo de oficina, algo como Alfresco probablemente funcionaría bien.
ErnieTheGeek

Respuestas:

18

Si insiste en hacer esto (en lugar de ir con la respuesta @sweaves), entonces comenzaría por:

  1. dejando caer Php, Apache y MySql. No son necesarios e introducirán sus propios dolores de cabeza.

  2. Obtenga un servidor FTPS en funcionamiento. En este sentido, puede considerar deshacerse de Windows Server 2003 a favor de 2008 R2. IIS 7 tiene elementos FTP mucho mejores integrados. Http://blogs.technet.com/b/chrisavis/archive/2008/06/12/how-to-configure-ftp-over-ssl-secure-ftp-on- windows-2008-en-menos-10-minutos.aspx

  3. Si no puede hacer esto, mire esto para saber cómo configurar File Zilla para que funcione con AD. http://retrohack.com/enabling-filezilla-server-integration-with-active-directory-authentication/

  4. Otra opción (gracias @jscott) es usar WebDav ( http://www.iis.net/download/webdav ). Aquí hay otra escuela que hace exactamente lo mismo: http://kb.iu.edu/data/araf.html

  5. También puede configurar un "> servidor SFTP. SFTP admite inicios de sesión sin contraseña, pero no es compatible con Windows de fábrica.

Nota al margen, la solución filezilla es más trabajo de administración que la de IIS 7.

Yo no
fuente
2
+1 para SFTP y no FTP
RobertPitt
1
Este es definitivamente el camino a seguir. Tengo un sistema Linux que hace básicamente lo mismo: una única área de almacenamiento accesible a través de SMB cuando los estudiantes están en el campus, y a través de SFTP cuando están fuera del campus. Los estudiantes pueden usar WinSCP , cliente FileZilla , Fugu o lo que sea que habla SFTP cuando están fuera del campus.
Mike Renfro
Lo que dijo ...
Bart Silverstrim
44
Es posible que desee agregar WebDav allí también. Los usuarios de Windows pueden asignar fácilmente un recurso compartido WebDav como una letra de unidad: OSX, Linux también tiene un soporte decente. Súper simple de configurar en IIS, incluso si las residencias de estudiantes están en otro servidor.
jscott
1
@jscott: mi experiencia con el soporte WebDAV incorporado de Windows ha sido bastante mala (rendimiento horrible en XP, en particular). Pero si funciona en algún otro entorno que no he probado, que así sea.
Mike Renfro
11

Una solución mucho más fácil sería configurar una VPN. Luego, el estudiante puede iniciar sesión en la VPN y acceder a todos sus recursos como si estuvieran sentados dentro del campus. Echa un vistazo para más detalles ... http://lifehacker.com/162563/how-to-set-up-free-vpn


fuente
No pienses que esto puede funcionar aquí. Tenemos que hacer que esto funcione sin instalar nada en las computadoras de nuestros estudiantes.
44
@DobotJr: ¿Te das cuenta de que hacer esto sin una seguridad VPN es una gran preocupación? ¿También te das cuenta de que los sistemas de estudiantes son algunos de los elementos más pirateados?
NotMe
Sugeriría a Horde entonces. Haga que su servidor sea accesible a Internet e instale Horde, es un navegador de correo y archivos. Asigna archivos de los usuarios locales a una interfaz web para descargar / cargar.
@sweaves el enlace del sitio de piratas informáticos está descifrado, le sugiero que enlace a otro tutorial
@Dagon: ah, tienes razón, este es en vivo a través de compnetworking.about.com/od/vpnsetup/…
5

¿Qué necesitan hacer exactamente? ¿Solo tienes acceso? Si lo abre a FTP, está solicitando grandes problemas. Si necesitan acceso a herramientas consistentes para trabajar en documentos de la escuela, abra un servidor (o clúster) para servicios de escritorio remoto.

Sí, necesitan instalar un cliente de escritorio remoto si aún no lo tienen (probablemente ya lo tengan) pero el cliente está disponible para Linux, Windows y Mac de forma gratuita. La conexión está encriptada, y pueden tener acceso a lo que su escuela esté utilizando para Office u otras herramientas, a menos que esté ejecutando algo pesado como Photoshop.

Si usas RDP, obtienes cifrado, obtienes un puerto para abrir en tu firewall y obtienes estandarización de utilidades (no tengo "Quejé esto en casa y funcionó bien, ¿por qué no se abre aquí?") Más gestión centralizada He visto problemas similares como este resueltos exactamente de esta manera varias veces y solo en circunstancias específicas ha habido problemas con él.

Además, no tiene estudiantes con varias copias de documentos corriendo quejándose de que no saben POR QUÉ su papel es la versión incorrecta porque funcionó FINE en casa ... o no lo guardaron en el lugar correcto ... .etc.

Bart Silverstrim
fuente
3

¿Qué hay de WebDAV?

Esto es compatible con apache y aún puede usar LDAP para la autenticación.

Los usuarios podrían acceder a sus archivos desde un navegador, y las versiones modernas de Windows y OS X permiten a los usuarios montar recursos compartidos de WebDAV en Explorer y Finder, respectivamente.

También se evitaron los problemas asociados con el intento de almacenar el estado de un sistema de archivos en constante cambio en sincronización con una base de datos en su método sugerido.

Doce47
fuente
1

Echa un vistazo a Adito / OpenVPN ALS . Es gratis, se instalará en Windows o Linux, y hace que sea extremadamente fácil configurar una interfaz web para compartir archivos, así como muchas otras características. Lo uso en la universidad donde trabajo. Tiene algunas desventajas: requiere que Java esté instalado en los clientes, activa el bloqueador de elementos emergentes en muchos navegadores, la configuración del certificado podría ser más fácil y la vista paginada de listados de archivos podría ser más fácil. Si elige configurar webdav, se puede utilizar para que sea más fácil (y más confiable) para sus usuarios obtener las unidades correctas asignadas.

Joel Coel
fuente
1

Como han dicho otros, no use FTP, hay muchas, muchas cosas mal con él. OTOH, probablemente debería usar un protocolo que no requiera que los usuarios instalen software adicional del lado del cliente; aunque el acceso basado en ssh (sftp, scp) sería ideal, las máquinas con MSWindows no vienen con un cliente como estándar.

No hay fin de los administradores de archivos disponibles escritos en PHP (y probablemente también en otros idiomas). IIS hace cosas muy extrañas con la tunelización de los permisos NTLM, pero si está usando Apache, debería ser razonablemente seguro; sin embargo, acceder a las unidades no es tan simple como simplemente leer desde \ server \ username \: necesitaría permitir el derechos de administrador del servidor web en estos archivos, ¡pero eso es una pesadilla de seguridad!

La forma en que lo hago (para un tipo de aplicación muy diferente) es manejar la E / S a través de smbclient usando el nombre de usuario / contraseña de la sesión PHP de los usuarios, pero eso es en una máquina Linux, AFAIK, no hay equivalente en MSWindows.

Ciertamente, desearía utilizar las credenciales proporcionadas por el usuario para autenticarse en el almacenamiento.

¡Esto se está volviendo rápidamente complicado!

Por lo tanto, una solución práctica sería permitir a los estudiantes mapear las unidades a través de Internet. De esa manera, no necesita preocuparse por las complicaciones de proporcionar un administrador de archivos que no es una parte integral del sistema operativo (es decir, directamente accesible desde las aplicaciones). Pero no desea exponer su servidor a nadie y a todos. La forma habitual de resolver este problema sería una VPN, y hay muchas disponibles buenas y de bajo costo . O simplemente envuelva el servicio en SSL con autenticación de certificado de cliente. Pero, de nuevo, esto requiere instalaciones del lado del cliente.

Entonces.....

¿Qué tal un formulario web para autenticar a un usuario en una dirección IP que luego crea un agujero de tiempo limitado en el firewall para que esa dirección IP se conecte a través de SMB (y todavía necesitan proporcionar un nombre de usuario / contraseña para mapear el disco, por supuesto) .

symcbean
fuente
"there are many, many things wrong with [FTP]"- En realidad, solo hay algunas cosas mal con ftp, pero son cosas realmente importantes . ;) De todos modos al final
Joel Coel
0

PD: personalmente, creo que tendrá una tasa de éxito mucho mejor si transfiere su sistema a * nix, porque habría más alternativas disponibles (libremente)

Lo que viene a la mente:

Dropbox:

subir los cambios a Dropbox . Lo mejor de Dropbox es que ofrecen un plan gratuito de 20 GB (en este momento) y se pueden usar con todos los sistemas operativos populares (Windows / Linux / MacOSX) sin problemas. Todavía no he leído / implementado nada usando la API de Dropbox , pero espero que puedas lograrlo sin mucho dolor de cabeza. Supongo que el problema es lo que sucede cuando cambian el plan de precios, pero eso es algo para más adelante.

Alternativas de código abierto para Dropbox

Después de realizar una búsqueda rápida de Google este enlace ofrece algunas alternativas de código abierto, pero no sé si alguno de ellos es bueno por lo que debe probar eso.

Web

En lugar de ofrecer a los usuarios la opción de sincronizar, solo les da la oportunidad de descargar archivos / carpetas (comprimidos) Creo que podrías escribir un sistema así sin demasiada queja.

VPN / RPC

Al igual que otros usuarios, di al usuario que inicie sesión con VPN / RPC.

Alfredo
fuente
2
Los estudiantes deben poder iniciar sesión con su nombre de usuario y contraseña de red que usan todos los días en la escuela. Es por eso que esto tiene que sincronizarse con el directorio w / active de alguna manera. Entonces Dropbox no es una opción. Gracias sin embargo.
DobotJr
Creo que puede asignar esas credenciales a las credenciales de Dropbox de alguna manera, pero buena suerte señor.
Alfred
0

Echa un vistazo a Ajaxplorer ( http://www.ajaxplorer.info )

Es un administrador de archivos basado en la web (escrito en PHP y Javascript) que proporciona una fácil administración de permisos, usuarios, grupos, y puede configurar repositorios compartidos y personales.

También puede hacer webdav y tiene conectores de autenticación para todo tipo de sistemas (ldap, mysql, flatfile .....)

con los conectores del sistema de archivos puede configurar reglas para asignar cuentas de usuario a directorios individuales automáticamente, lo que resolvería sus requisitos para acceder a la unidad asignada del usuario.

Acabamos de comenzar a usarlo aquí (agencia de diseño / web) y los clientes de todas las habilidades técnicas encuentran muy fácil de usar / entender

Debería poder integrarlo en su sistema actual sin cambios

Nick Downton
fuente