<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux Admin Zone &#187; jabber server</title>
	<atom:link href="http://linuxadminzone.com/tag/jabber-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://linuxadminzone.com</link>
	<description>Adding more reasons to celebrate Open Source.</description>
	<lastBuildDate>Wed, 09 May 2012 10:17:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Install and configure ejabberd jabber IM Server</title>
		<link>http://linuxadminzone.com/install-and-configure-ejabberd-jabber-im-server/</link>
		<comments>http://linuxadminzone.com/install-and-configure-ejabberd-jabber-im-server/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 07:56:07 +0000</pubDate>
		<dc:creator>jagbir</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[ejabberd]]></category>
		<category><![CDATA[im server]]></category>
		<category><![CDATA[jabber server]]></category>
		<category><![CDATA[messaging]]></category>

		<guid isPermaLink="false">http://linuxadminzone.com/?p=20</guid>
		<description><![CDATA[ejabberd, as described in its home page: &#8221; ejabberd is a distributed, fault-tolerant technology that allows the creation of large-scale instant messaging applications.The server can reliably support thousands of simultaneous users on a single node and has been designed to provide exceptional standards of fault tolerance. As an open source technology, based on industry-standards, ejabberd [...]]]></description>
			<content:encoded><![CDATA[<p><strong>ejabberd</strong>, as described in its <a href="http://www.process-one.net/en/ejabberd/">home page</a>:<br />
&#8221; ejabberd is a distributed, fault-tolerant technology that allows the creation of large-scale instant messaging applications.The server can reliably support thousands of simultaneous users on a single node and has been designed to provide exceptional standards of fault tolerance. As an open source technology, based on industry-standards, ejabberd can be used to build bespoke solutions very cost effectively.&#8221;</p>
<p>Describing here Instructions I followed to install and configure ejabberd in CentOS 5:</p>
<p><strong>Step 1.</strong> Download the current stable version of ejabberd from its <a href="http://www.process-one.net/en/ejabberd/downloads">official site</a>. While writing this article the stable version was 2.0.6. I&#8217;ve download the binary file for 32 bit Linux machine and uncompress it:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>opt
$ <span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.process-one.net<span style="color: #000000; font-weight: bold;">/</span>downloads<span style="color: #000000; font-weight: bold;">/</span>ejabberd<span style="color: #000000; font-weight: bold;">/</span>2.1.6<span style="color: #000000; font-weight: bold;">/</span>ejabberd-2.1.6-linux-x86-installer.bin.gz 
$ <span style="color: #c20cb9; font-weight: bold;">gunzip</span> ejabberd-2.1.6-linux-x86-installer.bin.gz
$ <span style="color: #c20cb9; font-weight: bold;">chmod</span> +x ejabberd-2.1.6-linux-x86-installer.bin</pre></div></div>

<p>and execute the installer:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ .<span style="color: #000000; font-weight: bold;">/</span>ejabberd-2.1.6-linux-x86-installer.bin</pre></div></div>

<p>The installer begins and completes few steps like asking you to accept license, enter hostname for server (something like im.example.com), administrator username and password, select location (in my case, its /opt/ejabberd-2.1.6/) to install etc. It should install quickly without any problem. </p>
<p><strong>Step 3.</strong> Start the Server:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>ejabberd-2.1.6<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>ejabberdctl start</pre></div></div>

<p>ejabberd will be started. You should be able to get its admin interface using port 5280. If your server has GUI installed, open your favorite browser and enter: http://localhost:5280/admin/, in case GUI not there (as common in Servers), you can follow <a href="http://linuxadminzone.com/ssh-port-forwarding-from-remote-to-local-machine/">SSH port forwarding tutorial</a> from this site to access its Web Admin Interface in your machine.</p>
<p>Enter the username and password you created when installation in web admin interface authentication. You should be able to several menu items. Let&#8217;s create some users now for testing purposes: select &#8216;Virtual Host&#8217; option, then the hostname of your server (initially you should see only one host i.e. im.example.com), select it. You should see several menu options, there&#8217;s an option there named &#8216;Users&#8217;. select it to create a new user and see the list of existing users, if any. </p>
<p>Update your DNS Server to include your new Jabber Server and Test it out with your favourite client. Some popular IM Clients which support Jabber are: <a href="http://pidgin.im/download/">Pidgin</a>, <a href="http://www.softpedia.com/get/Internet/Chat/Instant-Messaging/SoapBox.shtml">Soapbox</a>, <a href="http://psi-im.org/">Psi</a>, <a href="http://code.google.com/p/exodus/">Exodus</a> etc.</p>
<p><strong>Step 4.</strong> Configure ejabberd<br />
We will now update configuration of ejabberd to suite our taste. Please note that these settings are entirely optional.</p>
<p>* <strong>Max Sessions</strong>: A user can connect/login from one location at a time. (by default, a user can simultaneously connect from 10 locations).<br />
Solution: open config file (/opt/ejabberd-2.1.6/conf/ejabberd.cfg), jump to line number 333 and change default 10 to 1. or search for &#8216;max_user_sessions&#8217; if you dont find the line.</p>
<p>* <strong>vCards</strong>: Better support for vCards, like easy searching for people.<br />
Solution: Goto line 433 (or search for mod_vcard) and enter following inside capital brakets []:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#123;</span>search, <span style="color: #c20cb9; font-weight: bold;">true</span><span style="color: #7a0874; font-weight: bold;">&#125;</span>, <span style="color: #7a0874; font-weight: bold;">&#123;</span>matches, infinity<span style="color: #7a0874; font-weight: bold;">&#125;</span>, <span style="color: #7a0874; font-weight: bold;">&#123;</span>allow_return_all, <span style="color: #c20cb9; font-weight: bold;">true</span><span style="color: #7a0874; font-weight: bold;">&#125;</span>, <span style="color: #7a0874; font-weight: bold;">&#123;</span>search_all_hosts, <span style="color: #c20cb9; font-weight: bold;">false</span><span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p>* <strong>Administrative Rights</strong>: Assign admin rights to some users so that they can perform administrative tasks.<br />
Solution: Goto line 306 (or search for &#8216;acl, admin&#8217;) and add lines for each user whom you want to assing admin rights, such as:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#123;</span>acl, admin, <span style="color: #7a0874; font-weight: bold;">&#123;</span>user, <span style="color: #ff0000;">&quot;admin&quot;</span>, <span style="color: #ff0000;">&quot;im.example.com&quot;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span>.
<span style="color: #7a0874; font-weight: bold;">&#123;</span>acl, admin, <span style="color: #7a0874; font-weight: bold;">&#123;</span>user, <span style="color: #ff0000;">&quot;maharana&quot;</span>, <span style="color: #ff0000;">&quot;im.example.com&quot;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span>.
<span style="color: #7a0874; font-weight: bold;">&#123;</span>acl, admin, <span style="color: #7a0874; font-weight: bold;">&#123;</span>user, <span style="color: #ff0000;">&quot;katrina&quot;</span>, <span style="color: #ff0000;">&quot;im.example.com&quot;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span>.</pre></div></div>

<p>* <strong>External authentication</strong>: Authentication from MySQL Database using external script.<br />
Solution: Comment the line (no. 192 or nearby) which state: {auth_method, internal} and remove comments from line (no. 198 or nearby) and update it with your authentication script path, such as:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#123;</span>auth_method, external<span style="color: #7a0874; font-weight: bold;">&#125;</span>.
<span style="color: #7a0874; font-weight: bold;">&#123;</span>extauth_program, <span style="color: #ff0000;">&quot;php /opt/ejabberd-2.1.6/auth/jabber_ext_auth.php&quot;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span>.</pre></div></div>

<p>Save the config file and restart the ejabberd Server.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>ejabberd-2.1.6<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>ejabberdctl restart</pre></div></div>

<p>Check it now and let me know if there&#8217;s any issue via posting comment here.</p>
<p>You may also like to read:<br />
* <a href="http://linuxadminzone.com/5-steps-to-secure-your-linux-server/"> 5 steps to secure your Linux Server </a><br />
* <a href="http://linuxadminzone.com/ensuring-secure-access-to-production-linux-servers/"> Ensuring secure access to production Linux Servers </a><br />
* <a href="http://linuxadminzone.com/bash-script-to-backup-essential-log-files-of-linux-server/"> Bash script to backup essential log files in Linux </a><br />
* <a href="http://linuxadminzone.com/quickly-change-your-ssh-port-from-default-22-to-something-higher/"> Quickly change your ssh port from defualt 22 to something higher </a><br />
* <a href="http://linuxadminzone.com/ssh-port-forwarding-from-remote-to-local-machine/"> SSH port forwarding from remote to local machine </a><br />
* <a href="http://linuxadminzone.com/save-root-or-user-history-to-check-later/"> Save root or user history to check later </a><br />
* <a href="http://linuxadminzone.com/install-and-configure-denyhost/"> Install and configure denyhost to prevent brute force attacks </a></p>
]]></content:encoded>
			<wfw:commentRss>http://linuxadminzone.com/install-and-configure-ejabberd-jabber-im-server/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

