Я использую систему Ubuntu 10.4. У меня есть свобода устанавливать в основном любые пакеты, которые мне нужны (только бесплатные некоммерческие), и я могу с комфортом программировать / писать сценарии на C ++, python, JavaScript и, возможно, работать с PHP и Java, если это необходимо.
Моя цель - позволить пользователям получать доступ к серверу через веб-страницу, видеть содержимое файла определенного пользователем каталога, который они могут загружать и загружать в / из.
Это тоже одноразовый прототип решения, поэтому мне не нужно и не нужно ничего расширяемого, гибкого, безопасного или даже масштабируемого, просто что-то очень простое и быстрое, которое могло бы обрабатывать парочку пользователей, загружающих и скачивающих одновременно, главное предостережение в том, что количество загружаемых / загружаемых файлов может измеряться в гигабайтах.
Я очень мало занимался разработкой веб-приложений, и только некоторые разработки для Linux, и мои исследования привели меня к LAMP, python CGIHTTPServer, tomcat, но я подозреваю, что есть что-то простое, чего мне не хватает.
Я пытаюсь свести к минимуму объем программирования / написания сценариев, который я делаю для этого, поэтому я надеюсь, что пакет упадет.
В итоге я сделал следующее:
apt-get'd lighttpd
отредактировал lighttpd conf:
Затем я добавил исполняемый скрипт upload.py, используя cgitb и cgi, чтобы скопировать файл в / var / www /
Затем я создал HEADER.txt в / var / www /, в котором был HTML для типичной загрузки многостраничной формы, указывающей на мой upload.py
Я также должен был убедиться, что соответствующие каталоги и файлы были надлежащим образом разрешены и, конечно, исполняемый файл скрипта py.
и этого было достаточно, чтобы я мог использовать список каталогов для доступа и загрузки файлов из / var / www на сервере, а также использовать форму + python для загрузки файлов в / var / www / на сервере.
это не особенно безопасно или что-то в этом роде, но пока выполняет свою работу.
Вы можете взглянуть на SME. Он основан на CentOS (по сравнению с Ubuntu), но может соответствовать вашим требованиям «из коробки» в зависимости от того, как упакованы его функции.