Не совсем. Все это, и загрузка (html страница отдает по ajax php скрипту с пред обработкой rpm пакета) и обработка последующая (тут полная обработка файлов полученных от ftp) выполнена в едином php скрипте, но логически разделена. Т.е. загружаем файлы, сразу они не появляются, а раз в час только выгружаются после обработки. Если бы исключить ftp, то можно было бы сразу грузить и обрабатывать. Inotify очень понравился, но пока руки не доходят.
Делал подобное. У меня это была связь apache и vsftpd. Без авторизации в web части просто доступ к файлам. С помощью mod_autoindex и кучи плюшек (jquery, bootstrap, font awesome, backbone и showdown для отображения markdown файлов) сделан интерфейс, при этом отсутствие javascript не приводит к поломке отображения файлов (привет noscript). Отдельная страничка для добавления файлов в репозиторий (ajax, multiple files — привет ie9) требует авторизации. На сервисе обслуживает PHP скрипт (сразу выполнил в едином файле и добавления файлов и обход по крону кучки для добавления, ну и запуск createrepo.). vsftpd без авторизации просто доступ к файлам, а с авторизацией доступ к директории загрузки (директория одна для всех и права запрещают просмотр что приводит к тому, что не видно ее содержимое но можно загружать файлы). При запуске php скрипта из крона проходит парсинг логов vsftpd (apache не парсится там сразу записывается в бд факт добавления файлов при обработке запросов из браузера) и записываем кто какие файлы добавил. Для разбора rpm файлов в php использовал библиотеку rpmreader.
Из идей которые еще не сделаны:
— уход от крона в пользу механизма inotify
— создание репозитория для pip python
— возможность управлять добавленными пакетами
— красивая статистика с применением d3 библиотеки для графиков
Про SeLinux и Samba
Насколько я понимаю это глобальные разрешения:
# setsebool -P samba_export_all_ro=1
# setsebool -P samba_export_all_rw=1
но так не совсем правильно поступать… Для конкретной директории доступ к которой необходимо предоставить Samba делается так:
# semanage fcontext -a -t samba_share_t '/mnt/storage/files(/.*)?'
# restorecon -Rv '/mnt/storage/files'
Если Вам нужно подружить одну директорию с Samba и еще что либо (Apache, VSFtpd) то делаем так:
# semanage fcontext -a -t public_content_rw_t '/mnt/storage/web(/.*)?'
# restorecon -Rv '/mnt/storage/web'
Далее добавляем сами сервисы:
# setsebool -P allow_smbd_anon_write 1
# setsebool -P allow_httpd_anon_write 1
# setsebool -P allow_ftpd_anon_write 1
Как правило данную возможность используют, чтобы получить список необходимых правил для SeLinux. т.е. выполняем:
# setenforce 0
Что то творим и настраиваем. У нас все работает и мы хотим врубить SeLinux.
Прежде делаем так:
# cat /var/log/audit/audit.log | grep denied | audit2allow -M modul_name
# semodule -i modul_name.pp
# setenforce 1
modul_name — имя модуля который подключит необходимые правила. По audit.log можно еще грепнуть по имени сервиса который настраиваем. Я как правило просто чищу файл перед началом сбора статистики.
Могу порекомендовать UPVEL UR-337N4G. В ситилинке 1.5к стоит. Делал большую сеть на данных девайсах с 4g модемами Huawei E3372 на двух провайдерах. OpenWrt и SoftEther. Получилось крайне надежное решение.
По хорошему — это расписать вторую главу. Какие настройки, что меняют и т.д. Та же возможность задать свои цвета, шаблоны, сочетания клавиш, команды и т.д.
В политиках отключаем много лишнего, юзаем сжатие и в нашем случае tcp соединение, ну и убираем сервера с роутеров и переносим на нормальный сервер (все таки прожорлив)
Из идей которые еще не сделаны:
— уход от крона в пользу механизма inotify
— создание репозитория для pip python
— возможность управлять добавленными пакетами
— красивая статистика с применением d3 библиотеки для графиков
Насколько я понимаю это глобальные разрешения:
# setsebool -P samba_export_all_ro=1
# setsebool -P samba_export_all_rw=1
но так не совсем правильно поступать… Для конкретной директории доступ к которой необходимо предоставить Samba делается так:
# semanage fcontext -a -t samba_share_t '/mnt/storage/files(/.*)?'
# restorecon -Rv '/mnt/storage/files'
Если Вам нужно подружить одну директорию с Samba и еще что либо (Apache, VSFtpd) то делаем так:
# semanage fcontext -a -t public_content_rw_t '/mnt/storage/web(/.*)?'
# restorecon -Rv '/mnt/storage/web'
Далее добавляем сами сервисы:
# setsebool -P allow_smbd_anon_write 1
# setsebool -P allow_httpd_anon_write 1
# setsebool -P allow_ftpd_anon_write 1
Также есть public_content_t если запись не нужна.
# setenforce 0
Что то творим и настраиваем. У нас все работает и мы хотим врубить SeLinux.
Прежде делаем так:
# cat /var/log/audit/audit.log | grep denied | audit2allow -M modul_name
# semodule -i modul_name.pp
# setenforce 1
modul_name — имя модуля который подключит необходимые правила. По audit.log можно еще грепнуть по имени сервиса который настраиваем. Я как правило просто чищу файл перед началом сбора статистики.
а вообще у меня в блоге был подробный разбор всех моментов и wps.