![]() Or you might be a sysadmin in need of an internal chat solution. XMPP is an awesome and extendible protocol, on which you can find more here: Information I've got a ejabberd cluster running for a client consisting of 4 Debian 7 VM's (2GB RAM each) spread over 3 sites and 1 datacenter, serving 12000 total users and most of the time 6000 concurrently. This setup is tested on Debian 7, Ubuntu 12.04 and 10.04 and OS X 10.8 Server, all running ejabberd installed via the package manager, either apt or ports. It also works on Windows Server 2012 with the ejabberd compiled from the erlang source but that is not covered in this tutorial. This tutorial uses the domain as the chat domain, and the server as the xmpp server domain. Single node / master node ejabberd installation For the clustering part the servers and are used. If you want to set up a single node installation of ejabberd, e.g. no clustering, then follow only this part and the DNS part of the tutorial. This is simple, use your package manager to install ejabberd: apt-get install ejabberd If you want to set up a cluster, then also follow this part and continue with the next part. You will also install a few dependencies for the erlang runtime. ![]() We are going to configure the ejabberd service. Now use your favorite text editor to edit the config files. The ejabberd config is erlang config, so comments are not # but %%. Also, every config option ends with a dot (.). vim /etc/ejabberd/ejabberd.cfgįirst we are going to add our chat domain name. If you are pleased with the config file, save it and restart ejabberd: /etc/init.d/ejabberd restart I like to have a shared roster with roster groups, and some clients of mine use a shared roster with everybody so that nobody has to add contacts but they see all online users, enable the mod_shared_roster: %% Do this in the modules block If you are using MySQL or LDAP authentication then you wouldn't enable this. If you've enabled in-band registration you can use your XMPP client, and if you did not enable in-band registration you can use the ejabberdctl command: ejabberdctl register remy 'passw0rd' We now need to register a user to test our setup. Now test it using an XMPP client like Pidgin, Psi+ or Empathy. If you can connect, then you can continue with the tutorial. Foreman-installer uses Kafo, just like our Puppetmaster installer and Configuration Manager Image built on top of it.How did you install ejabberd (source, package, distribution)? The next part of this tutorial can be found over at my website: - It covers the clustering of ejabberd, troubleshooting and the DNS setup to make federation work.What operating system (version) are you using? If you cannot connect, check your ejabberd logs, firewall setting and such to troubleshoot it. While this error was noticed in Vagrant it is quite possible that it manifests itself on real systems with misconfigured /etc/hosts file as well. The workaround is to get rid of the offending /etc/hosts entry in a provisioning script before foreman-installer launches. In Linux and MacOS the hosts entry on the VM reads "127.0.0.1 " instead, which does not trigger this issue because it matches the IP of the loopback interface. This feature in Vagrant is considered by some - and not without merit - a misfeature. Unfortunately no interface in that Linux VM had the IP 127.0.1.1, so foreman-installer pre-install check was doomed to fail. In case of Windows Vagrant created "127.0.1.1 " entry in /etc/hosts on the VM. If there is a mismatch the error message above is displayed. What happens is that Ruby compares IP addresses fetched from /etc/hosts and compares them to IP addresses of network interfaces that are present. The error message can be traced back to a Kafo pre-install hook called dns.rb. The error message was this: Forward DNS points to 127.0.1.1 which is not configured on this server Except that it failed when foreman-installer attempted to start. Easy, right? Vagrant and Virtualbox are supposed to abstract all those pesky operating system settings away, correct? After resolving a non-Windows related challenge provisioning of Foreman on Windows almost worked. But we needed to make this environment work also on Windows. The environment work fine on Linux and MacOS. We have a Vagrant + Virtualbox environment that sets up Foreman used for PXE booting baremetal servers. This posting comes strictly from the land of esoteria.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |