While\u00a0ejabberd<\/strong><\/span><\/a>\u00a0is very widespread, a competitor has gained a lot of popularity recently –\u00a0Prosody<\/strong><\/span><\/a>. This tutorial will show you how to set up Prosody on FreeBSD 10.<\/p>\n Assuming that you are on a fresh installation of FreeBSD 10, you start by bootstrapping pkg and installing the right package,\u00a0prosody<\/strong>:<\/p>\n All the necessary configuration files are located under\u00a0 The account you enter in here (which will be created later on in this tutorial) will be able to do ad-hoc administration from within your client software. If you wish to solely use\u00a0prosodyctl<\/strong>\u00a0you can leave this empty.<\/p>\n In order to make Prosody work properly, you need to\u00a0add<\/strong>\u00a0the\u00a0posix<\/strong>-module to the list of enabled modules (Do\u00a0not<\/strong>\u00a0delete the other modules!).<\/p>\n Prosody needs to be able to write a PID file. It is easiest to configure this using the\u00a0 There are two ways of setting up SSL certificates.<\/p>\n Since there is only one virtual host used, you can simply configure the default one. Per default, Prosody stores the password of each user in plaintext on the hard disk. To avoid this, you need to change how\u00a0authentication<\/strong>\u00a0is configured:<\/p>\n Nearly all modern clients support encrypted connections, so it is safe to enable the following:<\/p>\n It is also possible to force encrypted connections between servers. Unfortunately, there are a lot of servers out there that do not support encryption (at the time of writing). Some of which include the “big players”, such as Google. Therefore, you have to decide for yourself whether or not the increased security is worth the potential trouble with users using a server that doesn’t support encryption.<\/p>\n Now, with the general configuration finished, all that is left is to create a virtual host serving your domain. You can do that by adding the following to the end of the configuration file:<\/p>\n Prosody comes with its own command line tool, called\u00a0prosodyctl<\/strong>. This tool aids in creating and managing users. Create your first user by issuing the following command:<\/p>\n The last thing before you can start chatting away is editing\u00a0 … and starting the service:<\/p>\npkg\r\npkg install prosody\r\n<\/code><\/pre>\n
\/usr\/local\/etc\/prosody<\/code>. Open up\u00a0
\/usr\/local\/etc\/prosody\/prosody.cfg.lua<\/code>\u00a0with your favorite text editor and make a few changes:<\/p>\n
admins = { \"yourusername@yourdomain\" }\r\n<\/code><\/pre>\n
modules_enabled = {\r\n \"posix\";\r\n}\r\n<\/code><\/pre>\n
pidfile = \/tmp\/prosody.pid\r\n<\/code><\/pre>\n
\/tmp<\/code>\u00a0folder.<\/p>\n
ssl = {\r\n key = \"\/path\/to\/your\/keyfile\"\r\n certificate = \"\/path\/to\/your\/certificate\/file\"\r\n}\r\n<\/code><\/pre>\n
\n
authentication = \"internal_hashed\"\r\n<\/code><\/pre>\n
c2s_require_encryption = true\r\n<\/code><\/pre>\n
VirtualHost \"yourdomain\"\r\n enabled = true\r\n<\/code><\/pre>\n
prosodyctl add youruser@yourdomain\r\n<\/code><\/pre>\n
\/etc\/rc.conf<\/code>\u00a0…<\/p>\n
prosody_enable=YES\r\n<\/code><\/pre>\n
\/usr\/local\/etc\/rc.d\/prosody start<\/code><\/pre>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","manualknowledgebasecat":[230],"manual_kb_tag":[406],"_links":{"self":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2722"}],"collection":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/comments?post=2722"}],"version-history":[{"count":1,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2722\/revisions"}],"predecessor-version":[{"id":2723,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2722\/revisions\/2723"}],"wp:attachment":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/media?parent=2722"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manualknowledgebasecat?post=2722"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb_tag?post=2722"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}