Разрешить пользователю apache / php доступ к папке вне веб-корня

(centos 5.8, php 5, apache 2.3, FMS 4.5)

При использовании Adobe Flash Media Server (FMS) запись с веб-камеры с пользовательским приложением работает нормально, а файлы FLV создаются в / opt / adobe / fms / apps / record / stream / definst

Воспроизведение этих файлов через RTMP также работает нормально, и все круто. Но я хотел бы воспроизвести эти файлы на устройстве iOS, и iOS не может обрабатывать флэш-память, поэтому их необходимо преобразовать в.mp4.

Одно из найденных решений - использовать ffmpeg для преобразования.flv в.mp4 - и из командной строки это работает нормально.

Из php-скрипта в моем корне apache www, использующего exec, shell_exec или даже system, он ничего не возвращает и.mp4 никогда не создается

если я просто делаю exec_shell("ffmpeg --help"), он работает, и я получаю вывод в браузере - так apache / php может выполнить ffmpeg просто отлично

Таким образом, проблема в том, что apache / php имеет доступ либо для чтения файла вне wwwroot, либо для поворота и записи нового.mp4

Я попытался создать символическую ссылку в моем wwwroot и использовать ее для моего пути вместо абсолютного, разрешил следующие символические ссылки в конфигурации apache, но это не сработало.

Я что-то здесь упускаю...

Идеи?

В конечном итоге я хотел бы, чтобы файл.mp4 создавался где-то в моей корневой папке www, чтобы устройство iOS могло получить к нему доступ через http

2 ответа

Вы можете разрешить кому-либо доступ для чтения к папке с

chmod a+rx <foldername>

Бит выполнения необходим для входа в папку.

Если вы не хотите, чтобы кто-либо в системе имел доступ к папке, вы можете добавить apache в группу FMS и установить папку на

chmod g+rx <foldername>

Чтобы добавить Apache в группу FMS, выполните:

usermod -G FMS apache 

Затем убедитесь, что члены группы могут выполнять, записывать и читать в эту папку:

chmod 770 /path/to/fmsfolder

Если FMS будет использоваться для других целей, тогда я предлагаю вам создать отдельную группу webFMS и добавить FMS в эту группу, а затем просто добавить папку в эту группу. Это более безопасно. Если FMS использует только эту папку, не беспокойтесь.

Имейте в виду, что вам нужно понимать риск, команды оболочки должны быть обработаны тщательно из соображений безопасности. Прочтите руководство по правильному выходу, особенно когда пользователи могут что-то добавить к ним.

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