{"action":"created","issue":{"url":"https://api.github.com/repos/ArchipelProject/Archipel/issues/1155","labels_url":"https://api.github.com/repos/ArchipelProject/Archipel/issues/1155/labels{/name}","comments_url":"https://api.github.com/repos/ArchipelProject/Archipel/issues/1155/comments","events_url":"https://api.github.com/repos/ArchipelProject/Archipel/issues/1155/events","html_url":"https://github.com/ArchipelProject/Archipel/issues/1155","id":105999866,"number":1155,"title":"[Ubuntu14.04] [ejabberd.cfg] Translating recommended cfg to actual syntax","user":{"login":"explanar","id":840301,"avatar_url":"https://avatars.githubusercontent.com/u/840301?v=3","gravatar_id":"","url":"https://api.github.com/users/explanar","html_url":"https://github.com/explanar","followers_url":"https://api.github.com/users/explanar/followers","following_url":"https://api.github.com/users/explanar/following{/other_user}","gists_url":"https://api.github.com/users/explanar/gists{/gist_id}","starred_url":"https://api.github.com/users/explanar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/explanar/subscriptions","organizations_url":"https://api.github.com/users/explanar/orgs","repos_url":"https://api.github.com/users/explanar/repos","events_url":"https://api.github.com/users/explanar/events{/privacy}","received_events_url":"https://api.github.com/users/explanar/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-09-11T12:23:13Z","updated_at":"2015-09-15T20:11:44Z","closed_at":"2015-09-15T20:10:55Z","body":"This is my firs try of ejabberd-config-translation in case of lots of syntax-errors after trying ```https://github.com/ArchipelProject/Archipel/wiki/Ejabberd:-Configuration```\r\nas /etc/ejabberd/ejabberd.cfg in combination with actually updated ejabberd from Repo's.\r\nI'll comment if testing ends up successfully.\r\n\r\nActually there's ejabberd \"not running in that node\", so i checked file-permissions and added an admin user:\r\n```\r\n$ sudo chmod --reference /etc/ejabberd/ejabberd.cfg.orig /etc/ejabberd/ejabberd.cfg\r\n$ sudo ejabberdctl register admin fqdn passwd\r\nThe node ejabberd@myFQDN is started with status: started\r\nejabberd is not running in that node\r\nCheck for error messages: ejabberd.log\r\nor other files in that directory.\r\n\r\nError in ejabberd ctl process: 'error' badarg\r\n```\r\nLoglevel is set to 5 but there are no newly arrived messages in the named logfile, even trying to register admin to localhost instead of my FQDN fails.\r\nSome little research tells me that 1.) /etc/hosts could be misconfigured and 2.) i have to kill all processes \"beam\" and \"epmd\". I checked the hosts file and killed the two prcesses that were listening on ports *:epmd and *:41672, established to localhost.\r\n\r\nNow i get the following error:\r\n```\r\nsudo ejabberdctl status\r\nFailed RPC connection to the node ejabberd@fqdn: nodedown\r\n```\r\nWhat can i do now?\r\n\r\nHere's the translated ejabberd.cfg:\r\n```\r\n%%%\r\n%%%     Debian ejabberd configuration file\r\n%%%     This config must be in UTF-8 encoding\r\n%%%\r\n%%% The parameters used in this configuration file are explained in more detail\r\n%%% in the ejabberd Installation and Operation Guide.\r\n%%% Please consult the Guide in case of doubts, it is available at\r\n%%% /usr/share/doc/ejabberd/guide.html\r\n\r\n%%% This configuration file contains Erlang terms.\r\n%%% In case you want to understand the syntax, here are the concepts:\r\n%%%\r\n%%%  - The character to comment a line is %\r\n%%%\r\n%%%  - Each term ends in a dot, for example:\r\n%%%      override_global.\r\n%%%\r\n%%%  - A tuple has a fixed definition, its elements are\r\n%%%    enclosed in {}, and separated with commas:\r\n%%%      {loglevel, 4}.\r\n%%%\r\n%%%  - A list can have as many elements as you want,\r\n%%%    and is enclosed in [], for example:\r\n%%%      [http_poll, web_admin, tls]\r\n%%%\r\n%%%  - A keyword of ejabberd is a word in lowercase.\r\n%%%    The strings are enclosed in \"\" and can have spaces, dots...\r\n%%%      {language, \"en\"}.\r\n%%%      {ldap_rootdn, \"dc=example,dc=com\"}.\r\n%%%\r\n\r\n%%%   ===================================\r\n%%%   OVERRIDE OPTIONS STORED IN DATABASE\r\n\r\n%%\r\n%% Override global options (shared by all ejabberd nodes in a cluster).\r\n%%\r\n%%override_global.\r\n\r\n%%\r\n%% Override local options (specific for this particular ejabberd node).\r\n%%\r\n%%override_local.\r\n\r\n%%\r\n%% Remove the Access Control Lists before new ones are added.\r\n%%\r\n%%override_acls.\r\n\r\n\r\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n%% Options which are set by Debconf and managed by ucf\r\n\r\n%% Admin user\r\n{acl, admin, {user, \"\", \"localhost\"}}.\r\n\r\n%% Hostname\r\n{hosts, [\"localhost\", \"FQDN\"]}.\r\n%%%  - This term includes a tuple, a keyword, a list and two strings:\r\n%%%      {hosts, [\"jabber.example.net\", \"im.example.com\"]}.\r\n\r\n\r\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n\r\n\r\n%%%   =========\r\n%%%   DEBUGGING\r\n\r\n%%\r\n%% loglevel: Verbosity of log files generated by ejabberd.\r\n%% 0: No ejabberd log at all (not recommended)\r\n%% 1: Critical\r\n%% 2: Error\r\n%% 3: Warning\r\n%% 4: Info\r\n%% 5: Debug\r\n%%\r\n{loglevel, 3}.\r\n\r\n%%\r\n%% watchdog_admins: If an ejabberd process consumes too much memory,\r\n%% send live notifications to those Jabber accounts.\r\n%%\r\n%%{watchdog_admins, [\"bob@example.com\"]}.\r\n\r\n\r\n%%%   ================\r\n%%%   SERVED HOSTNAMES\r\n\r\n%%\r\n%% hosts: Domains served by ejabberd.\r\n%% You can define one or several, for example:\r\n%% {hosts, [\"example.net\", \"example.com\", \"example.org\"]}.\r\n%%\r\n%% (This option is defined by debconf earlier)\r\n%% {hosts, [\"localhost\"]}.\r\n\r\n%%\r\n%% route_subdomains: Delegate subdomains to other Jabber server.\r\n%% For example, if this ejabberd serves example.org and you want\r\n%% to allow communication with a Jabber server called im.example.org.\r\n%%\r\n%%{route_subdomains, s2s}.\r\n\r\n\r\n%%%   ===============\r\n%%%   LISTENING PORTS\r\n\r\n%%\r\n%% listen: Which ports will ejabberd listen, which service handles it\r\n%% and what options to start it with.\r\n%%\r\n{listen,\r\n [\r\n\r\n  {4560, ejabberd_xmlrpc, [\r\n\t\t\t  {maxsessions, 20},\r\n\t\t\t  {timeout, 9999},\r\n\t\t\t  {access_commands, [\r\n\t\t\t    {xmlrpcaccess, [all]}\r\n\t\t\t  ]}\r\n\t\t\t  %%{access_commands, [\r\n\t\t\t    %%{ctlaccess, [registered_users], [{host, \"localhost\"}]}\r\n\t\t\t  %%]}\r\n\t\t\t  %%{access, xmlrpcaccess},\r\n\t\t\t  %%{shaper, c2s_shaper},\r\n\t\t\t  %%{max_stanza_size, 65536},\r\n                          %%zlib,\r\n\t\t\t  %%starttls, {certfile, \"/etc/ejabberd/ejabberd.pem\"}\r\n\t\t          ]},\r\n\r\n\r\n  {5222, ejabberd_c2s, [\r\n\t\t\t{access, c2s},\r\n\t\t\t{shaper, c2s_shaper},\r\n\t\t\t{max_stanza_size, 65536000}\r\n\t\t\t%%{max_stanza_size, 65536},\r\n                        %%zlib,\r\n\t\t\t%%starttls, {certfile, \"/etc/ejabberd/ejabberd.pem\"}\r\n\t\t       ]},\r\n\r\n  {5269, ejabberd_s2s_in, [\r\n\t\t\t   %%{shaper, s2s_shaper},\r\n\t\t\t   {max_stanza_size, 65536000}\r\n                           %%{max_stanza_size, 131072}\r\n\t\t\t  ]},\r\n\r\n  {5280, ejabberd_http, [\r\n\t\t\t  {request_handlers,\r\n\t\t\t   [\r\n\t\t\t    {[\"/xmpp\"], ejabberd_http_ws}\r\n\t\t\t   ]},\r\n\t\t\t %% {request_handlers,\r\n\t\t\t %%  [\r\n\t\t\t %%   {[\"pub\", \"archive\"], mod_http_fileserver}\r\n\t\t\t %%  ]},\r\n\t\t\t %% captcha,\r\n\t\t\t %% http_poll,\r\n\t\t\t http_bind,\r\n\t\t\t web_admin\r\n\t\t\t]}\r\n\r\n ]}.\r\n\r\n  %%\r\n  %% To enable the old SSL connection method (deprecated) in port 5223:\r\n  %%\r\n  %%{5223, ejabberd_c2s, [\r\n  %%\t\t\t{access, c2s},\r\n  %%\t\t\t{shaper, c2s_shaper},\r\n  %%\t\t\t{max_stanza_size, 65536},\r\n  %%                    zlib,\r\n  %%\t\t\ttls, {certfile, \"/etc/ejabberd/ejabberd.pem\"}\r\n  %%\t\t       ]},\r\n\r\n\r\n  %% External MUC jabber-muc\r\n  %%{5554, ejabberd_service, [\r\n  %%\t\t\t    {ip, {127, 0, 0, 1}},\r\n  %%\t\t\t    {access, all},\r\n  %%\t\t\t    {shaper_rule, fast},\r\n  %%\t\t\t    {host, \"muc.localhost\", [{password, \"secret\"}]}\r\n  %%\t\t\t    ]},\r\n\r\n  %% Jabber ICQ Transport\r\n  %%{5555, ejabberd_service, [\r\n  %%\t\t\t    {ip, {127, 0, 0, 1}},\r\n  %%\t\t\t    {access, all},\r\n  %%\t\t\t    {shaper_rule, fast},\r\n  %%\t\t\t    {hosts, [\"icq.localhost\", \"sms.localhost\"],\r\n  %%\t\t\t\t       [{password, \"secret\"}]}\r\n  %%\t\t\t    ]},\r\n\r\n  %% AIM Transport\r\n  %%{5556, ejabberd_service, [\r\n  %%\t\t\t    {ip, {127, 0, 0, 1}},\r\n  %%\t\t\t    {access, all},\r\n  %%\t\t\t    {shaper_rule, fast},\r\n  %%\t\t\t    {host, \"aim.localhost\", [{password, \"secret\"}]}\r\n  %%\t\t\t    ]},\r\n\r\n  %% MSN Transport\r\n  %%{5557, ejabberd_service, [\r\n  %%\t\t\t    {ip, {127, 0, 0, 1}},\r\n  %%\t\t\t    {access, all},\r\n  %%\t\t\t    {shaper_rule, fast},\r\n  %%\t\t\t    {host, \"msn.localhost\", [{password, \"secret\"}]}\r\n  %%\t\t\t    ]},\r\n\r\n  %% Yahoo! Transport\r\n  %%{5558, ejabberd_service, [\r\n  %%\t\t\t    {ip, {127, 0, 0, 1}},\r\n  %%\t\t\t    {access, all},\r\n  %%\t\t\t    {shaper_rule, fast},\r\n  %%\t\t\t    {host, \"yahoo.localhost\", [{password, \"secret\"}]}\r\n  %%\t\t\t    ]},\r\n\r\n  %% External JUD (internal is more powerful,\r\n  %% but doesn't allow to register users from other servers)\r\n  %%{5559, ejabberd_service, [\r\n  %%\t\t\t    {ip, {127, 0, 0, 1}},\r\n  %%\t\t\t    {access, all},\r\n  %%\t\t\t    {shaper_rule, fast},\r\n  %%\t\t\t    {host, \"jud.localhost\", [{password, \"secret\"}]}\r\n  %%\t\t\t    ]},\r\n\r\n\r\n\r\n%%\r\n%% max_fsm_queue: Enable limiting of lengths of \"message queues\"\r\n%% for outgoing connections. Roughly speaking, each message in such\r\n%% queues represents one XML stanza queued to be sent into\r\n%% an output stream it is serving.\r\n%% The default value is an atom 'undefined' which specifies no limiting.\r\n%%\r\n%% When specified globally, this option limits the message queue lengths\r\n%% for all ejabberd_c2s_in and ejabberd_service listeners,\r\n%% as well as for outgoing s2s connections.\r\n%%\r\n%% This option can also be specified as an option for ejabberd_c2s_in\r\n%% and ejabberd_service listeners, in wich case it will override\r\n%% the value of the global option.\r\n%%\r\n%% {max_fsm_queue, 1000}.\r\n\r\n%%\r\n%% s2s_use_starttls: Enable STARTTLS + Dialback for S2S connections.\r\n%% Allowed values are: true or false.\r\n%% You must specify a certificate file.\r\n%%\r\n{s2s_use_starttls, optional}.\r\n\r\n%%\r\n%% s2s_certfile: Specify a certificate file.\r\n%%\r\n%% {s2s_certfile, \"/etc/ejabberd/ejabberd.pem\"}.\r\n\r\n%%\r\n%% domain_certfile: Specify a different certificate for each served hostname.\r\n%%\r\n%%{domain_certfile, \"example.org\", \"/path/to/example_org.pem\"}.\r\n%%{domain_certfile, \"example.com\", \"/path/to/example_com.pem\"}.\r\n\r\n%%\r\n%% S2S whitelist or blacklist\r\n%%\r\n%% Default s2s policy for undefined hosts.\r\n%%\r\n%%{s2s_default_policy, allow}.\r\n{s2s_default_policy, s2s_access}.\r\n\r\n%%\r\n%% Allow or deny communication with specific servers.\r\n%%\r\n%%{{s2s_host, \"goodhost.org\"}, allow}.\r\n%%{{s2s_host, \"badhost.org\"}, deny}.\r\n\r\n%%\r\n%% The maximum allowed delay for retry to connect\r\n%% after a failed connection attempt to a remote server, in seconds.\r\n%% The default value is 300 seconds (5 minutes). \r\n%%\r\n%% The reconnection algorythm works like this: if connection fails,\r\n%% ejabberd makes an initial random delay between 1 and 15 seconds,\r\n%% then retries, and if this attempt fails, makes another delay,\r\n%% twice as long as previous. These attempts are performed either\r\n%% until a successful connection is made or until the next calculated\r\n%% delay is greated or equal than the value of s2s_max_retry_delay.\r\n%%\r\n%%{s2s_max_retry_delay, 300}.\r\n\r\n%%\r\n%% Outgoing S2S options\r\n%%\r\n%% Preferred address families (which to try first) and connect timeout\r\n%% in milliseconds.\r\n%%\r\n%%{outgoing_s2s_options, [ipv4, ipv6], 10000}.\r\n\r\n\r\n%%%   ==============\r\n%%%   AUTHENTICATION\r\n\r\n%%\r\n%% auth_method: Method used to authenticate the users.\r\n%% The default method is the internal.\r\n%% If you want to use a different method,\r\n%% comment this line and enable the correct ones.\r\n%%\r\n{auth_method, internal}.\r\n\r\n%%\r\n%% Authentication using external script\r\n%% Make sure the script is executable by ejabberd.\r\n%%\r\n%%{auth_method, external}.\r\n%%{extauth_program, \"/path/to/authentication/script\"}.\r\n\r\n%%\r\n%% Authentication using ODBC\r\n%% Remember to setup a database in the next section.\r\n%%\r\n%%{auth_method, odbc}.\r\n\r\n%%\r\n%% Authentication using PAM\r\n%%\r\n%%{auth_method, pam}.\r\n%%{pam_service, \"pamservicename\"}.\r\n\r\n%%\r\n%% Authentication using LDAP\r\n%%\r\n%%{auth_method, ldap}.\r\n%%\r\n%% List of LDAP servers:\r\n%%{ldap_servers, [\"localhost\"]}.\r\n%%\r\n%% Encryption of connection to LDAP servers (LDAPS):\r\n%%{ldap_encrypt, none}.\r\n%%{ldap_encrypt, tls}.\r\n%%\r\n%% Port connect to LDAP server:\r\n%%{ldap_port, 389}.\r\n%%{ldap_port, 636}.\r\n%%\r\n%% LDAP manager:\r\n%%{ldap_rootdn, \"dc=example,dc=com\"}.\r\n%%\r\n%% Password to LDAP manager:\r\n%%{ldap_password, \"******\"}.\r\n%%\r\n%% Search base of LDAP directory:\r\n%%{ldap_base, \"dc=example,dc=com\"}.\r\n%%\r\n%% LDAP attribute that holds user ID:\r\n%%{ldap_uids, [{\"mail\", \"%u@mail.example.org\"}]}.\r\n%%\r\n%% LDAP filter:\r\n%%{ldap_filter, \"(objectClass=shadowAccount)\"}.\r\n\r\n%%\r\n%% Anonymous login support:\r\n%%   auth_method: anonymous\r\n%%   anonymous_protocol: sasl_anon | login_anon | both\r\n%%   allow_multiple_connections: true | false\r\n%%\r\n%%{host_config, \"public.example.org\", [{auth_method, anonymous},\r\n%%                                     {allow_multiple_connections, false},\r\n%%                                     {anonymous_protocol, sasl_anon}]}.\r\n%%\r\n%% To use both anonymous and internal authentication:\r\n%%\r\n%%{host_config, \"public.example.org\", [{auth_method, [internal, anonymous]}]}.\r\n\r\n\r\n%%%   ==============\r\n%%%   DATABASE SETUP\r\n\r\n%% ejabberd uses by default the internal Mnesia database,\r\n%% so you can avoid this section.\r\n%% This section provides configuration examples in case\r\n%% you want to use other database backends.\r\n%% Please consult the ejabberd Guide for details about database creation.\r\n\r\n%% NOTE that ejabberd in Debian supports \"out of the box\"\r\n%% only mnesia (default) and ODBC storage backends.\r\n%% Working with MySQL and PostgreSQL DB backends requires\r\n%% building and installation of the corresponding Erlang modules,\r\n%% not distributed as a part of ejabberd.\r\n%% Refer to /usr/share/doc/ejabberd/README.Debian for details.\r\n\r\n%%\r\n%% MySQL server:\r\n%%\r\n%%{odbc_server, {mysql, \"server\", \"database\", \"username\", \"password\"}}.\r\n%%\r\n%% If you want to specify the port:\r\n%%{odbc_server, {mysql, \"server\", 1234, \"database\", \"username\", \"password\"}}.\r\n\r\n%%\r\n%% PostgreSQL server:\r\n%%\r\n%%{odbc_server, {pgsql, \"server\", \"database\", \"username\", \"password\"}}.\r\n%%\r\n%% If you want to specify the port:\r\n%%{odbc_server, {pgsql, \"server\", 1234, \"database\", \"username\", \"password\"}}.\r\n%%\r\n%% If you use PostgreSQL, have a large database, and need a\r\n%% faster but inexact replacement for \"select count(*) from users\"\r\n%%\r\n%%{pgsql_users_number_estimate, true}.\r\n\r\n%%\r\n%% ODBC compatible or MSSQL server:\r\n%%\r\n%%{odbc_server, \"DSN=ejabberd;UID=ejabberd;PWD=ejabberd\"}.\r\n\r\n%%\r\n%% Number of connections to open to the database for each virtual host\r\n%%\r\n%%{odbc_pool_size, 10}.\r\n\r\n%%\r\n%% Interval to make a dummy SQL request to keep alive the connections\r\n%% to the database. Specify in seconds: for example 28800 means 8 hours\r\n%%\r\n%%{odbc_keepalive_interval, undefined}.\r\n\r\n\r\n%%%   ===============\r\n%%%   TRAFFIC SHAPERS\r\n\r\n%%\r\n%% The \"normal\" shaper limits traffic speed to 1.000 B/s\r\n%%\r\n{shaper, normal, {maxrate, 1000}}.\r\n\r\n%%\r\n%% The \"fast\" shaper limits traffic speed to 50.000 B/s\r\n%%\r\n{shaper, fast, {maxrate, 50000}}.\r\n\r\n\r\n%%%   ====================\r\n%%%   ACCESS CONTROL LISTS\r\n\r\n%%\r\n%% The 'admin' ACL grants administrative privileges to Jabber accounts.\r\n%% You can put as many accounts as you want.\r\n%%\r\n%%{acl, admin, {user, \"aleksey\", \"localhost\"}}.\r\n{acl, admin, {user, \"admin\", \"FQDN\"}}.\r\n\r\n%%\r\n%% Blocked users\r\n%%\r\n%%{acl, blocked, {user, \"baduser\", \"example.org\"}}.\r\n%%{acl, blocked, {user, \"test\"}}.\r\n\r\n%%\r\n%% Local users: don't modify this line.\r\n%%\r\n{acl, local, {user_regexp, \"\"}}.\r\n\r\n%%\r\n%% More examples of ACLs\r\n%%\r\n%%{acl, jabberorg, {server, \"jabber.org\"}}.\r\n%%{acl, aleksey, {user, \"aleksey\", \"jabber.ru\"}}.\r\n%%{acl, test, {user_regexp, \"^test\"}}.\r\n%%{acl, test, {user_glob, \"test*\"}}.\r\n\r\n%%\r\n%% Define specific ACLs in a virtual host.\r\n%%\r\n%%{host_config, \"localhost\",\r\n%% [\r\n%%  {acl, admin, {user, \"bob-local\", \"localhost\"}}\r\n%% ]\r\n%%}.\r\n\r\n\r\n%%%   ============\r\n%%%   ACCESS RULES\r\n\r\n%% Define the maximum number of time a single user is allowed to connect:\r\n{access, max_user_sessions, [{10, all}]}.\r\n\r\n%% Maximum number of offline messages that users can have:\r\n{access, max_user_offline_messages, [{5000, admin}, {100, all}]}. \r\n\r\n%% This rule allows access only for local users:\r\n{access, local, [{allow, local}]}.\r\n\r\n%% Only non-blocked users can use c2s connections:\r\n{access, c2s, [{deny, blocked},\r\n\t       {allow, all}]}.\r\n\r\n%% For all users except admins used \"normal\" shaper\r\n{access, c2s_shaper, [{none, admin},\r\n\t\t      {fast, all}]}.\r\n\r\n%% For all S2S connections used \"fast\" shaper\r\n{access, s2s_shaper, [{fast, all}]}.\r\n\r\n%% Only admins can send announcement messages:\r\n{access, announce, [{allow, admin}]}.\r\n\r\n%% Only admins can use configuration interface:\r\n{access, configure, [{allow, admin}]}.\r\n\r\n%% Admins of this server are also admins of MUC service:\r\n{access, muc_admin, [{allow, admin}]}.\r\n\r\n%% Local users are allowed to MUC_create:\r\n{access, muc_create, [{allow, local}]}.\r\n\r\n%% All users are allowed to use MUC service:\r\n{access, muc, [{allow, all}]}.\r\n\r\n%% No username can be registered via in-band registration:\r\n%% To enable in-band registration, replace 'deny' with 'allow'\r\n% (note that if you remove mod_register from modules list then users will not\r\n% be able to change their password as well as register).\r\n% This setting is default because it's more safe.\r\n{access, register, [{deny, all}]}.\r\n\r\n%% By default frequency of account registrations from the same IP\r\n%% is limited to 1 account every 10 minutes. To disable put: infinity\r\n{registration_timeout, infinity}.\r\n\r\n%% Everybody can create pubsub nodes\r\n{access, pubsub_createnode, [{allow, all}]}.\r\n\r\n%% Everybody can Register\r\n{access, register, [{allow, all}]}.\r\n\r\n%% Admins have xmlrpcaccess\r\n{access, xmlrpcaccess, [{allow, admin}]}.\r\n\r\n\r\n%%\r\n%% Define specific Access rules in a virtual host.\r\n%%\r\n%%{host_config, \"localhost\",\r\n%% [\r\n%%  {access, c2s, [{allow, admin}, {deny, all}]},\r\n%%  {access, register, [{deny, all}]}\r\n%% ]\r\n%%}.\r\n\r\n\r\n%%%   ================\r\n%%%   DEFAULT LANGUAGE\r\n\r\n%%\r\n%% language: Default language used for server messages.\r\n%%\r\n{language, \"de\"}.\r\n\r\n%%\r\n%% Set a different default language in a virtual host.\r\n%%\r\n%%{host_config, \"localhost\",\r\n%% [{language, \"ru\"}]\r\n%%}.\r\n\r\n\r\n%%%   =======\r\n%%%   CAPTCHA\r\n\r\n%%\r\n%% Full path to a script that generates the image.\r\n%% Note that this script must be made executable\r\n%% for the user ejabberd:ejabberd.\r\n%%\r\n%%{captcha_cmd, \"/usr/lib/ejabberd/priv/bin/captcha.sh\"}.\r\n\r\n%%\r\n%% Host part of the URL sent to the user.\r\n%% The port specified must be configured as the \"ejabberd_http\"\r\n%% listener which must have the \"captcha\" directive included\r\n%% in its configuration (see the \"LISTENING PORTS\" section above).\r\n%%\r\n%%{captcha_host, \"localhost:5280\"}.\r\n\r\n\r\n%%%   =======\r\n%%%   MODULES\r\n\r\n%%\r\n%% Modules enabled in all ejabberd virtual hosts.\r\n%%\r\n{modules,\r\n [\r\n  {mod_adhoc,    []},\r\n  {mod_announce, [{access, announce}]}, % requires mod_adhoc\r\n  {mod_caps,     []},\r\n  {mod_configure,[]}, % requires mod_adhoc\r\n  {mod_disco,    []},\r\n  {mod_http_bind, [{max_inactivity, 400}]},\r\n  %%{mod_echo,   [{host, \"echo.localhost\"}]},\r\n  {mod_irc,      []},\r\n  %% NOTE that mod_http_fileserver must also be enabled in the\r\n  %% \"request_handlers\" clause of the \"ejabberd_http\" listener\r\n  %% configuration (see the \"LISTENING PORTS\" section above).\r\n  %%{mod_http_fileserver, [\r\n  %%                       {docroot, \"/var/www\"}, \r\n  %%                       {accesslog, \"/var/log/ejabberd/access.log\"}\r\n  %%                      ]},\r\n  {mod_last,     []},\r\n  {mod_muc,      [\r\n\t\t  %%{host, \"conference.@HOST@\"},\r\n\t\t  {access, muc},\r\n\t\t  %%{access_create, muc},\r\n\t\t  {access_create, muc_create},\r\n\t\t  %%{access_persistent, muc},\r\n\t\t  {access_persistent, muc_create},\r\n\t\t  {access_admin, muc_admin}\r\n\t\t  %%{max_users, 500}\r\n\t\t ]},\r\n  %%{mod_muc_log,[]},\r\n  {mod_offline,  []},\r\n  %%{mod_offline,  [{access_max_user_messages, max_user_offline_messages}]},\r\n  {mod_privacy,  []},\r\n  {mod_private,  []},\r\n  %%{mod_proxy65,  [\r\n\t\t  %%{access, local},\r\n\t\t  %%{shaper, c2s_shaper}\r\n\t\t %%]},\r\n\r\n  {mod_pubsub,  [\r\n\t\t  {access_createnode, pubsub_createnode},\r\n\t\t  {ignore_pep_from_offline, true},\r\n\t\t  {last_item_cache, false},\r\n\t\t  {max_items_node, 1000},\r\n\t\t  {plugins, [\"flat\", \"hometree\", \"pep\"]} % pep requires mod_caps\r\n\t\t ]},\r\n\r\n  %%{mod_pubsub,   [ % requires mod_caps\r\n\t\t  %%{access_createnode, pubsub_createnode},\r\n\t\t  %%{pep_sendlast_offline, false},\r\n\t\t  %%{last_item_cache, false},\r\n\t\t  %%{plugins, [\"default\", \"pep\"]}\r\n\t\t  %%{plugins, [\"flat\", \"hometree\", \"pep\"]}  % pep requires mod_caps\r\n\t\t %%]},\r\n  {mod_register, [\r\n\t\t  %%\r\n\t\t  %% After successful registration, the user receives\r\n\t\t  %% a message with this subject and body.\r\n\t\t  %%\r\n\t\t  {welcome_message, {\"Welcome!\",\r\n\t\t\t\t     \"Welcome to Jabber configured for Archipel Orchestrator. \"\r\n\t\t\t\t     \"For information about Jabber visit \"\r\n\t\t\t\t     \"http://www.jabber.org\"}},\r\n\t\t  %% Replace it with 'none' if you don't want to send such message:\r\n\t\t  %%{welcome_message, none},\r\n\r\n\t\t  %%\r\n\t\t  %% When a user registers, send a notification to\r\n\t\t  %% these Jabber accounts.\r\n\t\t  %%\r\n\t\t  %%{registration_watchers, [\"admin1@example.org\"]},\r\n\r\n\t\t  {access, register}\r\n\t\t ]},\r\n  {mod_roster,   []},\r\n  %%{mod_service_log,[]},\r\n  {mod_shared_roster,[]},\r\n  %%{mod_stats,    []},\r\n  {mod_time,     []},\r\n  {mod_vcard,    []},\r\n  {mod_version,  []},\r\n  {mod_admin_extra, []}\r\n ]}.\r\n\r\n%%\r\n%% Enable modules with custom options in a specific virtual host\r\n%%\r\n%%{host_config, \"localhost\",\r\n%% [{{add, modules},\r\n%%   [\r\n%%    {mod_echo, [{host, \"mirror.localhost\"}]}\r\n%%   ]\r\n%%  }\r\n%% ]}.\r\n\r\n\r\n%%% $Id: ejabberd.cfg.example 2497 2009-08-17 20:27:28Z cromain $\r\n\r\n%%% Local Variables:\r\n%%% mode: erlang\r\n%%% End:\r\n%%% vim: set filetype=erlang tabstop=8:\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/ArchipelProject/Archipel/issues/comments/140523686","html_url":"https://github.com/ArchipelProject/Archipel/issues/1155#issuecomment-140523686","issue_url":"https://api.github.com/repos/ArchipelProject/Archipel/issues/1155","id":140523686,"user":{"login":"CyrilPeponnet","id":2277387,"avatar_url":"https://avatars.githubusercontent.com/u/2277387?v=3","gravatar_id":"","url":"https://api.github.com/users/CyrilPeponnet","html_url":"https://github.com/CyrilPeponnet","followers_url":"https://api.github.com/users/CyrilPeponnet/followers","following_url":"https://api.github.com/users/CyrilPeponnet/following{/other_user}","gists_url":"https://api.github.com/users/CyrilPeponnet/gists{/gist_id}","starred_url":"https://api.github.com/users/CyrilPeponnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CyrilPeponnet/subscriptions","organizations_url":"https://api.github.com/users/CyrilPeponnet/orgs","repos_url":"https://api.github.com/users/CyrilPeponnet/repos","events_url":"https://api.github.com/users/CyrilPeponnet/events{/privacy}","received_events_url":"https://api.github.com/users/CyrilPeponnet/received_events","type":"User","site_admin":false},"created_at":"2015-09-15T20:11:44Z","updated_at":"2015-09-15T20:11:44Z","body":"Glad it works for you.\n> On Sep 15, 2015, at 1:10 PM, explanar <notifications@github.com> wrote:\n> \n> and it did.\n> Hypervisor fqdn@fqdn is also online in archipel Client after Login.\n> This solution should be enough general to close this issue.\n> \n> —\n> Reply to this email directly or view it on GitHub <https://github.com/ArchipelProject/Archipel/issues/1155#issuecomment-140523509>.\n> \n\n"}}