techlib / celus

Celus is a web application for harvesting and visualizing usage statistics of electronic information sources
MIT License
17 stars 5 forks source link

Celus not running? #40

Open cvtron opened 1 year ago

cvtron commented 1 year ago

Dear celus team,

after trying out celus via run.lcelus.one, I decided to give it a go and try to install it locally ... I did went through (the really tough I must admit) palybook installation process which I managed to make it end without errors. However when I try to launch celus it doesn't seem to work ... at first I was getting an internal server error showing on the web page with the error log showing something like ...

[Fri Jun 02 11:21:23.988086 2023] [core:error] [pid 1033819:tid 140692659631872] [client 195.134.90.104:63851] AH00125: Request exceeded the limit of 10 subrequest nesting levels due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

I then saw that the static dir was empty and moreover making a link to itself ... and then I went through the repoerted cases on git (especially https://github.com/techlib/celus/issues/10) and rerun the installation and now statric has content ... but no index.html file as I would expect ... and the insternal server error still coming up but with different error log messages ...

then I copied manually the index.html found in design/ui/public and at least I didn't get the insternal server error on the web page as I was gettign a blank page and no error at the log.

if I hit a /api or /wsEc67YNV2sq the error log would show: [Fri Jun 02 11:28:33.134461 2023] [wsgi:error] [pid 1033816:tid 140693052458752] [remote 195.134.90.104:63940] mod_wsgi (pid=1033816): Failed to exec Python script file '/opt/celus/config/wsgi.py'. [Fri Jun 02 11:28:33.134657 2023] [wsgi:error] [pid 1033816:tid 140693052458752] [remote 195.134.90.104:63940] mod_wsgi (pid=1033816): Exception occurred processing WSGI script '/opt/celus/config/wsgi.py'. [Fri Jun 02 11:28:33.135012 2023] [wsgi:error] [pid 1033816:tid 140693052458752] [remote 195.134.90.104:63940] Traceback (most recent call last): [Fri Jun 02 11:28:33.135093 2023] [wsgi:error] [pid 1033816:tid 140693052458752] [remote 195.134.90.104:63940] File "/opt/celus/config/wsgi.py", line 12, in [Fri Jun 02 11:28:33.135121 2023] [wsgi:error] [pid 1033816:tid 140693052458752] [remote 195.134.90.104:63940] from django.core.wsgi import get_wsgi_application [Fri Jun 02 11:28:33.135201 2023] [wsgi:error] [pid 1033816:tid 140693052458752] [remote 195.134.90.104:63940] ModuleNotFoundError: No module named 'django' [Fri Jun 02 11:28:33.222661 2023] [authz_core:error] [pid 1033817:tid 140691871078144] [client 195.134.90.104:63941] AH01630: client denied by server configuration: /path, referer: https://hippo.lib.uoa.gr/wsEc67YNV2sq

Looks like something wrong with django and mod_wsgi?

I would really appreciate your help (I'm pretty sure I'm missing something in my configuration but i can't figure out that!!!)

Thanks in advance for your time and effort.

Costas

I have tried the installation on a Rocky 8.7 Linux

Here's the contents of the /static dir: (celus) [root@hippo config]# ls -l /var/www/celus/static/ total 28 drwxr-xr-x. 6 root root 68 Jun 1 16:11 admin drwxr-xr-x. 3 root root 42 Jun 1 16:11 colorfield drwxr-xr-x. 2 root root 29 Jun 1 16:11 css -rw-r--r--. 1 root root 0 Jun 1 16:11 do_not_remove.txt -rw-r--r--. 1 root root 9662 Jun 2 09:58 favicon.ico -rw-r--r--. 1 root root 1705 Jun 2 09:58 favicon.png drwxr-xr-x. 2 root root 72 Jun 1 16:11 import_export -rw-r--r--. 1 root root 1226 Jun 2 09:58 index.html -rw-r--r--. 1 root root 1636 Jun 2 09:58 maintenance.html drwxr-xr-x. 4 root root 27 Jun 1 16:11 modeltranslation drwxr-xr-x. 2 root root 4096 Jun 1 16:11 mptt drwxr-xr-x. 7 root root 63 Jun 1 16:11 rest_framework

And also this is what I have in the celus.conf file

<VirtualHost *:80> ServerName hippo.lib.uoa.gr ServerAdmin ykb@lib.uoa.gr Redirect / https://hippo.lib.uoa.gr/

<VirtualHost *:443> ServerName hippo.lib.uoa.gr ServerAdmin ykb@lib.uoa.gr

DocumentRoot /var/www/celus/html

    DocumentRoot /var/www/celus/static
    DirectoryIndex index.php index.htm index.html
    Alias /icons/ /var/www/icons/
    # ScriptAlias /cgi-bin/ /var/www/sub-domains/this.site/cgi-bin/

CustomLog "/var/log/httpd/celus-access_log" combined
ErrorLog  "/var/log/httpd/celus-error_log"

    SSLCertificateFile /etc/letsencrypt/live/hippo.lib.uoa.gr/fullchain.pem

SSLCertificateFile /etc/letsencrypt/live/hippo.lib.uoa.gr/cert.pem

    SSLCertificateKeyFile /etc/letsencrypt/live/hippo.lib.uoa.gr/privkey.pem

is the next line needed?

    SSLCertificateChainFile /etc/letsencrypt/live/hippo.lib.uoa.gr/fullchain.pem
    Include /etc/letsencrypt/options-ssl-apache.conf

<Directory /var/www/celus/html>

     <Directory /var/www/celus/static>
            Options -ExecCGI -Indexes
            AllowOverride None

            Order deny,allow
            Deny from all
            Allow from all

            Satisfy all
    </Directory>

RewriteEngine on

RewriteCond %{SERVER_NAME} =hippo.lib.uoa.gr

RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

this tag was here ....

the following added for celus

Django stuff - mod_wsgi

TimeOut 300

cv 2-6-2023 added next line

WSGIScriptAlias / /opt/celus/config/wsgi.py

WSGIScriptAlias /api /opt/celus/config/wsgi.py/api WSGIScriptAlias /wsEc67YNV2sq /opt/celus/config/wsgi.py/wsEc67YNV2sq WSGIDaemonProcess celus python-home=/opt/virtualenvs/celus/ python-path=/opt/celus/ processes=8 threads=10 WSGIProcessGroup celus

<Directory /opt/celus/config>

# Require all granted

<Directory /opt/celus/config>

Require all granted

Javascript routing needs the following

FallbackResource /index.html

Alias /media/ /var/www/celus/media/

cv 2-6-2023 added next line

Alias /favicon.ico /path/to/mysite.com/static/favicon.ico

# Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/json AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml # Remove browser bugs (only needed for really old browsers) BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent

beda42 commented 1 year ago

Dear Costas,

I think that the first thing that we need to make sure works is the /wsEc67YNV2sq URL with the admin. It has the advantage that it does not involve any of the javascript frontend stuff, so there is one thing less to deal with. And for that to work, we need a running Django.

It is hard to debug it in this way, but I will try a few pointers to what you could check.

If all the above is successful, we will have a basis on which to build.

Best regards Beda

cvtron commented 1 year ago

Dear Beda, thanks for your comments. The /opt/virtualenv/celus directory does exists and it contains a bin/ directory with python inside. In fact here's the related ls -l result: [root@hippo ~]# ls -l /opt/virtualenvs/celus/bin/python* lrwxrwxrwx. 1 root root 16 Mar 20 15:36 /opt/virtualenvs/celus/bin/python -> /usr/bin/python3 lrwxrwxrwx. 1 root root 6 Mar 20 15:36 /opt/virtualenvs/celus/bin/python3 -> python lrwxrwxrwx. 1 root root 6 Mar 20 15:36 /opt/virtualenvs/celus/bin/python3.9 -> python

Running the /opt/virtualenvs/celus/bin/python (regardless running or not the "source activate_virtualenv.sh" command) gives me a python console (please let me know if anything I should try would require running the above command first as well as the having the postgersl and http services active): [root@hippo ~]# /opt/virtualenvs/celus/bin/python Python 3.9.13 (main, Nov 16 2022, 15:31:39) [GCC 8.5.0 20210514 (Red Hat 8.5.0-15)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> If I run the import django ... I get no error ... but also nothing else happens ... : >>> import django >>>

Thanks again for any help. Much appreciated.

Best regards, Costas