time-out on connecting enketo-express to ODK aggregate (fresh install). The link is generated but the page won't display.

30 views
Skip to first unread message

christophe sig

unread,
Sep 19, 2019, 10:05:29 AM9/19/19
to enketo-users
Hello.

This concerns self installation : form pages don't load in enketo dedicated site.

So here is the situation

An ODK Aggregate server is on http://odk.me.org:8080/bac_a_sable , on a hosted server (debian). It works great with ODK Collect for months

The user has to autentificate to "collect" (download and fill the forms) : user / user, no anonymous.

-----------------------------
For test and understanding how to configure, i installed  Enketo express on a virtual machine Vbox on my workstation.
This VM is dedicated to enketo, so it is ubuntu server 18.04, since the tutorial was made for it.

The VM is in a LAN on which i have control. enketo.me.org points to the public IP. and the router leads 18005 wan incoming traffic  to 8005 on enketo server.
That works :Both http://192.168.0.106:8005 or http://enketo.me.org:18005  show the "language page". Version is 1.77.1-9-g95abc75

What i did for configuration :
- netinstall ubuntu from zero - configure with less service as possible
- adduser enketo and manage ssh connections (without ssl, because the is no security need in this lan)
- install required dependencies and nodejs
- modify config.json
- tune firewall  as follows : accept all established/related connections(in and out). drop incoming NEW connections except ports 6379 & 6380 (redis), 8005,18005 and 18080 (nginx); let go out tcp traffic on ports 80,443,8000,8080
- tune router for redirecting

config.json is :
    "app name": "Serveur Enketo ",
    "port": "8005",
    "offline enabled": true,
    "linked form and data server": {
    "name": "serveur ODk Aggregate ",
    "server url": "",
    "api key": "xxxxxxxxxxx",
    "legacy formhub": false,
    "authentication": {
    "type": "basic",
    "allow insecure transport": "true"
    }
    }
On ODK server, the link to API is http://enketo.me.org:18005/api/v1 and the key is the one in config.json

What i did NOT do :
- use/enable SSL on both servers (odk and enketo). Information collected on this forms on odk is not "strategic/secret".
What i after all tried but failed :
- install certificates . certbot --nginx : could not link to nginx not listening en port 80. I do not go further because it is quite dificult for me to understand it now, and i first check  if it could be something else.

----------------------------------------------------------
What happens :

I connect to enketo api/v1 and try the connections :
curl --user xxx: "enketo.me.org:18005/api/v1/survey?server_url=http://odk.me.org:8080/bac_a_sable&form_id=jentends"
{
    "url": "http://me.org:18005/x/#uBYUemHH",
    "code": 200
}

That is OK. But i never get any form with the link http://me.org:18005/x/#uBYUemHH (time out).
The same connecting as form manager in ODK aggregate server. The "enketo webform " button is active, and links to some link like "enketo.me.org:18005/x/#3e1eq0D4 . But nothing appears.

Has anyone any idea of what could be checked ?  Has it something to do with idenfication on the odk aggegate by enketo ? I don't get why we never have to put "collector" logins...
Is there any log that should be checked ? I am not easy with nginx configuration, so that may be it ?

Thank you for any help.

christophe
Reply all
Reply to author
Forward
0 new messages