Centos 5.x
1 2 | wget http: //dl .fedoraproject.org /pub/epel/5/x86_64/epel-release-5-4 .noarch.rpm sudo rpm -Uvh epel-release-5*.rpm |
Centos 6.x
1 2 | wget http: //dl .fedoraproject.org /pub/epel/6/x86_64/epel-release-6-8 .noarch.rpm sudo rpm -Uvh epel-release-6*.rpm |
2. Install ejabberd2
1 | yum --enablerepo=epel install ejabberd |
3. Start the ejabberd2 service
1 | service ejabberd start |
4. Edit the virtual hosts configuration file and add
1 2 3 | ProxyPass /http-bind http: //127 .0.0.1:5280 /http-bind/ ProxyPassReverse /http-bind http: //127 .0.0.1:5280 /http-bind/ Header set Access-Control-Allow-Origin "YOUR_VIRTUAL_SERVER_HOSTNAME" |
(please note that using "Header set Access-Control-Allow-Origin" enables Cross-origin resource sharing and using a wildcard as origin should not normally be used)
This is generally not appropriate. The only case where this is appropriate is when a page or api response is considered completely public content and it is intended to be accessible to browsable to everyone. Including any code on any site.
(http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)
5. Test configuration
1 | service httpd configtest |
6. Reload apache configuration
1 | service httpd reload |
Since ejabberd comes with http-bind enabled out of the box
{5280, ejabberd_http, [ %%{request_handlers, %% [ %% {["pub", "archive"], mod_http_fileserver} %% ]}, captcha, http_bind, http_poll, %%register, web_admin ]}
you should now be able to access the XMPP over BOSH (XEP-0206) server in your browser looking somewhat like below.