Site Tools


software:ssdpd:config

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
software:ssdpd:config [2014/10/22 20:21]
– создано root
software:ssdpd:config [2022/02/04 18:43]
– removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Настройка ====== 
-В ssdpd.conf указываем полный путь до /upnp/descr/root.xml, указываем интерфейсы для анонса.\\ 
- 
-ssdpd и веб сервер могут быть запущены на разных серверах, можно запускать ssdpd на нескольких серверах (резервирование), важно чтобы root.xml был везде одинаковый.\\ 
- 
-/upnp/ - положить/сделать симлинк в wwwroot веб сервера.\\ 
-/upnp/control/ContentDirectory.php - отредактировать в начале файла переменные с путями и разрешить выполнение.\\ 
-Нужен PHP с поддержкой SOAP.\\ 
- 
- 
-===== Настройка nginx ===== 
-Здесь самый минимум настроек, всё что связано с безопасностью/доступом, логами удалено. 
- 
-Расшариваем папку с контентом: 
-[code] 
- # allow files listing: DataStore 
- location ^~ /DataStore/ { 
- root /usr/; 
- 
- add_header TransferMode.DLNA.ORG 'Streaming'; 
- add_header ContentFeatures.DLNA.ORG 'DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000'; 
- } 
-[/code] 
- 
-Поддержка UPnP SUBSCRIBE/UNSUBSCRIBE (они нужны для VLC и WMP) 
-[code] 
- # UPnP SUBSCRIBE/UNSUBSCRIBE handle 
- location ^~ /upnp/subscribe/ { 
- if ($request_method = SUBSCRIBE) { 
- add_header Pragma "no-cache"; 
- add_header SID "uuid:7CF21CB0-2266-47BE-A608-3CC1F5210BB4"; 
- add_header Timeout "Second-1800"; 
- return 200; 
- } 
- if ($request_method = UNSUBSCRIBE) { 
- add_header Pragma "no-cache"; 
- return 200; 
- } 
- } 
-[/code] 
-Далее можно будет превратить их в POST с доп заголовком и передать в скрипт, пример описан здесь: http://serverfault.com/questions/347663/nginx-convert-head-to-get-requests 
- 
-Разрешаем PHP для UPnP скриптов: 
-[code] 
- # php for: UPnP 
- location ^~ /upnp/control/ { 
- root /usr/local/www/; 
- 
- include fastcgi_params; 
- #fastcgi_pass 127.0.0.1:54475; 
- fastcgi_pass unix:/var/run/spawn-fcgi.sock; 
- fastcgi_connect_timeout 30; 
- fastcgi_read_timeout 600; 
- fastcgi_send_timeout 600; 
- fastcgi_ignore_client_abort off; 
- #fastcgi_cache_valid any 10s; 
- fastcgi_intercept_errors off; 
- fastcgi_param SCRIPT_FILENAME  /usr/local/www$fastcgi_script_name; 
- } 
-[/code] 
- 
- 
- 
-==== Расширенная настройка и кастомизация под себя ==== 
-В файле [b]root.xml[/b] 
-[b]root/device:[/b] 
-friendlyName - отображаемое имя UPnP устройства; 
-UDN - UUID идетификатор устройства, его нужно изменять только если хотим больше одного устройства (или кто то уже его занял), длинна обязательно 36 символов; 
-presentationURL - можно указать там страничку с описанием или админкой 
- 
-[b]root/device/iconList/icon:[/b] 
-url - URL на png иконку 48х48; 
- 
-[b]root/device/serviceList/service:[/b] 
-SCPDURL - URL до хмл файла с описанием; 
-controlURL - URL куда будут прилетать HTTP POST запросы к сервисам; 
-eventSubURL - URL куда будут идти HTTP SUBSCRIBE/UNSUBSCRIBE, можно оставить пустым. 
-[b]root.xml описано ТРИ сервиса, нужно править для всех трёх![/b] 
- 
- 
  
software/ssdpd/config.txt · Last modified: 2022/02/04 18:43 by root