Создание сервера хранилища для студентов

10

Я работаю в школьном округе. Я был назначен ответственным за создание сервера хранения для студентов. Место для них, чтобы работать вне школы и дома.

Моя задача - заставить это работать из дома. В школе они регистрируются, проходят аутентификацию и получают подключенный диск в свою папку на сервере ( S:\fileserver\studentname).

Мой вопрос: как я могу сделать это доступным для студентов дома?

Сервер работает под управлением Windows Server 2008 R2. У меня PHP, Apache и MySQL работают вместе. Моя идея - написать скрипт, который будет «сканировать» каталог, содержащий все папки учеников, а затем создавать экземпляр каждого файла и папки в БД MySQL. Создайте страницу входа, которая будет использовать LDAP для аутентификации, и, как только они войдут на сервер из дома, они получат страницу с папками и файлами, привязанными к их имени пользователя.

Кто-нибудь когда-нибудь собирал что-то подобное?

DobotJr
источник
2
что им нужно уметь делать? Ваш заголовок говорит мне о хранилище, которое говорит, что им просто нужно войти по FTP. Полный удаленный доступ к компьютеру = подключение к удаленному рабочему столу.
1
А как насчет FTP?
m4tt1mus
3
Проблема с вашей идеей php / apache / mysql в том, что она выдаст им список файлов на веб-странице. Как только они нажмут / загрузят файл для работы, у вас будет 2 версии: одна на вашем сервере и одна на компьютере у ученика. Это должно привести к множеству проблем. Вам нужно будет создать своего рода виртуальный диск для ваших студентов.
Йерун
Не говоря уже о том, что вы открываете основные данные серверов для всемирной паутины, это то, что вам не следует делать, если кто-то получает root от php, тогда попрощайтесь с вашими данными.
Роберт Питт
Рассматривали ли вы какую-либо форму CMS? Если бы им просто нужно было управлять стандартными документами офисного стиля, что-то вроде Alfresco, вероятно, сработало бы хорошо.
ErnieTheGeek

Ответы:

18

