Assets not found

Hi there.
I am trying to deploy an Indico 3.1 on a new VM for then migrating our production VM which is still on 2.3.

I have configured everything (Apache, python 3.9.11, etc), then installed Indico following the production guide, and imported the database and the archive dir at the steps explained in the migration guide. However, when accessing the page, though it apparently displays correctly, the console reveals zillion of errors most of which are like:

GET net::ERR_ABORTED 404 (Not Found)
GET net::ERR_ABORTED 404 (Not Found)
GET net::ERR_ABORTED 404 (Not Found)

After this when accessing categories trying to look for events in the future or in the past, Indico hangs there with the loading spinning wheel showing up and not doping anything.

I don’t see where the assets dir is located and not sure why I am getting these errors.
Any help very much appreciated.

Thanks a million,

These files get cached on disk, is there anything wrong with the permissions of the tmp or cache folders?
Also check the Apache error log in case service these files using xsendfile fails; usually the log message is helpful in such a case.

/opt/indico shows the following permission. Now the archive dir is root because the IT guys forgot to change the owner. However in our 2.3 production machine I see all files displaying indico www-data. Also I seem to be missing an indico.database file.

drwxr-xr-x 4 root   root           4 Mar 23 15:20 archive
-rw-r--r-- 1 indico root     3088249 Mar 23 13:34 backup.dump
drwx-wx-w- 2 indico indico         6 Mar 23 16:30 cache
drwx------ 2 indico indico         5 Mar 23 16:21 etc
drwx--x--- 3 indico www-data       6 Mar 23 13:19 log
drwx-wx-w- 2 indico indico         5 Mar 23 16:40 tmp
drwxr-x--- 2 indico indico         5 Mar 23 16:21 web

The permissions look very broken there. Why are cache and tmp world-writable for example? And how do the permissions of the files inside cache look like (you can also just delete them, they’ll be recreated anyway). I suggest you to fix the archive ownership and chmod 710 ~/ ~/archive ~/cache ~/log ~/tmp.
Also make sure that the indico user has the www-data group.

I’m not sure what you mean. The Postgres database is not a single file and not in /opt/indico…

I see these errors:

[Wed Mar 23 20:17:53.471922 2022] [:error] [pid 216851:tid 140312689243904] (13)Permission denied: [client] xsendfile: cannot open file: /opt/indico/cache/assets_i18n_en_US-react_3.1_331841690.js, referer:
[Wed Mar 23 20:17:53.473471 2022] [:error] [pid 216851:tid 140312613709568] (13)Permission denied: [client] xsendfile: cannot open file: /opt/indico/cache/assets_i18n_en_US_3.1_331841690.js, referer:
[Wed Mar 23 20:17:53.588173 2022] [:error] [pid 216851:tid 140312571746048] (13)Permission denied: [client] xsendfile: cannot open file: /opt/indico/cache/assets_global_3.1_331841690.js, referer:

Looks like permissions are broken but the permissions on those files seems OK (at least they match the permissions on the 2.3 production we have running):

-rw-r----- 1 indico www-data 39834 Mar 23 15:26 assets_global_3.1_331841690.js
-rw-r----- 1 indico www-data 14592 Mar 23 16:30 assets_i18n_en_GB_3.1_331841690.js
-rw-r----- 1 indico www-data    79 Mar 23 15:26 assets_i18n_en_US-react_3.1_331841690.js
-rw-r----- 1 indico www-data    73 Mar 23 15:26 assets_i18n_en_US_3.1_331841690.js


(indico) indico@ect-indico-frontend:~$ groups
indico www-data

I got it working! I had to manually change the group owner from indico to www-data the tmp, cache, etc and web directories.

Thanks for the pointers!