Set up new segments-web website on new segments-web machine
Gary Hemming created a new web page for segments-web.ligo.org
, mostly in Nov. 2019, accessible on the old (SL7) segments-web
machine at https://segments-web.ligo.org/dqsegdb_web_2/ , which I have been trying to get running on the new (RL8) segments-web
machine, with limited success.
As per /etc/httpd/conf.d/dqsegdb.conf
: Alias /dqsegdb_web_2 /usr/share/dqsegdb/web/test/
(so that's the dir that the 'new' website is run from). The dir /usr/share/dqsegdb/
is a Git repo, cloned from https://github.com/ligovirgo/dqsegdb.git , with the last git log
entry from 2019.11.21, by Gary Hemming, and no unmerged branches and no significant unmerged changes to any files.
Gary made some more changes to the repo on 2020.06.08, mostly involving restructuring the repo, with the following commit messages:
- Add directory 1.0 for first version of Web interface.
- Remove test directory.
- Remove db and src directories.
- Add Flask project outline to directory 2.0.
So the code for the old web page was now in the repo in dqsegdb/web/1.0/src/
, though the old page was still running from code in /usr/share/dqsegdb_web/
as specified in dqsegdb.conf
, and which is not a Git repo and had not been modified. Note the difference in name from /usr/share/dqsegdb/
, which doesn't have _web
at the end, and which runs the 'new' page. The code for the new web page was seemingly somewhere in dqsegdb/web/2.0
, though the code in that dir does not look at all like the code in /usr/share/dqsegdb/web/test/
, which was running the actual new site. With the code running the 'new' page (/usr/share/dqsegdb/web/test/
) as reference, the most similar code in the updated repo is in dqsegdb/web/1.0/test/
, but there are significant differences. Unfortunately, the change repo structure obscures when and how those changes were made without more Git skulduggery than can be mustered at the moment. Here's a chart to make it a little clearer:
web page | code location on disk | code location in updated repo |
---|---|---|
segments-web | /usr/share/dqsegdb_web/ | dqsegdb/web/1.0/src/ |
web_2 | /usr/share/dqsegdb/web/test/ | ?? (dqsegdb/web/2.0/? dqsegdb/web/1.0/test/?) |
The dqsegdb repo was moved from GitHub to the LIGO GitLab instance in 2022, with the segments-web code split into its own repo, which is at https://git.ligo.org/computing/dqsegdb/web/ , with no changes to the code relevant to this issue since since Gary's restructuring. Below, dqsegdb/web/
as a repo actually means the web
repo itself, wherever it is cloned, with that naming convention used for convenience.
All of that was on the Scientific Linux 7 (SL7) VM running segments-web.ligo.org
up until April/May 2024. We have now switched over to a Rocky Linux 8 (RL8) VM for segments-web.ligo.org
, with the SL7 machine moved to segments-web-old.ligo.org
.
The main segments-web page, DB, etc. have all been successfully transferred and are working, with the page still running from /usr/share/dqsegdb_web
(as specified in /etc/httpd/conf.d/dqsegdb.conf
), but with that dir containing mainly links to specific dirs and files in a clone of the GitLab repo, essentially dqsegdb/web/1.0/src/
.
Attempts to get the 'new' page working have made some progress, but there is ambiguity as to the location of the equivalent code in the repo, compared to the code that used to run https://segments-web.ligo.org/dqsegdb_web_2/, and it's not clear whether the code on segments-web-old
that ran that site even exists or has an equivalent in the repo. Linking /usr/share/dqsegdb/web/test
on the new (RL8) segments-web to dqsegdb/web/2.0
or some similar dirs in the repo produces pages (at https://segments-web.ligo.org/dqsegdb_web_2/ ) that report Forbidden
, You don't have permission to access this resource.
, which is not unexpected, since those dirs only have Python files, with no HTML or PHP pages or WSGI files to run them. Linking /usr/share/dqsegdb/web/test
to dqsegdb/web/1.0/test/
produces a page that is somewhat similar to the 'new' page on the old machine (with some license code printed at the top of the page - a known and fixed bug in the regular page's code that I haven't bothered to fix here, but didn't affect functionality on the old page), but with the message Get segments
, Connection unavailable. Explanation + Instructions...
on the page, but no actual explanation or instructions.