Hot answers tagged

8

One word: ejabberd. No web interface though and docs suck at large.


7

This is an old question, but I wanted to add an updated answer for anyone searching and finding this, but using a more modern version of ejabberd (14.12 at the time of this writing). The following options (in the new YAML configuration format) should make starttls required, change the ciphers list to something decent, and disable legacy SSL support for s2s ...


6

These are a little tricky to find out on the internet - hopping randomly through the "StartSSL" marked ones in this public directory, some were using self-signed certificates, and others were using the same certificates as on their HTTP services (not an "XMPP" cert). Of the couple that I did find using these special XMPP certs, there were two differences ...


5

It would be best to see your actual configuration, but MUCs normally have to be enabled as services. The service discovery is indeed the way to discover the MUC service and browse chat rooms, but the client should be able to bookmark them or put them on the roster for use next time. Anyway, in /etc/ejabberd/ejabberd.cfg have you enabled mod_muc? If so, ...


5

You have two options regarding user registration. You can either manually create user accounts on the server, or you can enable in-band registration, which allows anyone who can connect to the server to register an account. If you want to create accounts manually, run this on the server for each user: sudo ejabberdctl register <username> ...


4

You need to follow the clustering guide here http://docs.ejabberd.im/admin/guide/clustering/


4

It's not ejabberd what handles audio/video talk. It's handled with Jingle (XEP-0166), which is client-to-client protocol extension for XMPP. The clients have to support it.


3

Requiring StartTLS: {s2s_use_starttls, require}. instead of {s2s_use_starttls, true}. (keep in mind this will currently make you unable to connect to gmail.com and all domains they host). Weak ciphers: See http://www.process-one.net/docs/ejabberd/guide_en.html#sec27. I think this means doing something like adding {ciphers, "..."} to the ejabberd_c2s ...


3

Try a larger instance size for your haproxy node. t1.micro instances have horrible network and IO performance, and I wouldn't be surprised if one if those were causing the problem.


3

The solution turned out to be be creating shared roster groups via the web admin interface. name: operators members: operator1@domain, operator2@domain, ... displayed groups: operators name: everybody members: @all@ displayed groups: operators I also set the operators' Pidgin to hide offline users or else the buddy list quickly grows too long as new ...


2

Stop ejabberd. /etc/init.d/ejabberd stop 2.Kill processes: beam, beam.smp, epmd killall ejabberd killall beam killall beam.smp killall epmd 3.Remove the files in /var/lib/ejabberd (Create a backup copy of this folder just in case) rm -rf /var/lib/ejabberd/* rm -rf /var/lib/ejabberd/.erlang.cookie 4.Try to start ...


2

You need to point your xmpp hostnames to the EC2 instances, either using CNAME records to Amazon's hostnames: xmpp1.example.com. IN CNAME ec2-192-0-2-76.us-west-1.compute.amazonaws.com. or using A records directly to the IP: xmpp1.example.com. IN A 192.0.2.76 The advantage of the CNAME approach is that other EC2 instances looking up the name ...


2

This is not announcement. It seems to be standard message with subject. You simply need to find the abuse user and block their account and tighten control and validation on account registration. It is for example a good idea to block in-band registration and handle registration through a web form.


2

You can use iptables to limit the number of connection attempts per minute an IP address can attempt. Since these are automated attacks most of the time the script moves on to find another target once it's blocked. This example is for tcp port 22 (ssh) and will allow 3 connection attempts per minute before dropping packets from that IP address. iptables ...


2

Had my domain pointing to the wrong ip address of the server.


2

Typically you ensure that: the config file is not visible by anyone but ejabberd (and root) ejabberd has its own credentials for LDAP, which can even be limited to only doing what ejabberd needs to do A separate file provides no more security than above. Having a dedicated LDAP user/password for ejabberd means that even if a compromise does happen, you ...


1

My instinct of scaling systems generally says that a cluster of external databases would be a better thing than having lots of internal databases. I've never actually looked at scaling ejabberd, but generally it's good to separate services into clusters. This quora answer seems to agree about scaling to a separate DB when you've many nodes.


1

I'd say you're putting a lot on a single box. Memory is just one metric. You could be hitting CPU bottlenecks when you get traffic, or you're limiting I/O. iostat will give an idea on the disk activity. You'll probably see the issue go away if you move services to their own servers (have your web server separate from the jabber one).


1

There are several points for you to try. First, ensure you have no, or a low-resolution avatar set. There's an outstanding bug related to Adium and ejabberd for this. Next, start Adium in debug mode (hold Option while starting) so you can get logging output and see what Adium says. It may also be worthwhile to check the security options for the ...


1

I think that the reason why this hasn't been covered by anybody because a initial google turns up absolutely nothing.. Slightly more advanced goggle-fu shows that when the priority of all resources of a given user are the same then the message will be multicast to all available resources https://www.ejabberd.im/node/4994 I could also find someone who put ...


1

The culprit is found: Diffie-Hellman parameters are controlled by erlang-p1-tls. So when you upgrade ejabberd to the version from the testing repository, you should upgrade erlang-p1-tls package to the version from the testing as well! sudo apt-get install erlang-p1-tls/testing Actually, to get testing version of ejabberd to work properly on the stable ...


1

This is controlled entirely by the client. The server can control which rooms are able to be auto-joined, with the autojoin attribute of the conference element element, but it's up to the XMPP client to actually do so. Note that the default value for the autojoin attribute is false, but once you set that to true on the server, its entirely up to whatever ...


1

I do not think there is a migration tool for the MUC content to migrate data from Mnesia to relational database. If you still need that feature, I suggest you post a feature request on ejabberd issue tracker on Github: https://github.com/processone/ejabberd/issues


1

After reading this blog post I came to know that ejabberd.cfg is converted to ejabberd.yml and YAML is used to configure the server now. Thus no need of a cfg file.


1

Probably you should try the installer or experimental package from ProcessOne: https://www.process-one.net/en/ejabberd/downloads/


1

so is not it possible to use ELB + ejabberd? It is possible. XMPP should work via ELB as long as the ELB is configured with a TCP listener instead of HTTP. You can put the preferred subdomain, a CNAME of the ELB, as the SRV records and that shouldn't be a problem. This post covers setting up ejabberd behind an ELB: ...


1

Seems like you have modified authentication mechanism to some thing other than "internal". If yes, then you have to configure virtual hosts in the external database being used.


1

I ended up using ejabberdctl to get information about the underlying mnesia database. Then set ERLANG_NODE within the file /etc/defaults/ejabberd to, in my case, ejabberd@vps. Et viola the service came up upon typing /etc/init.d/ejabberd start. Upon startup the process reports failed after a period of 30 seconds. Yet I could access the web management ...


1

Tigase (www.tigase.org) is very good option. http://www.tigase.org/content/tigase-10mb-ram


1

Here are the MUC relevant bits of my ejabberd.conf for what it is worth - works for me : {access, muc_admin, [{allow, admin}]}. {access, muc, [{allow, all}]}. {mod_muc, [{access, all}, {access_create, all}, {access_admin, muc_admin}]}, The mod_muc is of course only valid as part of the modules stanza. Your configuration looks fine to my innocent ...



Only top voted, non community-wiki answers of a minimum length are eligible