Tables are deleted on ejabberd server automatically - erlang

I wrote a module on ejabberd server which creates four new tables on ejabberd.
And i configured this module on port number 5280 on ejabberd(On this PORT http request is handled i.e ejabberd_http module is configured here but with tls off).
Then i triggered the module via with command-> curl
http://ip_adddress:port_no/url_configured_on_ejabberd.
It successfully created the tables.Similary i have configured some modules on 5290(ejabberd_http module is configured here too but with tls on).Now when i open ejabberd GUI via port 5280(http://IP:5280/admin/node/ejabberd#localhost/db/)
it shows all tables.
But when i open ejabberd via(https://IP:5290/admin/node/ejabberd#localhost/db/) my all four tables are deleted every time.
Is there any issues regarding the server to help me solve the issue ?

Related

How do I connect an Ado.Net client to my NuoDB on Linux Docker

I created the 3 necessary containers for NuoDB using the NuoDB instructions.
My Docker environment runs on a virtual Ubuntu Linux environment (VMware).
Afterwards I tried to access the database using a console application (C# .Net Framework 4.8) and the Ado.Net technology. For this I used the Nuget "NuoDb.Data.Client" from Nuget.org.
Unfortunately the connection does not work.
If I choose port 8888, my thread disappears to infinity when I open the connection.
For this reason I tried to open the port 48004 to get to the admin container.
On this way I get an error message.
"System.IO.IOException: A connection attempt failed because the remote peer did not respond properly after a certain period of time, or the established connection was faulty because the connected host did not respond 172.18.0.4:48006, 172.18.0.4"
Interestingly, if I specify a wrong database name, it throws an error:
No suitable transaction engine found for database.
This tells me that it connects to the admin container.
Does anyone have any idea what I am doing wrong?
The connection works when I establish a connection with the tool "dbvisualizer".
This tool accesses the transaction engine directly. For this reason I have opened the port 48006 in the corresponding container.
But even with these settings it does not work with my console application.
Thanks in advance.
Port 8888 is the REST port that you would use from the administration tool such as nuocmd: it allows you to start/stop engines and perform other administrative commands. You would not use this port for SQL clients (as you discovered). The correct port to use for SQL clients is 48004.
Port 48004 allows a SQL client to connect to a "load balancer" facility that will redirect it to one of the running TEs. It's not the case that the SQL traffic is routed through this load balancer: instead, the load balancer replies to the client with the address/port of one of the TEs then the client will disconnect from the load balancer and re-connect directly to the TE at that address/port. For this reason, all the ports that TEs are listening on must also be open to the client, not just 48004.
You did suggest you opened these ports but it's not clear from your post whether you followed all the instructions on the doc page you listed. In particular, were you able to connect to the database using the nuosql command line tool as described here? I strongly recommend that you ensure that simple access like this works correctly, before you attempt to try more sophisticated client access such as using Ado.Net.

edited how to make nginx pont to my mosquitto broker in docker [duplicate]

I have a server and I am using Ubuntu 20.04, nginx , mosquitto and node-red and docker , let's call the website http://mywebsite.com. The problem that I am facing that I have created a client lets call it client1 in docker so the URL will be http://mywebsite.com/client1
and I want to establish an MQTT connection via mosquitto and I'm sending the data on topic test
The problem that on node red node of MQTT when I write the IP address of my mosquitto container it works
But if I change the IP address 192.144.0.5 with mywebsite.com/client1 I can't connect to mosquitto and I can't send or receive any form of data
any idea on how to solve this problem
OK, you are going to have several problems here.
You can not do path based proxying with MQTT. If you want to have multiple MQTT brokers (1 per client) bound to a single public facing domain/IP address then they are all going to have to run on separate ports (other than the default 1883).
Nginx can do MQTT protocol proxying (e.g. like this), so you can use this to expose the different ports and forward them to the separate instances of mosquitto, but even if you had a different hostname (all pointing at the same IP address) nginx has no way to know which host name was used because there is no equivalent to the HOST HTTP header to direct it. If you were to use MQTT with TLS then you may be able to get it to work with SNI, but I've never seen anybody do that yet (possible docs for SNI based routing here) It works, explanation about how to do it here.
If you use MQTT over Websockets then you should be able to use hostname based routing.
Path based proxying for Node-RED currently doesn't work properly if you enable admin authentication, because the admin auth tokens are currently stored in browser local storage and only scoped to the hostname, not the hostname + path. This will mean that a client will only ever be able to log into one instance at a time.
You can work round this by using host based proxying, e.g. http://client1.mywebsite.com
A fix for this is on the backlog for Node-RED, probably (no promises) to be looked at after version 1.2.0 ships

Trying to setup Neo4j 3.2.0 in ubuntu server

I am trying to setup Neo4j version 3.2.0 in the ubuntu server 14.04.2 LTS
Downloaded the tar and extracted the folder, edited the config file to update the port to 4444, for the time being disabled the bolt connector, listen_address to 0.0.0.0 for the http connector, authentication also disabled just to get started.
bolt connector is updated with the port 7687 even though it is disabled as i was trying earlier with it enabled.
Now when i try to connect to the http://serverip:4444/browser, it says Database access not available and shows me the login screen with host prefilled bolt://serverip:7687
Also I see this error on the console window
WebSocket connection to ws://serverip:7687/
failed: Error in connection establishment:
net::ERR_CONNECTION_TIMED_OUT
Dont understand the issues here, please help me out. I am not sure why is it trying to do a WS to the port assigned to the bolt, when it is disabled at the first place.
Regards
There's a bit of juggling going on for HTTP connector support between the browser and the driver being used, a handoff which isn't complete, and the state of things is the browser is only supporting bolt connections right now.
The javascript bolt driver is being upgraded to handle http connections, I think, so you may need to wait until the next 3.2.x release to use the http connector again.
I think this issue should be tracking it.

Realm database: synchronization with server

I'm testing Realm database using test application RealmTasks and found out that synchronization with the server doesn't work. Authentication works well, but sync not. Realm server is installed on CentOS 7 server. Default port 9080 is busy so I changed Realm server config file:
http:
enable: true
listen_address:'0.0.0.0'
listen_port:6666
network:
http:
listen_address:'0.0.0.0'
listen_port:27080
As a result I can connect to 27080 from outside but can not connect to port 6666. All ports are opened for outside connection. Does it possible that such a configuration doesn't allow to synchronize database?
Update
That config file is just wrong - if that's exactly what you have. The yaml is nested wrongly because your first http is not nested.
Experimenting with the Mac Developer Edition, here's a minimal working configuration.yml file:
storage:
root_path: 'root_dir'
auth:
public_key_path: 'keys/token-signature.pub'
private_key_path: 'keys/token-signature.key'
proxy:
http:
listen_address: '::'
listen_port: 9666
Important - it seems port numbers are constrained the [configuration documentation(https://realm.io/docs/realm-object-server/#configuring-the-server) mentions the need to use 1024 or higher as the server doesn't run as root. I am not sure why I could not get 6666 to run although that is supposedly commonly used for IRC. Multiple failure messages appear in the Terminal window of the process launching the server with that port.
Earlier questions
Are you telling the RealmTasks app to connect to that port? (Obvious question but I had to ask.)
Please supply logs from the server or look at the logs, which you can view and adjust the level of in the web dashboard eg at http://localhost:9080/#!/logs

mod_rest installation on ejabberd 16.06 windows

I have installed ejabberd 16.06 version on windows. Installation was successful and I need to install mod_rest module.
I followed following steps to install the module and also available modules:
C:\Program Files\ejabberd-16.06\bin>ejabberdctl modules_update_specs
ok
C:\Program Files\ejabberd-16.06\bin>ejabberdctl module_install mod_rest
Problem 'error {case_clause,volumerelative}' occurred executing the command.
Stacktrace: [{ejabberd_config,get_absolute_path,1,
[{file,"src/ejabberd_config.erl"},{line,319}]},
{ejabberd_config,get_plain_terms_file,2,
[{file,"src/ejabberd_config.erl"},{line,229}]},
{ejabberd_config,include_config_file,2,
[{file,"src/ejabberd_config.erl"},{line,516}]},
{lists,flatmap,2,[{file,"lists.erl"},{line,1249}]},
{ejabberd_config,include_config_files,1,
[{file,"src/ejabberd_config.erl"},{line,496}]},
{ejabberd_config,read_file,2,
[{file,"src/ejabberd_config.erl"},{line,150}]},
{ejabberd_config,load_file,1,
[{file,"src/ejabberd_config.erl"},{line,168}]},
{ext_mod,install,1,[{file,"src/ext_mod.erl"},{line,172}]}]
C:\Program Files\ejabberd-16.06\bin>ejabberdctl modules_available
atom_pubsub Provides access to all PEP nodes via an AtomPub interface
ejabberd_auth_http Authentication via HTTP request
ejabberd_mod_mam Message Archive Management (XEP-0313)
ejabberd_trace Easy tracing of connections made to ejabberd
ircd IRC server frontend to ejabberd
mod_archive Supports almost all the XEP-0136 version 0.6 except otr
mod_cron Execute scheduled commands
mod_grafite Publishes Statistics via statsd/grafite
mod_http_offline POST offline messages to a web
mod_log_chat Logging chat messages in text files
mod_logsession Log session connections to file
mod_logxml Log XMPP packets to XML file
mod_message_log Log one line per message transmission in text file
mod_muc_log_http Serve MUC logs on the web
mod_openid Transform the Jabber Server in an openid provider
mod_post_log Logs messages to an HTTP API
mod_pottymouth Filter bad words in messages
mod_profile User Profile (XEP-0154) in Mnesia table
mod_rest HTTP interface to POST stanzas into ejabberd
mod_restful RESTful API for ejabberd
mod_s2s_log Log all s2s connections in a file
mod_shcommands Execute shell commands
mod_statsdx Calculates and gathers statistics actively
mod_webpresence Publish user presence information in the web
When I tried to install the module it throws error. I am not able to trace what went wrong.
After installation, the server was continuously crashing, so I have to remove the installed module files and restart it.

Resources