Мне нужно что-то настроить на веб-сайте нашей компании, чтобы клиенты могли входить в систему и загружать файлы искусства (мы полиграфическая компания). Я бы хотел видеть то, что после входа в систему клиент будет направлен на страницу, на которой показаны другие файлы, которые он загрузил, и файлы, которые у нас есть для загрузки.
Сложность заключается в том, что веб-сайт размещен на коммерческой основе (powweb.com), но файлы изображений должны находиться на нашем ftp-сервере, который находится внутри нашего брандмауэра (с внешним доступом). Сайт является строго статическим HTML без управления контентом. система в использовании; очень простой. Каков наилучший / самый простой способ добиться этого, чтобы процесс не стал слишком дорогим? Кто-нибудь знает какие-либо пакеты с открытым исходным кодом или коммерческие пакеты, которые позволили бы этому случиться?
Само собой разумеется, что я не веб-программист; Я знаю достаточно, чтобы быть опасным, но я готов покопаться и узнать, что нужно делать. Мы планировали обновить веб-сайт в какой-то момент в этом году, и если использование контент-менеджера поможет в этом, я полностью открыт для этого.
Спасибо!
Шаг 1 Надежно настройте на веб-сервере хостинга «промежуточный» каталог, в котором будут храниться загруженные файлы клиентов до тех пор, пока вы не сможете их получить.
Шаг 2 Напишите задание cron на внутреннем FTP-сервере, которое переходит на веб-сервер и получает загруженные сообщения.
Я предполагаю, что у вас несколько ограниченное пространство на веб-сервере, поэтому я бы рекомендовал удалить их оттуда после того, как вы убедились, что вы успешно загрузили файлы. Если у вас есть доступ к оболочке на веб-сервере, вы можете использовать хэши md5 для проверки правильности. Если нет, возможно, вам просто придется остановиться на размере.
Моя компания использует подобную технику. У нас есть процесс, который запускается каждые 5 минут каждый день, он извлекает файлы, проверяет их, а затем удаляет их из источника. У нас это работает очень хорошо.
Это зависит от того, насколько быстро вам понадобятся файлы на вашем внутреннем сервере.
Sync-Решение
Если это не обязательно в реальном времени, позвольте людям загружать и скачивать с вашего веб-хостинга и синхронизировать каждые n минут. Есть разные решения для части синхронизации, но я бы порекомендовал rsync.
Решение в реальном времени
Если необходимо, чтобы это происходило в реальном времени, вы можете запустить веб-сервер на своем внутреннем хосте, который предоставляет только часть загрузки. Он может находиться на субдомене, например, upload.mycompany.com. Если вы сделаете это правильно, пользователи не заметят, что он размещен на другом сервере. Однако запуск общедоступного веб-сервера не для слабонервных, и на его обслуживание потребуется много времени.
Часть загрузки / скачивания
Написание кода для загрузки файла на веб-сервер - простая задача для всех, кто участвовал в программировании. Делать это безопасным, надежным, масштабируемым и эффективным способом - нет. Даже если в вашем вопросе подразумевается, что вы готовы изучить все, что необходимо, вам следует подумать о передаче на аутсорсинг хотя бы этой части вашей задачи.
Я бы создал безопасную папку на веб-хосте, которая представляет собой распределенную файловую систему, которую вы размещаете в своей внутренней сети, к которой ваш веб-хост подключается или находится на веб-хосте, к которому подключен ваш файловый сервер.
С вашей текущей настройкой вы сможете использовать существующую настройку. Есть способы монтировать ftp как диск или папку в различных операционных системах. Если ваш веб-хост не может настроить папку, которая фактически является подключением к вашему ftp-серверу, в качестве папки, то вы можете настроить папку / диск на вашем ftp-сервере, который подключается к ftp вашего веб-хоста.
При работе только с ftp возникают некоторые потенциальные проблемы с безопасностью и скоростью чтения. Если имеется достаточное шифрование, контроль доступа к папкам и фильтры содержимого для вредоносных файлов, все будет в порядке.
Этот метод будет иметь задержки чтения, если веб-хост подключается к вашему ftp для размещения файлов, если вы не включили какой-либо сценарий, который помещает одну копию локально на веб-хост и одну копию в общую папку.
Не совсем то, что вам нужно, но вы можете подумать об использовании ДжунглиДиск подключен к Amazon S3. Amazon S3 - это облачная система хранения файлов, а Jungle Disk - это программа для Windows / Mac, которую вы используете для доступа к файлам. Amazon S3 взимает плату за передачу и за объем хранилища, а Jungle Disk - это единовременная плата в размере 20 долларов США. Цена S3 действительно разумная, совершенно дешевая.
Вы можете установить Jungle Disk в качестве службы на машине в сети вашего офиса, и он будет автоматически синхронизировать контент с вашей корзиной S3. Когда клиенты загружают на S3, вы автоматически загружаете эти файлы на свой локальный сервер, и наоборот - когда вы помещаете файлы в эту синхронизированную структуру папок, они также переходят на S3.
Вы можете настроить одну корзину (похожую на папку) для каждого клиента, и каждый клиент может получить доступ только к своим файлам в своей корзине. Никакого программирования.
Лучше всего использовать свой ftp-сервер. Это не самое удобное для пользователя решение, но в нем можно найти ответы на часто задаваемые вопросы и учебник, показывающий людям, как архивировать и ftp файлы. Каждая известная ОС имеет встроенный ftp-клиент. Есть даже несколько хороших FTP-клиентов с открытым исходным кодом в стиле Filezilla.
Любое другое жизнеспособное решение требует, чтобы ваша компания потратила деньги. С вашим текущим хостом вы будете ограничены в размерах файлов, которые вы можете принять. Поищите в их форумах размер файла и / или время ожидания выполнения.