Назад | Перейти на главную страницу

Создание студенческого сервера хранения

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

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

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

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

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

Если вы настаиваете на этом (в отличие от ответа @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-windows-2008-in-less-than- 10-minutes.aspx

  3. Если вы не можете этого сделать, посмотрите, как настроить File Zilla для работы с AD. http://retrohack.com/enpting-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.

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

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

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

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

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

Как насчет WebDAV?

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

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

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

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

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

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

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

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

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

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

Так.....

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

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

Что приходит в голову:

Dropbox:

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

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

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

Интернет

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

VPN / RPC

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

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

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

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

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

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

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