Я работаю в школьном округе. Я был назначен ответственным за создание сервера хранения для студентов. Место для них, чтобы работать вне школы и дома.
Моя задача - заставить это работать из дома. В школе они регистрируются, проходят аутентификацию и получают подключенный диск в свою папку на сервере ( S:\fileserver\studentname
).
Мой вопрос: как я могу сделать это доступным для студентов дома?
Сервер работает под управлением Windows Server 2008 R2. У меня PHP, Apache и MySQL работают вместе. Моя идея - написать скрипт, который будет «сканировать» каталог, содержащий все папки учеников, а затем создавать экземпляр каждого файла и папки в БД MySQL. Создайте страницу входа, которая будет использовать LDAP для аутентификации, и, как только они войдут на сервер из дома, они получат страницу с папками и файлами, привязанными к их имени пользователя.
Кто-нибудь когда-нибудь собирал что-то подобное?
Ответы:
Если вы настаиваете на этом (в отличие от ответа @sweaves), то я бы начал с:
сбросив Php, Apache и MySql. Они не нужны и будут вводить свои головные боли.
Получите 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
Если вы не можете сделать это, посмотрите на это, как настроить File Zilla для работы с AD. http://retrohack.com/enabling-filezilla-server-integration-with-active-directory-authentication/
Другой вариант (спасибо @jscott) - использовать WebDav ( http://www.iis.net/download/webdav ). Вот еще одна школа, которая делает то же самое: http://kb.iu.edu/data/araf.html
Вы также можете настроить сервер 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 соответственно.
Также было предотвращено возникновение проблем, связанных с попыткой сохранить состояние постоянно меняющейся файловой системы в синхронизации с базой данных в вашем методе.
источник
Взгляните на 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 (и им по-прежнему необходимо предоставить имя пользователя / пароль для сопоставления диска, разумеется) ,
источник
"there are many, many things wrong with [FTP]"
- на самом деле, есть только несколько вещей не так с ftp, но это действительно важные вещи . ;) Все таки в итоге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 .....)
с помощью коннекторов файловой системы вы можете настроить правила для автоматического сопоставления учетных записей пользователей с отдельными каталогами, что позволит удовлетворить ваши требования для доступа к подключенному диску пользователя.
Мы только начали использовать его здесь (дизайн / веб-агентство), и клиенты со всеми техническими возможностями находят его очень простым в использовании / понимании
Вы должны быть в состоянии интегрировать его в вашу текущую систему без изменений
источник