Если вы настаиваете на этом (в отличие от ответа @sweaves), то я бы начал с:

  1. сбросив Php, Apache и MySql. Они не нужны и будут вводить свои головные боли.

  2. Получите FTPS сервер и работает. В связи с этим вы могли бы рассмотреть возможность отказа от Windows Server 2003 в пользу 2008 R2. IIS 7 имеет гораздо лучше FTP элементы , встроенные в. Http://blogs.technet.com/b/chrisavis/archive/2008/06/12/how-to-configure-ftp-over-ssl-secure-ftp-on- окна-2008-в-менее чем 10-minutes.aspx

  3. Если вы не можете сделать это, посмотрите на это, как настроить File Zilla для работы с AD. http://retrohack.com/enabling-filezilla-server-integration-with-active-directory-authentication/

  4. Другой вариант (спасибо @jscott) - использовать WebDav ( http://www.iis.net/download/webdav ). Вот еще одна школа, которая делает то же самое: http://kb.iu.edu/data/araf.html

  5. Вы также можете настроить сервер SFTP ">. SFTP поддерживает вход без пароля, но не поддерживается в Windows" из коробки ".

Отметим, что решение filezilla - это больше работы по управлению, чем решение IIS 7.

Не я
источник
2
+1 для SFTP, а не для FTP
RobertPitt
1
Это определенно путь. У меня есть система Linux, которая делает в основном то же самое - единую область хранения, доступную через SMB, когда студенты находятся в кампусе, и через SFTP, когда они находятся вне кампуса. Студенты могут использовать WinSCP , клиент FileZilla , Fugu или любой другой язык, говорящий на SFTP, когда они находятся за пределами кампуса.
Майк Ренфро
Что он сказал ...
Барт Сильверстрим
4
Вы также можете добавить туда WebDav. Пользователи Windows могут легко сопоставить общий ресурс WebDav как букву диска - OSX, Linux также имеет достойную поддержку. Супер просто настроить в IIS, даже если дома студентов находятся на другом сервере.
Джскотт
1
@jscott: мой опыт работы со встроенной поддержкой Windows WebDAV был довольно плохим (в частности, ужасная производительность под XP). Но если это работает в какой-то другой среде, я не пробовал, пусть будет так.
Майк Ренфро
11

Гораздо проще было бы настроить VPN. Затем студент может войти в VPN и получить доступ ко всем своим ресурсам, как если бы они находились внутри кампуса. Проверьте детали ... http://lifehacker.com/162563/how-to-set-up-free-vpn


источник
Не думайте, что это может работать здесь. Мы должны заставить это работать без установки чего-либо на домашние компьютеры наших студентов.
4
@ DobotJr: Вы понимаете, что когда вы делаете это без безопасности VPN, это очень большая проблема? Вы также понимаете, что студенческие системы - одни из самых взломанных элементов?
NotMe
Я бы предложил Орду тогда. Сделайте ваш сервер доступным для интернета и установите Horde, это почтовый и файловый браузер. Карты файлов из локального ресурса пользователей в веб-интерфейс для загрузки / выгрузки.
@sweaves ссылка с сайта лайф хакера не работает, я предлагаю вам ссылку на другой учебник
@Dagon - ну, вы действительно правы, этот в прямом эфире, хотя compnetworking.about.com/od/vpnsetup/…
5

Что именно им нужно сделать? Просто получить доступ? Если вы открываете его до FTP, вы спрашиваете о больших проблемах. Если им нужен доступ к согласованным инструментам для работы с документами из школы, откройте сервер (или кластер) для служб удаленных рабочих столов.

Да, им нужно установить клиент удаленного рабочего стола, если у него его еще нет (вероятно, он уже есть), но клиент доступен для Linux, Windows и Mac бесплатно. Соединение зашифровано, и они могут иметь доступ ко всему, что ваша школа использует для Office или других инструментов, если вы не используете что-то сверхмощное, например Photoshop.

Если вы используете RDP, вы получаете шифрование, у вас открывается один порт на брандмауэре, и вы получаете стандартизацию утилит (нет «я сделал это дома, и он работал нормально, почему он не открывается здесь?», Жалобы) плюс централизованное управление. Я видел, как подобные проблемы решались именно таким образом несколько раз, и только при определенных обстоятельствах возникали проблемы с этим.

Кроме того, у вас нет учеников с множественными копиями документов, которые жалуются на то, что они не знают, ПОЧЕМУ их документ является неправильной версией, потому что он работал FINE дома ... или они не сохранили его в нужном месте ... .и т.д.

Барт Сильверстрим
источник
3

Как насчет WebDAV?

Это поддерживается в Apache, и вы все равно можете использовать LDAP для аутентификации.

Пользователи смогут получить доступ к своим файлам из браузера, а современные версии Windows и OS X позволяют пользователям подключать общие ресурсы WebDAV под Explorer и Finder соответственно.

Также было предотвращено возникновение проблем, связанных с попыткой сохранить состояние постоянно меняющейся файловой системы в синхронизации с базой данных в вашем методе.

Twelve47
источник
1

Взгляните на Adito / OpenVPN ALS . Это бесплатно, будет устанавливаться в Windows или Linux, и чрезвычайно упрощает настройку веб-интерфейса для общих файловых ресурсов, а также многих других функций. Я использую это в колледже, где я работаю. У него есть несколько недостатков: требуется установить Java на клиентах, отключить блокировку всплывающих окон во многих браузерах, настроить сертификат проще, а просмотр страниц для листинга файлов может быть проще. Если вы решите настроить webdav, его можно использовать для упрощения (и повышения надежности) для ваших пользователей правильного сопоставления дисков.

Джоэл Коэль
источник
1

Как уже говорили другие - не используйте FTP - есть много, много проблем с ним. OTOH, вам, вероятно, следует использовать протокол, который не требует от пользователей установки дополнительного программного обеспечения на стороне клиента; хотя доступ на основе ssh (sftp, scp) был бы идеальным, машины MSWindows не поставляются с клиентом в стандартной комплектации.

Нет доступных файловых менеджеров, написанных на PHP (и, возможно, на других языках). IIS делает очень странные вещи с туннелированием разрешений NTLM - но если вы используете Apache, это должно быть достаточно безопасно - однако доступ к дискам не так прост, как простое чтение из \ server \ username \ - вам нужно разрешить права администратора веб-сервера на эти файлы - но это кошмар безопасности!

Способ, которым я делаю это (для совершенно другого типа приложений), заключается в обработке ввода-вывода через smbclient с использованием имени пользователя / пароля из пользовательского сеанса PHP - но это на машине Linux - AFAIK, в MSWindows нет эквивалента.

Конечно, вы хотите использовать учетные данные, предоставленные пользователем, для аутентификации в хранилище.

Это быстро становится страшно сложным!

Таким образом, практическим решением было бы позволить студентам отобразить диски через Интернет. Таким образом, вам не нужно беспокоиться о сложностях предоставления файлового менеджера, который не является неотъемлемой частью операционной системы (то есть напрямую доступен из приложений). Но вы не хотите показывать свой сервер всем и каждому. Обычным способом решения этой проблемы будет VPN - и есть много хороших и недорогих доступных. Или просто оберните сервис в SSL с аутентификацией сертификата клиента. Но опять же это требует установки на стороне клиента.

Так.....

Как насчет веб-формы для аутентификации пользователя по IP-адресу, который затем создает ограниченную по времени дыру в брандмауэре для того, чтобы этот IP-адрес подключался через SMB (и им по-прежнему необходимо предоставить имя пользователя / пароль для сопоставления диска, разумеется) ,

symcbean
источник
"there are many, many things wrong with [FTP]"- на самом деле, есть только несколько вещей не так с ftp, но это действительно важные вещи . ;) Все таки в итоге
Джоэл Коэль
0

