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

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

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

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

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

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

8 ответов

Если вы настаиваете на этом (в отличие от ответа @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/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.

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

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

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

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

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

Как насчет WebDAV?

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

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

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

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

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

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

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

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

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

Так.....

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

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

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

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

Dropbox:

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

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

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

Web

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

VPN / RPC

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

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

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

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

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

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

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

Другие вопросы по тегам