Staff login, Admin menu shows but. Login windows reamain

Bug #1820381 reported by AkaSchmid on 2019-03-16
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Evergreen
Undecided
Unassigned

Bug Description

Hi all

I have installed Evergreen 3.2.3
and OepnSRF 3.0.2
Postgresql 9.6
Linux xenial
Web browser: Chrom, Fireforce

After login int ot https://private.localhost/eg/staff/login
The login is accepted because the menue start to show.
But the Login page did not move.
If I click on the menue. It shows dropdown sub menues.
But regardless of selected menue the login windwo will not move.
The certificate i installed, I did generated on my own.

Any Ideas
Thanks
Edwin

Jason Stephenson (jstephenson) wrote :

Hi, Edwin.

This sounds more like a question than a bug, so I have a couple of questions for you:

1. Did you install either websocketd or apache2-websocket and it it running as required?
2. Is there a firewall preventing you from communicating with port 7632 which is the standard port that our instructions give for setting up the websocket listener?
3. If you followed the proxy instructions have you triple checked that the proxy is configured correctly?

One of the classic causes for login failures such as you describe is a failure to communicate with the websocket listener.

It would be helpful if you can open the developer tools in your browser, switch to the console, and paste the contents of any error messages that appear when you attempt to login.

Jason

AkaSchmid (akaschmid) wrote :
Download full text (3.6 KiB)

Hallo Jason

I used this option
16. Websockets installation instructions: Option #2 Websocketd
sudo -b /usr/local/bin/websocketd --port 7682 --ssl --sslcert=/etc/apache2/ssl/server.crt \
     --sslkey=/etc/apache2/ssl/server.key /openils/bin/osrf-websocket-stdio
I am not behind a proxy. Just a test virtual machine

Here is the dump
Thanks in Advance

Lovefield worker received action=createSchema schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=connect schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=selectWhereEqual schema=cache table=CacheDate field=type value=_offlineXact offline-db-worker.js:326:5
Lovefield worker received action=createSchema schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=connect schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=selectWhereEqual schema=cache table=CacheDate field=type value=_offlineXact offline-db-worker.js:326:5
Lovefield worker received action=createSchema schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=connect schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=selectWhereEqual schema=cache table=CacheDate field=type value=_offlineXact offline-db-worker.js:326:5
Lovefield worker received action=createSchema schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=connect schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=selectWhereEqual schema=cache table=CacheDate field=type value=_offlineXact offline-db-worker.js:326:5
Lovefield worker received action=createSchema schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=connect schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=selectWhereEqual schema=cache table=CacheDate field=type value=_offlineXact offline-db-worker.js:326:5
Lovefield worker received action=createSchema schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=connect schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=selectWhereEqual schema=cache table=CacheDate field=type value=_offlineXact offline-db-worker.js:326:5
Lovefield worker received action=createSchema schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=connect schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=selectWhereEqual schema=cache table=CacheDate field=type value=_offlineXact offline-db-worker.js:326:5
egAuth found no valid authtoken core.bundle.js:1:20065
egStartup.expiredAuthHandler() core.bundle.js:1:19409
getting item: eg.workstation.all core.bundle.js:1:22893
Lovefield worker received action=createSchema schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=connect schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=selectWhereEqual schema=c...

Read more...

AkaSchmid (akaschmid) wrote :

Ps. I ran config with these options ./configure --prefix=/openils --sysconfdir=/openils/conf --enable-python -with-websockets-port=443

Jason Stephenson (jstephenson) wrote :

Ok. You should have skipped the --with-websockets-port option if you're not using a proxy. I'd try running configure again without that option, doing make, make install, and the chown steps of the instructions. Then restarting OpenSRF services, apache2, and websockets. (This part of the README may not be very clear. Others have had similar issues.)

Also, I think part of the problem is pointing the browser at "private.localhost." You should try "localhost" instead, and even better, you should try with a browser on a machine other than the one that is running Evergreen.

Even though websocketd listens on all addresses by default, it may not know about private.localhost nor public.localhost. These addresses are special and meant to be used only by the private and public OpenSRF routers respectively. They're not meant to be visible to the world.

Finally, Python isn't going to work with OpenSRF/Evergreen on Ubuntu Xenial. This isn't documented and we may or may not have a bug about it, but Evergreen's Python is broken on Ubuntu Xenial and Debian Jessie(?) because of an apparent bug in a Python XMPP module. There may also not be a bug for that module, either. As far as I know, I'm the only one to encounter it. There has been some chatter about it in IRC or on the development mailing list. One way to test if Python is going to work or not is to start srfsh.py. It should error out on Ubuntu Xenial.

AkaSchmid (akaschmid) wrote :

Hi Jason

Thanks a lot.. you are saving me hours of try and error.

