[mythtv-users] WebFrontend

Bill keemllib at gmail.com
Sun Jul 10 19:40:41 UTC 2022


On 7/10/22 13:16, Jgmtfia wrote:
> On 2022-07-09 22:24, Bill wrote:
>>> On 7/9/22 18:01, Jgmtfia wrote:
>>>> Hello, need some help debugging 404 message on WebFrontend.
>>>>
>>>> Myth was compiled on a build machine with the --prefix flags: --prefix=/root/mythtv/built --runprefix=/mythtv/latest
>>>>
>>>> When MythTV is installed on the Backend or Frontend clients, it is installed into a dated directory, eg: /mythtv/0.32-Fixes-20220709.150331, and a symlink is pointed to that dated directory: /mythtv/latest
>>>>
>>>> The Troubleshooting section of WebFrontend suggests that I need to create a environment variable for the webserver to find files under symlinks
>>>>
>>>>      export MYTHCONFDIR=`readlink -e /mythtv/latest/share/mythtv/html/`
>>>>
>>>> To verify
>>>>
>>>>      #echo $MYTHCONFDIR
>>>>      /mythtv/0.32-Fixes-20220709.150331/share/mythtv/html
>>>>
>>>> but I continue to get 404 errors at http://pvr:6544/.  Oddly enough I get some output at the 6744 port shown in the logs, but it's rendering/content is incomplete.  Any help is appreciated
>>>>
>>>> Here is a log of startup and access:
>>>>
>>>> mythbackend --verbose http 2>&1 | grep -i http
>>>> 2022-07-09 16:40:45.024073 N  Enabled verbose msgs:  general http
>>>> 2022-07-09 16:40:46.384308 N  HttpServer(): Max Thread Count 2
>>>> 2022-07-09 16:40:46.384323 I  HttpServer() - SharePath = /mythtv/latest/share/mythtv/
>>>> 2022-07-09 16:40:46.384397 I  HttpServer: Registering Rtti extension
>>>> 2022-07-09 16:40:46.389610 I  HttpServer: Registering Html extension
>>>> 2022-07-09 16:40:46.389613 I  HttpServer: Registering HttpConfig extension
>>>> 2022-07-09 16:40:46.389619 I  HttpServer: Registering InternetContent extension
>>>> 2022-07-09 16:40:46.389715 I  HttpServer: Registering Myth extension
>>>> 2022-07-09 16:40:46.389745 I  HttpServer: Registering Guide extension
>>>> 2022-07-09 16:40:46.389783 I  HttpServer: Registering Content extension
>>>> 2022-07-09 16:40:46.389905 I  HttpServer: Registering Dvr extension
>>>> 2022-07-09 16:40:46.389943 I  HttpServer: Registering Channel extension
>>>> 2022-07-09 16:40:46.389980 I  HttpServer: Registering Video extension
>>>> 2022-07-09 16:40:46.389989 I  HttpServer: Registering Music extension
>>>> 2022-07-09 16:40:46.390012 I  HttpServer: Registering Capture extension
>>>> 2022-07-09 16:40:46.390030 I  HttpServer: Registering Image extension
>>>> 2022-07-09 16:40:46.390861 I  HttpServer: Registering SSDP extension
>>>> 2022-07-09 16:40:46.391771 I  HttpServer: Registering UPnpMSRR extension
>>>> 2022-07-09 16:40:46.391789 I  HttpServer: Registering UPnpCMGR extension
>>>> 2022-07-09 16:40:46.391823 I  HttpServer: Registering UPnpCDS extension
>>>> 2022-07-09 16:40:46.398015 I  Main::Registering HttpStatus Extension
>>>> 2022-07-09 16:40:46.398740 I  HttpServer: Registering HttpStatus extension
>>>> 2022-07-09 16:40:46.405237 I  HTTPPool: Using maximum 4 threads
>>>> 2022-07-09 16:40:46.412234 I  HTTPServer: Adding path: '/assets/'
>>>> 2022-07-09 16:40:46.412236 I  HTTPServer: Adding path: '/assets/themes/'
>>>> 2022-07-09 16:40:46.412237 I  HTTPServer: Adding path: '/assets/themes/fonts/'
>>>> 2022-07-09 16:40:46.412238 I  HTTPServer: Adding path: '/3rdParty/'
>>>> 2022-07-09 16:40:46.412239 I  HTTPServer: Adding path: '/3rdParty/primeicons-5.0.0/'
>>>> 2022-07-09 16:40:46.412240 I  HTTPServer: Adding path: '/3rdParty/primeicons-5.0.0/demo-files/'
>>>> 2022-07-09 16:40:46.412241 I  HTTPServer: Adding path: '/3rdParty/primeicons-5.0.0/raw-svg/'
>>>> 2022-07-09 16:40:46.412243 I  HTTPServer: Adding path: '/3rdParty/primeicons-5.0.0/fonts/'
>>>> 2022-07-09 16:40:46.412244 I  HTTPServer: Adding path: '/3rdParty/materialize/'
>>>> 2022-07-09 16:40:46.412245 I  HTTPServer: Adding path: '/3rdParty/materialize/js/'
>>>> 2022-07-09 16:40:46.412246 I  HTTPServer: Adding path: '/3rdParty/materialize/css/'
>>>> 2022-07-09 16:40:46.412247 I  HTTPServer: Adding path: '/3rdParty/materialicons/'
>>>> 2022-07-09 16:40:46.412248 I  HTTPServer: Adding path: '/3rdParty/jquery/'
>>>> 2022-07-09 16:40:46.412249 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryJScroll/'
>>>> 2022-07-09 16:40:46.412250 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryUI/'
>>>> 2022-07-09 16:40:46.412251 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryUI/js/'
>>>> 2022-07-09 16:40:46.412252 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryUI/css/'
>>>> 2022-07-09 16:40:46.412253 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryUI/css/images/'
>>>> 2022-07-09 16:40:46.412254 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryContextMenu/'
>>>> 2022-07-09 16:40:46.412255 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryContextMenu/js/'
>>>> 2022-07-09 16:40:46.412256 I  HTTPServer: Adding path: '/3rdParty/jquery/galleria/'
>>>> 2022-07-09 16:40:46.412257 I  HTTPServer: Adding path: '/3rdParty/jquery/galleria/plugins/'
>>>> 2022-07-09 16:40:46.412258 I  HTTPServer: Adding path: '/3rdParty/jquery/galleria/plugins/history/'
>>>> 2022-07-09 16:40:46.412259 I  HTTPServer: Adding path: '/3rdParty/jquery/galleria/plugins/picasa/'
>>>> 2022-07-09 16:40:46.412260 I  HTTPServer: Adding path: '/3rdParty/jquery/galleria/plugins/flickr/'
>>>> 2022-07-09 16:40:46.412261 I  HTTPServer: Adding path: '/3rdParty/jquery/galleria/themes/'
>>>> 2022-07-09 16:40:46.412262 I  HTTPServer: Adding path: '/3rdParty/jquery/galleria/themes/classic/'
>>>> 2022-07-09 16:40:46.412263 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryGrid/'
>>>> 2022-07-09 16:40:46.412264 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryGrid/js/'
>>>> 2022-07-09 16:40:46.412265 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryGrid/css/'
>>>> 2022-07-09 16:40:46.412266 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryMultiSelect/'
>>>> 2022-07-09 16:40:46.412267 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryMultiSelect/js/'
>>>> 2022-07-09 16:40:46.412268 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryMultiSelect/css/'
>>>> 2022-07-09 16:40:46.412269 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryFileTree/'
>>>> 2022-07-09 16:40:46.412270 I  HTTPServer: Adding path: '/3rdParty/jquery/jqueryFileTree/images/'
>>>> 2022-07-09 16:40:46.412271 I  HTTPServer: Adding path: '/3rdParty/fontawesome-free-5.15.1-web/'
>>>> 2022-07-09 16:40:46.412272 I  HTTPServer: Adding path: '/3rdParty/fontawesome-free-5.15.1-web/metadata/'
>>>> 2022-07-09 16:40:46.412273 I  HTTPServer: Adding path: '/3rdParty/fontawesome-free-5.15.1-web/svgs/'
>>>> 2022-07-09 16:40:46.412274 I  HTTPServer: Adding path: '/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/'
>>>> 2022-07-09 16:40:46.412275 I  HTTPServer: Adding path: '/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/'
>>>> 2022-07-09 16:40:46.412276 I  HTTPServer: Adding path: '/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/'
>>>> 2022-07-09 16:40:46.412277 I  HTTPServer: Adding path: '/3rdParty/fontawesome-free-5.15.1-web/less/'
>>>> 2022-07-09 16:40:46.412278 I  HTTPServer: Adding path: '/3rdParty/fontawesome-free-5.15.1-web/scss/'
>>>> 2022-07-09 16:40:46.412279 I  HTTPServer: Adding path: '/3rdParty/fontawesome-free-5.15.1-web/webfonts/'
>>>> 2022-07-09 16:40:46.412280 I  HTTPServer: Adding path: '/3rdParty/fontawesome-free-5.15.1-web/js/'
>>>> 2022-07-09 16:40:46.412281 I  HTTPServer: Adding path: '/3rdParty/fontawesome-free-5.15.1-web/sprites/'
>>>> 2022-07-09 16:40:46.412282 I  HTTPServer: Adding path: '/3rdParty/fontawesome-free-5.15.1-web/css/'
>>>> 2022-07-09 16:40:46.412283 I  HTTPServer: Adding path: '/css/'
>>>> 2022-07-09 16:40:46.412284 I  HTTPServer: Adding path: '/images/'
>>>> 2022-07-09 16:40:46.412285 I  HTTPServer: Adding path: '/images/locale/'
>>>> 2022-07-09 16:40:46.412286 I  HTTPServer: Adding path: '/images/themes/'
>>>> 2022-07-09 16:40:46.412287 I  HTTPServer: Adding path: '/images/icons/'
>>>> 2022-07-09 16:40:46.412287 I  HTTPServer: Adding path: '/images/tv/'
>>>> 2022-07-09 16:40:46.412288 I  HTTPServer: Adding path: '/js/'
>>>> 2022-07-09 16:40:46.412289 I  HTTPServer: Adding path: '/misc/'
>>>> 2022-07-09 16:40:46.412290 I  HTTPServer: Adding path: '/misc/js/'
>>>> 2022-07-09 16:40:46.412291 I  HTTPServer: Adding path: '/misc/css/'
>>>> 2022-07-09 16:40:46.412292 I  HTTPServer: Adding path: '/apps/'
>>>> 2022-07-09 16:40:46.412293 I  HTTPServer: Adding path: '/apps/backend/'
>>>> 2022-07-09 16:40:46.412294 I  HTTPServer: Adding path: '/xslt/'
>>>> 2022-07-09 16:40:46.412295 I  HTTPServer: Adding path: '/'
>>>> 2022-07-09 16:40:46.414008 I  HTTPServer: Adding service for '/Video/'
>>>> 2022-07-09 16:40:46.414011 I  HTTPServer: Adding service for '/Myth/'
>>>> 2022-07-09 16:40:46.414012 I  HTTPServer: Adding service for '/Dvr/'
>>>> 2022-07-09 16:40:46.414013 I  HTTPServer: Adding service for '/Content/'
>>>> 2022-07-09 16:40:46.414015 I  HTTPServer: Adding service for '/Guide/'
>>>> 2022-07-09 16:40:46.414016 I  HTTPServer: Adding service for '/Channel/'
>>>> 2022-07-09 16:40:46.414017 I  HTTPServer: Adding service for '/Status/'
>>>> 2022-07-09 16:40:46.414018 I  HTTPServer: Adding service for '/Capture/'
>>>> 2022-07-09 16:40:46.414019 I  HTTPServer: Adding service for '/Music/'
>>>> 2022-07-09 16:40:46.414020 I  HTTPServer: Adding service for '/Config/'
>>>> 2022-07-09 16:40:46.414023 I  HTTPServer: Adding error page handler
>>>> 2022-07-09 16:40:46.414027 I  HTTPServer: Adding handler for '/main.js'
>>>> 2022-07-09 16:40:46.414028 I  HTTPServer: Adding handler for '/styles.css'
>>>> 2022-07-09 16:40:46.414029 I  HTTPServer: Adding handler for '/polyfills.js'
>>>> 2022-07-09 16:40:46.414030 I  HTTPServer: Adding handler for '/runtime.js'
>>>> 2022-07-09 16:40:46.414031 I  HTTPServer: Adding handler for '/'
>>>> 2022-07-09 16:40:46.414118 I  HTTPServer: SSL is disabled
>>>> 2022-07-09 16:40:46.420128 I  HTTPServer: Name resolution complete: 20 'Hosts' found
>>>> 2022-07-09 16:40:46.420129 I  HTTPServer: Host: 127.0.0.1
>>>> 2022-07-09 16:40:46.420130 I  HTTPServer: Host: 127.0.0.1:6744
>>>> 2022-07-09 16:40:46.420131 I  HTTPServer: Host: localhost
>>>> 2022-07-09 16:40:46.420132 I  HTTPServer: Host: localhost:6744
>>>> 2022-07-09 16:40:46.420133 I  HTTPServer: Host: [::1]
>>>> 2022-07-09 16:40:46.420134 I  HTTPServer: Host: [::1]:6744
>>>> 2022-07-09 16:40:46.420135 I  HTTPServer: Host: ip6-localhost
>>>> 2022-07-09 16:40:46.420136 I  HTTPServer: Host: ip6-localhost:6744
>>>> 2022-07-09 16:40:46.420136 I  HTTPServer: Host: 192.168.2.8
>>>> 2022-07-09 16:40:46.420137 I  HTTPServer: Host: 192.168.2.8:6744
>>>> 2022-07-09 16:40:46.420140 I  HTTPServer: Host: [fe80::20c:29ff:fe66:d03e]
>>>> 2022-07-09 16:40:46.420140 I  HTTPServer: Host: [fe80::20c:29ff:fe66:d03e]:6744
>>>> 2022-07-09 16:40:46.420141 I  HTTPServer: Host: pvr31
>>>> 2022-07-09 16:40:46.420142 I  HTTPServer: Host: pvr31:6744
>>>> 2022-07-09 16:40:46.420143 I  HTTPServer: Host: 192.168.2.46
>>>> 2022-07-09 16:40:46.420144 I  HTTPServer: Host: 192.168.2.46:6744
>>>> 2022-07-09 16:40:46.420189 I  HTTPServer: Name resolution complete: 9 'Origins' found
>>>> 2022-07-09 16:40:46.420191 I  HTTPServer: Allowed origin: https://chromecast.mythtv.org
>>>> 2022-07-09 16:40:46.420192 I  HTTPServer: Allowed origin: http://192.168.2.46
>>>> 2022-07-09 16:40:46.420192 I  HTTPServer: Allowed origin: http://192.168.2.46:6544
>>>> 2022-07-09 16:40:46.420193 I  HTTPServer: Allowed origin: https://192.168.2.46
>>>>
>>>> <some lines with identifying domain name removed>
>>>>
>>>> 2022-07-09 16:40:46.420194 I  HTTPServer: Allowed origin: https://192.168.2.46:6554
>>>> 2022-07-09 16:40:46.420195 I  HTTPServer: Allowed origin: http://pvr31
>>>> 2022-07-09 16:40:46.420195 I  HTTPServer: Allowed origin: http://pvr31:6544
>>>> 2022-07-09 16:40:52.274901 I  HttpWorker(52): New connection
>>>> 2022-07-09 16:40:52.278885 I HTTPRequest::SendResponse(xml/html) () :200 OK -> 192.168.2.53: 1
>>>> 2022-07-09 16:40:52.302759 I  HttpWorker(55): New connection
>>>> 2022-07-09 16:40:52.303196 I HTTPRequest::FormatFileResponse('') - cannot find file
>>>> 2022-07-09 16:40:52.303202 I HTTPRequest::SendResponse(xml/html) () :404 Not Found -> 192.168.2.29: 2
>>>
>>> Try the original backend Services API port: 6544. 6744 is the default for testing the new backend  API & web pages and is still
>>> in development in master (v33-Pre).
>>>
>>> MYTHCONFDIR stores the directory where config.xml (and lots of other things) live. https://www.mythtv.org/wiki/MYTHCONFDIR
> 
> 
> Port 6544 is the port serving 404's.  6744 is the port which serves up partially complete pages with several grey pulsating squares that are never filled with information (See attachment). Should I be seeing more than this at this point?  (Maybe it's working as much as it's meant to on 6744 - see attachment)
> 
> For my clarity, the https://www.mythtv.org/wiki/WebFrontend page says to use port 6544, and the mythbackend log also shows 6744 is listening. Which is the correct port, or intended port for users to use?
> 
> I did change MYTHCONFDIR to explicitly point to where config.xml was - with no effect on the 404.  I did check to make sure MYTHCONFDIR was working as expected by pointing it to la-la-land and mythbackend failed to start.  So I am confident I set the environment variable correctly.
> 
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-users
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org

I _think_ the comment in the Wiki is a typo and should read export: MYTHTVDIR=<wherever mythtv is actually installed>
(or the readlink although I didn't test that).

You should see a line in the backend containing this: Using runtime prefix = <whatever is in $MYTHTVDIR>.

If I change the above to point to /usr/local (where it truly lives), my backend works. If I change it to
  /tmp, I can duplicate the 404 errors.

Your 6755 screenshot looks right for the early development and you shouldn't use it for WebFrontend.

Sounds like MYTHCONFDIR is working as you want it to. If if the user that the backend runs as has a .mythtv directory
in its HOME, it's not required.

-- 
Bill


More information about the mythtv-users mailing list