PS: лично я думаю, что у вас будет гораздо лучший показатель успеха, если вы перенесете свою систему на * nix, потому что будет доступно больше альтернатив (свободно)

Что приходит на ум:

Dropbox:

загрузить изменения в Dropbox . Отличительной особенностью Dropbox является то, что они предлагают бесплатный тариф на 20 ГБ (прямо сейчас) и могут быть использованы с любой популярной операционной системой (Windows / Linux / MacOSX) без каких-либо хлопот. Я еще ничего не читал / не реализовывал с помощью API Dropbox , но, надеюсь, вы сможете добиться этого без особой головной боли. Я думаю, проблема в том, что происходит, когда они меняют тарифный план, но это что-то на потом.

Альтернативы Dropbox с открытым исходным кодом

После быстрого поиска в Google эта ссылка предоставляет некоторые альтернативы с открытым исходным кодом, но я не знаю, насколько они хороши, поэтому вы должны это проверить.

Web

Вместо того, чтобы дать пользователям возможность синхронизировать, предоставьте им только возможность загружать файлы / папки (в архиве). Я думаю, что вы могли бы написать такую ​​систему без особых обид.

VPN / RPC

Как и некоторые другие пользователи, дайте пользователю возможность войти в систему с помощью VPN / RPC.

Альфред
источник
2
Учащиеся должны иметь возможность войти в систему, используя свое сетевое имя пользователя и пароль, которые они используют каждый день в школе. Вот почему это должно как-то синхронизировать каталог w / active. Так что Dropbox не вариант. Спасибо хоть.
DobotJr
Я думаю, вы могли бы сопоставить эти учетные данные с учетными данными Dropbox каким-то образом, но удачи, сэр.
Альфред
0

Взгляните на Ajaxplorer ( http://www.ajaxplorer.info )

Это веб-файловый менеджер (написанный на PHP и Javascript), который обеспечивает простое администрирование разрешений, пользователей, групп, и вы можете настроить как общие, так и личные репозитории.

Это может также сделать webdav и имеет соединители аутентификации для всех видов систем (ldap, mysql, flatfile .....)

с помощью коннекторов файловой системы вы можете настроить правила для автоматического сопоставления учетных записей пользователей с отдельными каталогами, что позволит удовлетворить ваши требования для доступа к подключенному диску пользователя.

Мы только начали использовать его здесь (дизайн / веб-агентство), и клиенты со всеми техническими возможностями находят его очень простым в использовании / понимании

Вы должны быть в состоянии интегрировать его в вашу текущую систему без изменений

Ник Даунтон
источник