I will update you on the soluiton.
I will also paste my guide. for Other people who just need to get the system up and running on a local network not connected to internet

AkaSchmid (akaschmid) wrote :

Hi Jason
I tried again..

with your recomendation.. still getting the error

egAuth found no valid authtoken core.bundle.js:1:20065
egStartup.expiredAuthHandler() core.bundle.js:1:19409
getting item: eg.workstation.all core.bundle.js:1:22893
Source map error: request failed with status 404 Resource URL: https://localhost/upup.min.js Source Map URL: upup.min.js.map[Learn More]
Source map error: request failed with status 404 Resource URL: https://localhost/js/ui/default/staff/build/js/lovefield.min.js Source Map URL: lovefield.min.js.map[Learn More]
Source map error: request failed with status 404 Resource URL: https://localhost/js/ui/default/staff/build/js/iframeResizer.min.js Source Map URL: iframeResizer.map[Learn More]
Lovefield worker received action=createSchema schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=connect schema=cache table= field= value= offline-db-worker.js:326:5
Lovefield worker received action=selectWhereEqual schema=cache table=CacheDate field=type value=_offlineXact offline-db-worker.js:326:5
egNet open-ils.auth_proxy.enabled core.bundle.js:1:6132
pending count 1 opensrf_ws.js:46:5
connecting websocket to wss://localhost:7682/osrf-websocket-translator opensrf_ws.js:59:5
Firefox can’t establish a connection to the server at wss://localhost:7682/osrf-websocket-translator. opensrf_ws.js:62:22
closing websocket opensrf_ws.js:99:9
Error: WebSocket Error [object Event] : undefined

AkaSchmid (akaschmid) wrote :

I tried through a diffrent machine..I am getting the error
http://192.168.10.3/eg/opac/home : This url work fine.. but as soon as I tried to login..as staff.
This happen
https://192.168.10.3/eg/staff/login/
Not Found

The requested URL /eg/staff/login/ was not found on this server.
Apache/2.4.18 (Ubuntu) Server at 192.168.10.3 Port 443

The question is ? Does evergreen ever use Port 443: If not why not
Port 443 is the starndard port for SSL
I dont understand the websocet concept of using
sudo -b /usr/local/bin/websocketd --port 7682 --ssl --sslcert=/etc/apache2/ssl/server.crt \
     --sslkey=/etc/apache2/ssl/server.key /openils/bin/osrf-websocket-stdio

Should this not read
sudo -b /usr/local/bin/websocketd --port 443 --ssl --sslcert=/etc/apache2/ssl/server.crt \
     --sslkey=/etc/apache2/ssl/server.key /openils/bin/osrf-websocket-stdio

Notice the port 443???
Is it possible to elimnate SSL.. ?
My application does not require SSL

Jason Stephenson (jstephenson) wrote :

Evergreen uses port 443 via Apache. So, if websocketd is running standalone it cannot use the same port as Apache. Whichever one starts first will block the other from using the port.

If you want to use port 443 with websocketd and Apache, you'll need to set up the nginx proxy as described in the README.

You should always use SSL. I know you think you don't need it, but if you are accepting input from users, particularly login credentials, you should definitely use SSL. The way things are going, I can imagine a day in the not too distant future when browsers will refuse to connect to sites that don't use SSL, or at least will refuse to submit forms on such sites.

As for staff login not being found, remove the trailing /, and it should be found. The location doesn't have a / on the end of the name and there is no such directory on the server to retrieve. It's a common mistake. I've made it myself a few times.

Finally, you should check if websocketd is running: pgrep -af websocketd . If that command returns nothing, then it isn't and needs to be started.

AkaSchmid (akaschmid) wrote :

Hi Jason

I just discovered that this programme osrf-websocket-stdio is missing in this https://evergreen-ils.org/downloads/opensrf-OSRFVERSION.tar.gz build

Could this be correct?

Regards
Edwin

AkaSchmid (akaschmid) wrote :

Version 3.0.2

Jason Stephenson (jstephenson) wrote :

That is correct. I should have noticed you are using OpenSRF version 3.0.2.

You need to install OpenSRF version 3.1.0 or later:

https://evergreen-ils.org/downloads/opensrf-3.1.0.tar.gz

The necessary support for websocketd was not added until that release. OpenSRF 3.0.2 only supports apache-websocket.

It is also very important to use the installation instructions for the versions of OpenSRF and Evergreen that you have downloaded. It is my advice to NEVER use any instructions that you have found on the web. ALWAYS use the README in the archive or git repository that you are installing.

AkaSchmid (akaschmid) wrote :

Dear Jason

Thanks I finally got the login screen out.
However I am stuck at the Workstation: Working location View.. No mater what I click on the admin menue. It stays at the this window nothing else

Thanks for your help
Edwin

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers