<?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 Club &#187; Technical Articles</title>
	<atom:link href="http://linuxclub.zonixsystems.com/blog/category/technical-articles/feed/" rel="self" type="application/rss+xml" />
	<link>http://linuxclub.zonixsystems.com</link>
	<description>Linux Club</description>
	<lastBuildDate>Fri, 11 Mar 2011 13:26:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>How to do Reverse Proxying in Apache</title>
		<link>http://linuxclub.zonixsystems.com/blog/technical-articles/proxy-server/how-to-do-reverse-proxying-in-apache/</link>
		<comments>http://linuxclub.zonixsystems.com/blog/technical-articles/proxy-server/how-to-do-reverse-proxying-in-apache/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 13:26:35 +0000</pubDate>
		<dc:creator>Ashish</dc:creator>
				<category><![CDATA[Proxy Server]]></category>

		<guid isPermaLink="false">http://linuxclub.zonixsystems.com/?p=128</guid>
		<description><![CDATA[Reverse proxy: A reverse proxy is a proxy server that is installed on a server network or on network equipment. Typically, reverse proxies are used in front of Web servers. All connections coming from the Internet addressed to one of the Web servers are routed through the proxy server, which may either deal with the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fproxy-server%2Fhow-to-do-reverse-proxying-in-apache%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fproxy-server%2Fhow-to-do-reverse-proxying-in-apache%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Reverse proxy</strong>:</p>
<p>A reverse proxy is a proxy  server that is installed on a server network or on network equipment.  Typically, reverse proxies are used in front of Web servers. All  connections coming from the Internet addressed to one of the Web servers  are routed through the proxy server, which may either deal with the  request itself or pass the request wholly or partially to the main web  servers. This is useful to hide the real origin server from the client  for security reasons, or to dispatch in-bound network traffic to a set  of servers, presenting a single interface to the caller, by making load  balancing among a cluster of servers.</p>
<p>There are several reasons for installing reverse proxy servers:  1<strong>.Security</strong>-Reverse proxies provide an additional layer of defense by  masking the web server behind the proxy. Reverse proxies can also  provide Application firewall features, to protect against common  web-based attacks.</p>
<p>2. <strong>Encryption / SSL acceleration</strong>: when secure websites are created,  the SSL encryption is sometimes not done by the Web server itself, but  offloaded to a reverse proxy that may be equipped with SSL acceleration  hardware.</p>
<p>3.<strong>Load distributio</strong>n: the reverse proxy can distribute the load to several servers, each server serving its own application area.</p>
<p>4.<strong>Caching</strong>: A reverse proxy can offload the Web servers by caching  static content, such as images, as well as dynamic content, such as a  web page rendered by PHP.</p>
<p>Configure the Reverse Proxying:</p>
<p>Suppose you have a live web server a.b.c.d and one or two web servers  running in private network like (e.f.g.h and i.j.k.l), to access any  application running on private server from Live ip procced the following  procedure :</p>
<p>1.First be ensured that following modules are installed (come with default configuration of apache):</p>
<p>1(a).mod_proxy</p>
<p>1(b).mod_proxy_html</p>
<p>1(c).mod_proxy_ftp</p>
<p>1(d).mod_proxy_connect</p>
<p>2.Then change the directory to /etc/httpd/conf.d (of the live server)  there you will find a file named proxy.conf  , in that file append the  following lines :</p>
<p># create new</p>
<p># a directory you’d like to foward</p>
<p># a destination directory that is forwared</p>
<p>ProxyPass <a href="http://e.f.g.h/application/">http://e.f.g.h/application/</a></p>
<p>ProxyPassReverse <a href="http://e.f.g.h/application/">http://e.f.g.h/application/</a> ,</p>
<p>close the file and restart the apache service :</p>
<p>/etc/init.d/httpd restart</p>
<p>chkconfig httpd on</p>
<p>Check if above procedure works:</p>
<p>Browse the link: <a href="http://a.b.c.d/application/">http://a.b.c.d/application/</a></p>
<p>Thanks</p>
<p>Ashish Nagar</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxclub.zonixsystems.com/blog/technical-articles/proxy-server/how-to-do-reverse-proxying-in-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Setup Subversion on Ubuntu</title>
		<link>http://linuxclub.zonixsystems.com/blog/technical-articles/version-control/how-to-setup-subversion-on-ubuntu/</link>
		<comments>http://linuxclub.zonixsystems.com/blog/technical-articles/version-control/how-to-setup-subversion-on-ubuntu/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 06:46:30 +0000</pubDate>
		<dc:creator>Tushar Gupta</dc:creator>
				<category><![CDATA[Version Control]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[ubuntu svn]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://linuxclub.zonixsystems.com/?p=92</guid>
		<description><![CDATA[For our software development we use Subversion &#8211; a powerful free tool for version control of files. Any file types are supported, even binary files. To be able to work with Subversion you have to setup a Subversion server. Then you can access the server from Subversion clients. This blog entry shows one way to [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fversion-control%2Fhow-to-setup-subversion-on-ubuntu%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fversion-control%2Fhow-to-setup-subversion-on-ubuntu%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: justify;">For our software development we use Subversion &#8211; a powerful free tool for version control of files. Any file types are supported, even binary files. To be able to work with Subversion you have to setup a Subversion server. Then you can access the server from Subversion clients.</p>
<p style="text-align: justify;">This blog entry shows one way to setup Subversion server on a Linux machine.</p>
<p style="text-align: justify;">Everything you need to type in the same way as in the text is bold. Everything you can/should change is <em>italic.</em></p>
<p style="text-align: justify;">1. Install Subversion using a graphical package manager or with the following command:</p>
<pre class="brush: bash;">
sudo apt-get install subversion
</pre>
<p style="text-align: justify;">Do not type the $ &#8211; this is just the prompt sign. For Ubuntu users:If your package manager can not find Subversion append the following line to the file /etc/apt/sources.list.<strong> </strong></p>
<pre class="brush: bash;">
deb http://fr.archive.ubuntu.com/ubuntu hardy-backports main
</pre>
<p style="text-align: justify;">You must be root to change the file.</p>
<p>2. Create a new user</p>
<p>Now create a new user on your Linux system. I recommend to call the user <em>svn</em>.</p>
<p>3. Create an empty repository</p>
<p>Login as svn. Type the following commands to create a new folder /home/svn/repositories.<strong> </strong></p>
<pre class="brush: bash;">
cd /home/svn
mkdir repositories
cd repositories
</pre>
<p>Create a new repositoriy called myrepos:<strong></strong></p>
<pre class="brush: bash;">
svnadmin create myrepos
</pre>
<p>Nobody else than svn should be able to read/write the repository. So type:<strong></strong></p>
<pre class="brush: bash;">
chmod 700 myrepos
</pre>
<p>Start Subversion server as a daemon:</p>
<pre class="brush: bash;">
svnserve −−daemon −−root /home/svn/repositories
</pre>
<p>4. Subversion Server Configuration</p>
<p>Now we need to tell Subversion that it should use authorization to access it. I recommend the following settings.<strong></strong></p>
<pre class="brush: bash;">
cd /home/svn/repositories/myrepos/conf
nano svnserve.conf
</pre>
<p>Under [general] change the appropriate lines as followed:</p>
<p>Do not allow anonymous access at all.<strong></strong></p>
<pre class="brush: plain;">
anon-access = none
</pre>
<p>Authenticated write access is allowed.<strong></strong></p>
<pre class="brush: plain;">
auth-access = write
</pre>
<p>Uncomment the line below to use the default password file.<strong></strong></p>
<pre class="brush: plain;">
password-db = passwd
</pre>
<p style="text-align: justify;">Now we have got an empty Suberversion repository. But in this state nobody can work with it. We need to allow at least one user to work with it.</p>
<p>5. Add a new user</p>
<p>Go to the conf folder with</p>
<pre class="brush: bash;">
cd /home/svn/repositories/myrepos/conf
nano passwd
</pre>
<p>Insert a new line with name and password of the new user like:<br />
<em>john = kdieu30975j</em></p>
<p style="text-align: justify;">Take care that you use a different password and don’t use the example accidentally.</p>
<p style="text-align: justify;">6. Check out the empty repository locally</p>
<p style="text-align: justify;">Now the new user john can work with the repository. First he needs to check it out to his local machine. So do the following at the machine of the user; not at the server!</p>
<p style="text-align: justify;">Go to the place you want to have the repository checked out. Let’s assume it is the following:</p>
<pre class="brush: bash;">
cd ~/code/
</pre>
<p style="text-align: justify;">Let’s assume you want to have your repository in a folder called work. Check out the empty repository with:</p>
<pre class="brush: bash;">
svn checkout −−username john svn://www.server.com/myrepos work
</pre>
<p style="text-align: justify;">Please don’t forget to use your server instead of the example. You can use an IP address as well.</p>
<p>7. First check in</p>
<p style="text-align: justify;">Now you have got an empty repository. You can start to populate it with files. Just copy the files and folders you want to have into the new <em>work</em> folder. Go to your repository with:</p>
<pre class="brush: bash;">
cd /~/code/work
</pre>
<p>Assuming you added a folder www you can add it with:</p>
<pre class="brush: bash;">
svn add www
</pre>
<p>… and check it in with:</p>
<pre class="brush: bash;">
svn commit -m “initial files“
</pre>
<p style="text-align: justify;">The option -m is followed by the check in comment. You should comment every check in.</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxclub.zonixsystems.com/blog/technical-articles/version-control/how-to-setup-subversion-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eBox lnstallation over Linux</title>
		<link>http://linuxclub.zonixsystems.com/blog/technical-articles/network-management-system/ebox-lnstallation-over-linux/</link>
		<comments>http://linuxclub.zonixsystems.com/blog/technical-articles/network-management-system/ebox-lnstallation-over-linux/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 18:06:09 +0000</pubDate>
		<dc:creator>Tushar Gupta</dc:creator>
				<category><![CDATA[Network Management System]]></category>
		<category><![CDATA[ebox]]></category>

		<guid isPermaLink="false">http://linuxclub.zonixsystems.com/?p=78</guid>
		<description><![CDATA[eBox eBox is a web framework used to manage server application configuration. The modular design of eBox allows you to pick and choose which services you want to configure using eBox. Installation The different eBox modules are split into different packages, allowing you to only install those necessary. One way to view the available packages [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fnetwork-management-system%2Febox-lnstallation-over-linux%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fnetwork-management-system%2Febox-lnstallation-over-linux%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>eBox</strong></p>
<p style="text-align: justify;">eBox is a web framework used to manage server application configuration. The modular design of eBox allows you to pick and choose which services you want to configure using eBox.</p>
<p style="text-align: justify;"><strong>Installation</strong></p>
<p style="text-align: justify;">The different eBox modules are split into different packages, allowing you to only install those necessary. One way to view the available packages is to enter the following from a terminal:</p>
<pre class="brush: bash;">
apt-cache rdepends ebox | uniq
</pre>
<p style="text-align: justify;">To install the ebox package, which contains the default modules, execute the following command:</p>
<pre class="brush: bash;">
sudo apt-get install ebox
</pre>
<p style="text-align: justify;">During the installation you will be asked to supply a password for the ebox user. After installing eBox the web interface can be accessed from: <em>https://yourserver/ebox</em>.</p>
<p><strong>Configuration</strong></p>
<p style="text-align: justify;">An important thing to remember when using eBox is that when configuring most modules there is a <em>Change</em> button that implements the new configuration. After clicking the Change button most, but not all, modules will then need to be <em>Saved</em>. To save the new configuration click on the “Save changes” link in the top right hand corner.</p>
<p style="text-align: justify;">Once you make a change that   requires a Save, the link will change from green to red.</p>
<p style="text-align: justify;"><strong>eBox Modules</strong></p>
<p style="text-align: justify;">By default all eBox <em>Modules</em> are not enabled, and when a new module is installed it will not be automatically enabled.</p>
<p style="text-align: justify;">To enable a disabled module click on the <em>Module status</em> link in the left hand menu. Then check which modules you would like to enable and click the “Save” link.</p>
<p style="text-align: justify;"><strong>Default Modules</strong></p>
<p style="text-align: justify;">This section provides a quick summary of the default <strong>eBox</strong> modules.</p>
<ul style="text-align: justify;">
<li><em>System:</em> contains options allowing configuration of general eBox items.
<ul>
<li><em>General:</em> allows you to set the language, port number, and contains a change       password form.</li>
<li><em>Disk Usage:</em> displays a graph detailing information about disk usage.</li>
<li><em>Backup:</em> is used to backup <strong>eBox</strong> configuration information, and the <em>Full       Backup</em> option allows you to save all eBox information not included in       the <em>Configuration</em> option such as log files.</li>
<li><em>Halt/Reboot:</em> will shutdown the system or reboot it.</li>
<li><em>Bug Report:</em> creates a file containing details helpful when reporting bugs to the eBox       developers.</li>
</ul>
</li>
<li><em>Logs:</em> allows <strong>eBox</strong> logs to be queried depending on the purge time      configured.</li>
<li><em>Events:</em> this module has the ability to send alerts through rss, jabber, and log      file.
<ul>
<li><em>Available Events:</em>
<ul>
<li><em>Free Storage Space:</em> will send alert if free disk        space drops below a configured percentage, 10% by default.</li>
<li><em>Log Observer:</em> unfortunately this event        does not work with the eBox version shipped with Ubuntu 7.10.</li>
<li><em>RAID:</em> will monitor the RAID system and send alerts if any issues arise.</li>
<li><em>Service:</em> sends alerts if a service restarts multiple times in a short time period.</li>
<li><em>State:</em> alerts on the state of eBox, either up or down.</li>
</ul>
</li>
<li><em>Dispatchers:</em>
<ul>
<li><em>Log:</em> this dispatcher will send        event messages to the <strong>eBox</strong> log file /var/log/ebox/ebox.log.</li>
<li><em>Jabber:</em> before enabling this        dispatcher you must first configure it by clicking on the “Configure”        icon.</li>
<li style="text-align: justify;"><em>RSS:</em> once this dispatcher is        configured you can subscribe to the link in order to view event alerts.</li>
</ul>
</li>
</ul>
</li>
</ul>
<p style="text-align: justify;"><strong>Additional Modules</strong></p>
<p style="text-align: justify;">Here is a quick description of other available <strong>eBox</strong> modules:</p>
<ul style="text-align: justify;">
<li><em>Network:</em> allows configuration of the server&#8217;s network options through eBox.</li>
<li><em>Firewall:</em> configures firewall options for the eBox host.</li>
<li><em>UsersandGroups:</em> this module will manage users and groups contained in an <strong>OpenLDAP</strong> LDAP directory.</li>
<li><em>DHCP:</em> provides an interface for configuring a DHCP server.</li>
<li><em>DNS:</em> provides <strong>BIND9</strong> DNS server configuration options.</li>
<li><em>Objects:</em> allow configuration of eBox <em>Network Objects</em>, which allow you to      assign a name to an IP address or group of IPs.</li>
<li><em>Services:</em> displays configuration information for services that are available to the      network.</li>
<li><em>Squid:</em> configuration options for the <strong>Squid</strong> proxy server.</li>
<li><em>CA:</em> configures a Certificate Authority for the server.</li>
<li><em>NTP:</em> set Network Time Protocol options.</li>
<li><em>Printers:</em> allows the configuration of printers.</li>
<li><em>Samba:</em> configuration options for Samba.</li>
<li style="text-align: justify;"><em>OpenVPN:</em> setup options for OpenVPN Virtual Private Network application.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://linuxclub.zonixsystems.com/blog/technical-articles/network-management-system/ebox-lnstallation-over-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing vTiger CRM</title>
		<link>http://linuxclub.zonixsystems.com/blog/technical-articles/crm/installing-vtiger-crm/</link>
		<comments>http://linuxclub.zonixsystems.com/blog/technical-articles/crm/installing-vtiger-crm/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 06:13:51 +0000</pubDate>
		<dc:creator>zonixsystems</dc:creator>
				<category><![CDATA[CRM]]></category>
		<category><![CDATA[Customer Relationship Management]]></category>
		<category><![CDATA[vTiger]]></category>

		<guid isPermaLink="false">http://linuxclub.zonixsystems.com/?p=61</guid>
		<description><![CDATA[vTiger is an open source Customer Relationship Management software with somewhat better features than SugarCRM. CRM is highly effective to automate the sales workforce and have better accountability on individual&#8217;s performance. Apart from sales and marketing modules, it also has features to generate Invoices, Purchase orders, sales orders, maintain inventory, etc. Installation of vTiger is [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fcrm%2Finstalling-vtiger-crm%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fcrm%2Finstalling-vtiger-crm%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: justify;">vTiger is an open source Customer Relationship Management software with somewhat better features than SugarCRM. CRM is highly effective to automate the sales workforce and have better accountability on individual&#8217;s performance. Apart from sales and marketing modules, it also has features to generate Invoices, Purchase orders, sales orders, maintain inventory, etc. Installation of vTiger is very simple and straight.</p>
<p style="text-align: justify;">Download Latest Source Code for vtiger from its official website. At the time of writing this document, version 5.1.0 is the latest one. Download it and save it one the server in the /tmp folder.</p>
<p><a href="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/Download.png"><img class="aligncenter size-medium wp-image-62" title="Download" src="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/Download-300x163.png" alt="" width="300" height="163" /></a></p>
<p>Change Directory and download the source.</p>
<pre class="brush: bash;">
cd /tmp
wget –c http://sourceforge.net/projects/vtigercrm/files/vtiger%20CRM%205.1.0/vtigercrm-5.1.0.tar.gz
</pre>
<p>Uncompress the source file</p>
<pre class="brush: bash;">
tar xvzf vtigercrm-5.1.0.tar.gz
</pre>
<p style="text-align: justify;">Move the folder to the webroot with the new folder name of your choice. In this case, vtiger is being configured on Ubuntu hence the default webroot is /var/www/, in Red Hat it would be /var/www/html/.</p>
<pre class="brush: bash;">
mv vtigercrm /var/www/zcrm
</pre>
<p style="text-align: justify;">Change the permissions for the new folder with owner and group as www-data if its being done on Ubuntu Or apache as user and group if its being done on Red Hat.</p>
<pre class="brush: bash;">
chown www-data.www-data /var/www/zcrm –R
</pre>
<p>Start the installation wizard by typing below URL in the browser:</p>
<p>http://IP_ADDRESS_OF_THE_SERVER/zcrm</p>
<p style="text-align: justify;">Once the wizard is started, you would find sequence of below screenshots. Follow the selected options, and enter the required parameters as per your setup.</p>
<p style="text-align: justify;"><a href="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen1.png"><img class="aligncenter size-medium wp-image-63" title="screen1" src="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen1-300x163.png" alt="" width="300" height="163" /></a><a href="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen2.png"><img class="aligncenter size-medium wp-image-64" title="screen2" src="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen2-300x163.png" alt="" width="300" height="163" /></a><a href="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen3.png"><img class="aligncenter size-medium wp-image-65" title="screen3" src="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen3-300x163.png" alt="" width="300" height="163" /></a><a href="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen4.png"><img class="aligncenter size-medium wp-image-66" title="screen4" src="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen4-300x163.png" alt="" width="300" height="163" /></a></p>
<p style="text-align: justify;">Now login to mysql database to create new database and assign a username and password with all the privileges. It is insecure to use root mysql user for any web application to connect with database.</p>
<pre class="brush: bash;">
$mysql –p
mysql&gt;create database zcrm;
mysql&gt;GRANT ALL PRIVILEGES ON zcrm.* TO 'zcrm'@'localhost' IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
</pre>
<p>Replace zcrm.* with the database name you have created, ‘zcrm’@’localhost’ with username, and ‘some_pass’ with the password of your choice.</p>
<p>Now continue with the wizard as below:</p>
<p><a href="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen5.png"><img class="aligncenter size-medium wp-image-67" title="screen5" src="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen5-300x163.png" alt="" width="300" height="163" /></a><a href="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen6.png"><img class="aligncenter size-medium wp-image-68" title="screen6" src="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen6-300x163.png" alt="" width="300" height="163" /></a><a href="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen7.png"><img class="aligncenter size-medium wp-image-69" title="screen7" src="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen7-300x163.png" alt="" width="300" height="163" /></a><a href="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen9.png"><img class="aligncenter size-medium wp-image-71" title="screen9" src="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen9-300x163.png" alt="" width="300" height="163" /></a><a href="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen10.png"><img class="aligncenter size-medium wp-image-72" title="screen10" src="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/08/screen10-300x163.png" alt="" width="300" height="163" /></a></p>
<p>vTiger is now successfully installed.</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxclub.zonixsystems.com/blog/technical-articles/crm/installing-vtiger-crm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing OCS Inventory on Ubuntu</title>
		<link>http://linuxclub.zonixsystems.com/blog/technical-articles/asset-management/installing-ocs-inventory-on-ubuntu/</link>
		<comments>http://linuxclub.zonixsystems.com/blog/technical-articles/asset-management/installing-ocs-inventory-on-ubuntu/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 11:39:44 +0000</pubDate>
		<dc:creator>zonixsystems</dc:creator>
				<category><![CDATA[Asset Management]]></category>
		<category><![CDATA[asset management]]></category>
		<category><![CDATA[hardware audit]]></category>
		<category><![CDATA[inventory]]></category>
		<category><![CDATA[ocs]]></category>
		<category><![CDATA[software audit]]></category>

		<guid isPermaLink="false">http://linuxclub.zonixsystems.com/?p=56</guid>
		<description><![CDATA[OCS is an open source inventory management software to provide detailed statistics on hardware and software usage in any network. Official website for OCS is http://www.ocsinventory-ng.org. To install the OCS Inventory NG, we need to visit the download section from the OCS website. At the time of writing this document, version 1.3.2 is available. Download [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fasset-management%2Finstalling-ocs-inventory-on-ubuntu%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fasset-management%2Finstalling-ocs-inventory-on-ubuntu%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: justify;">OCS is an open source inventory management software to provide detailed statistics on hardware and software usage in any network. Official website for OCS is http://www.ocsinventory-ng.org. To install the OCS Inventory NG, we need to visit the download section from the OCS website. At the time of writing this document, version 1.3.2 is available. Download the package in /var/www/inv directory.</p>
<pre class="brush: bash;">
mkdir /var/www/inv
cd /var/www/inv/
</pre>
<p style="text-align: justify;">Before we start with the OCS installation, we need to install few perquisite software using apt-get:</p>
<pre class="brush: bash;">
apt-get install mc openssh-server libxml-simple-perl libcompress-zlib-perl libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl php5-gd build-essential libapache2-mod-perl2
</pre>
<p style="text-align: justify;">Another perl module XML::Entities that is required for SOAP communication can be installed using perl cpan. Execute cpan command and answer the sequence of questions to get the cpan prompt and then install XML::Entities module as shown below:</p>
<pre class="brush: bash;">
cpan
cpan&gt; install XML::Entities
</pre>
<p style="text-align: justify;">Download the OCS package from the website as shown below:</p>
<pre class="brush: bash;">
wget -c http://launchpad.net/ocsinventory-server/stable-1.3/1.3.2/+download/OCSNG_UNIX_SERVER-1.3.2.tar.gz
</pre>
<p style="text-align: justify;">Uncompress the downloaded file:</p>
<pre class="brush: bash;">
tar xvzf OCSNG_UNIX_SERVER-1.3.2.tar.gz
</pre>
<p style="text-align: justify;">Files will be uncompressed under the directory which needs to be moved to the base directory.</p>
<pre class="brush: bash;">
mv OCSNG_UNIX_SERVER-1.3.2/* .
</pre>
<p style="text-align: justify;">Setup requires ocsagent.exe file to be located in “files” folder, so change the directory to ocsreports/files and download the agent file from the OCS official website and unzip the file as shown below:</p>
<pre class="brush: bash;">
cd /usr/share/ocsinventory-reports/ocsreports
cd files/
wget -c http://launchpad.net/ocsinventory-windows-agent/trunk/win32-agent-release-4061/+download/OCSNG_WINDOWS_AGENT_4061.1.zip
unzip OCSNG_WINDOWS_AGENT_4061.1.zip
</pre>
<p style="text-align: justify;">Now start the setup of OCS using the setup.sh bash file. File will prompt for several questions before completing the installation. Once installed, restart the apache services.</p>
<pre class="brush: bash;">
/etc/init.d/apache2 restart
</pre>
<p style="text-align: justify;">Now access the OCS reports from web console:</p>
<p style="text-align: justify;">http://IP_Address/ocsreports/install.php</p>
<p style="text-align: justify;">Put the root username and password for mysql database and the installer will initialize the database. Now login to the web console of OCS using default credentials, “admin”:”admin” (without quotes).</p>
<p style="text-align: justify;">On the client side, unzip the agent component and in the installation wizard provide with the server IP address. Once the script is executed, software and hardware details from the client machine will be visible in OCS console.</p>
<p style="text-align: justify;">Check the firewall settings in workstation/server if the data doesn’t get populated.</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxclub.zonixsystems.com/blog/technical-articles/asset-management/installing-ocs-inventory-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VirtualBox on Ubuntu Lucid</title>
		<link>http://linuxclub.zonixsystems.com/blog/technical-articles/virtualization/virtualbox-on-ubuntu-lucid/</link>
		<comments>http://linuxclub.zonixsystems.com/blog/technical-articles/virtualization/virtualbox-on-ubuntu-lucid/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 13:21:53 +0000</pubDate>
		<dc:creator>zonixsystems</dc:creator>
				<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[lucid lynx]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://linuxclub.zonixsystems.com/?p=47</guid>
		<description><![CDATA[Article suggests the step-by-step procedure to install VirtualBox on Ubuntu 10.04 (Lucid Lynx), the latest version of Ubuntu as on date of writing this article. Similar procedure should work on other Ubuntu versions. VirtualBox is a virtualization software using which we would install other operating systems as guest operating systems on the top of host [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fvirtualization%2Fvirtualbox-on-ubuntu-lucid%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fvirtualization%2Fvirtualbox-on-ubuntu-lucid%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: justify;">Article suggests the step-by-step procedure to install VirtualBox on Ubuntu 10.04 (Lucid Lynx), the latest version of Ubuntu as on date of writing this article. Similar procedure should work on other Ubuntu versions. VirtualBox is a virtualization software using which we would install other operating systems as guest operating systems on the top of host operating system, which is Ubuntu 10.04 server in this case.</p>
<p style="text-align: justify;">Installing VirtualBox on Ubuntu 10.04 is fairly simple and straight forward. Firstly, install the pre-requisites on Ubuntu, these are the software required to compile VirtualBox on the system. Use apt-get to install these as shown below:</p>
<p style="text-align: justify;">
<pre class="brush: bash;">
apt-get install bcc iasl xsltproc xalan libxalan110-dev uuid-dev zlib1g-dev libidl-dev libsdl1.2-dev libxcursor-dev libqt3-headers libqt3-mt-dev libasound2-dev linux-headers-`uname -r` build-essential libqt4-network libqt4-opengl libqtcore4 libqtgui4
</pre>
<p style="text-align: justify;">It will take a while to install a long list of software. Once installation is completed successfully, download the VirtualBox software from its official website: http://www.virtualbox.org/wiki/Linux_Downloads. Pick the one as per your Linux version and processor type, in our case, we picked up the latest one for Lycid and i386 processors: http://download.virtualbox.org/virtualbox/3.2.6/virtualbox-3.2_3.2.6-63112~Ubuntu~lucid_i386.deb. Download and install it as shown below:</p>
<p style="text-align: justify;">
<pre class="brush: bash;">
cd temp
wget -c http://download.virtualbox.org/virtualbox/3.2.6/virtualbox-3.2_3.2.6-63112~Ubuntu~lucid_i386.deb
dpkg -i virtualbox-3.2_3.2.6-63112~Ubuntu~lucid_i386.deb
</pre>
<p style="text-align: justify;">It will display installation progress messages on the screen and will complete the installation. After successful installation, you may open the VirtualBox screen from below shown menu option:</p>
<p style="text-align: justify;"><a href="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/07/vbox.jpg"><img class="aligncenter size-medium wp-image-48" title="vbox" src="http://linuxclub.zonixsystems.com/wp-content/uploads/2010/07/vbox-300x225.jpg" alt="Virtual Box" width="300" height="225" /></a></p>
<p style="text-align: justify;">Thats about it. Follow the VirtualBox documentation to learn on how to create virtual machines.</p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://linuxclub.zonixsystems.com/blog/technical-articles/virtualization/virtualbox-on-ubuntu-lucid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Network Monitoring using Nagios</title>
		<link>http://linuxclub.zonixsystems.com/blog/technical-articles/network-management-system/network-monitoring-using-nagios/</link>
		<comments>http://linuxclub.zonixsystems.com/blog/technical-articles/network-management-system/network-monitoring-using-nagios/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 07:47:44 +0000</pubDate>
		<dc:creator>zonixsystems</dc:creator>
				<category><![CDATA[Network Management System]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[network management system]]></category>
		<category><![CDATA[network monitoring]]></category>
		<category><![CDATA[nms]]></category>

		<guid isPermaLink="false">http://linuxclub.zonixsystems.com/?p=34</guid>
		<description><![CDATA[Nagios is a popular network monitoring application that helps an administrator to detect the faults in network components. It can also send e-notifications on detection of any fault or outage. Nagios includes following features: 1. Service monitoring (like http, ftp, smtp, dns, ping, etc) 2. Resource monitoring on hosts (like CPU, RAM, HDD, etc.) 3. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fnetwork-management-system%2Fnetwork-monitoring-using-nagios%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fnetwork-management-system%2Fnetwork-monitoring-using-nagios%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: justify;">Nagios is a popular network monitoring application that helps an administrator to detect the faults in network components. It can also send e-notifications on detection of any fault or outage. Nagios includes following features:</p>
<p style="text-align: justify; padding-left: 30px;">1. Service monitoring (like http, ftp, smtp, dns, ping, etc)<br />
2. Resource monitoring on hosts (like CPU, RAM, HDD, etc.)<br />
3. Users can design their own service checks<br />
4. Sending e-notifications during faults or outage<br />
5. Log rotation<br />
6. Support for redundant monitoring hosts implementation<br />
7. Web Monitoring Console</p>
<h4>Licensing</h4>
<p style="text-align: justify;">Nagios is licensed under the terms of the GNU General Public License Version 2 as published by the Free Software Foundation. This gives you legal permission to copy, distribute and/or modify Nagios under certain conditions. Read the &#8216;LICENSE&#8217; file in the Nagios distribution or read the online version of the license for more details.</p>
<h4 style="text-align: justify;">Installation Environment</h4>
<p style="text-align: justify;">This document provides you with fair idea on installation of Nagios on CentOS 4 operating system. The configuration available in this document is to monitor our own servers, and readers may consider this as a quick help to configure more servers as per their monitoring scope and requirements.</p>
<p style="text-align: justify;">&#8220;yum&#8221; is one of the favorite utilities for most of the administrators. And we are going to install Nagios using the same. Nagios is not available in the default repository of Centos and thereby firstly we need to install rpmforge-release, available at DAG&#8217;s rpm repository. Follow below steps to download and install rpmforge-release rpm for Centos 4 and install nagios using &#8220;yum&#8221;.</p>
<h4 style="text-align: justify;">Installation</h4>
<pre class="brush: bash;">
cd /tmp
wget -c http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3...
rpm -ivh rpmforge-release-0.3.6-1.el4.rf.i386.rpm
yum install nagios nagios-plugins nagios-plugins-nrpe nagios-devel
</pre>
<p style="text-align: justify;">After successful installation of Nagios rpms, you will find &#8220;nagios.conf&#8221; file in &#8220;conf.d&#8221; directory of apache. By default, SSL and host based access control is commented in the configuration file. But you may uncomment that to enable further security. Next, we are going to configure a user &#8220;nagiosadmin&#8221; as a admin user that will have the rights to enter into web-console of Nagios.</p>
<pre class="brush: bash;">
htpasswd -c /etc/nagios/htpasswd.users nagiosadmin
</pre>
<p>Above command will prompt for the password as shown below:</p>
<pre class="brush: plain;">
New password:
Re-type new password:
Adding password for user nagiosadmin
</pre>
<p>Search for following parameters in &#8220;/etc/nagios/cgi.cfg&#8221; using &#8216;vi&#8217; editor and replace them with below mentioned:<br />
File: /etc/nagios/cgi.cfg</p>
<pre class="brush: plain;">
use_authentication=1
authorized_for_system_information=nagiosadmin
authorized_for_configuration_information=nagiosadmin
authorized_for_system_commands=nagiosadmin
authorized_for_all_services=nagiosadmin
authorized_for_all_hosts=nagiosadmin
authorized_for_all_service_commands=nagiosadmin
authorized_for_all_host_commands=nagiosadmin
</pre>
<p>Move the file &#8220;localhost.cfg&#8221; in &#8220;/etc/nagios&#8221; to &#8220;localhost.cfg.org&#8221; as we won&#8217;t be using that and are going to monitor remote servers.<br />
Move Default Config.</p>
<pre class="brush: bash;">
cd /etc/nagios
mv localhost.cfg localhost.cfg.org
</pre>
<p>Now edit &#8220;nagios.cfg&#8221; using &#8216;vi&#8217; editor to match below lines and leave the rest of the lines intact.<br />
File: /etc/nagios/nagios.cfg</p>
<pre class="brush: plain;">
#cfg_file=/etc/nagios/localhost.cfg #This is commented as we moved it to localhost.cfg.org
cfg_file=/etc/nagios/contactgroups.cfg
cfg_file=/etc/nagios/contacts.cfg
cfg_file=/etc/nagios/hostgroups.cfg
cfg_file=/etc/nagios/hosts.cfg
cfg_file=/etc/nagios/services.cfg
cfg_file=/etc/nagios/timeperiods.cfg
check_external_commands=1
command_check_interval=-1
</pre>
<p>Now create all the files which have been enabled in above configuration file. Also change the file permissions.<br />
Create config Files</p>
<pre class="brush: bash;">
touch contactgroups.cfg contacts.cfg hostgroups.cfg hosts.cfg services.cfg timeperiods.cfg
chown nagios.nagios contactgroups.cfg contacts.cfg hostgroups.cfg hosts.cfg services.cfg timeperiods.cfg
</pre>
<p style="text-align: justify;">We need to place the required contents into created files. Let us start from &#8220;timeperiods.cfg&#8221;. Open this file into &#8216;vi&#8217; editor and configure the timing periods like business hours, off hours, weekends, etc. Below are the contents for the same.<br />
File: /etc/nagios/timeperiods.cfg</p>
<pre class="brush: plain;">
# '24x7' timeperiod definition
define timeperiod{
timeperiod_name 24x7
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}

# 'workhours' timeperiod definition
define timeperiod{
timeperiod_name workhours
alias &quot;Normal&quot; Working Hours
monday 08:00-17:00
tuesday 08:00-17:00
wednesday 08:00-17:00
thursday 08:00-17:00
friday 08:00-17:00
}

# 'nonworkhours' timeperiod definition
define timeperiod{
timeperiod_name nonworkhours
alias Non-Work Hours
sunday 00:00-24:00
monday 00:00-09:00,17:00-24:00
tuesday 00:00-09:00,17:00-24:00
wednesday 00:00-09:00,17:00-24:00
thursday 00:00-09:00,17:00-24:00
friday 00:00-09:00,17:00-24:00
saturday 00:00-24:00
}

# 'none' timeperiod definition
define timeperiod{
timeperiod_name none
alias None
}
</pre>
<p style="text-align: justify;">Configure contact information for the administrators and create administrator group (optional) who should receive the alerts during fault or outage.<br />
File:/etc/nagios/contacts.cfg</p>
<pre class="brush: plain;">
define contact{
contact_name Aggi
alias Aggi
service_notification_period 24x7
host_notification_period 24x7
service_notification_options c,r
host_notification_options d,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email nms_alerts@zonixsystems.com
}

define contact{
contact_name John
alias John
service_notification_period workhours
host_notification_period workhours
service_notification_options c,r
host_notification_options d,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email nms_alerts@zonixsystems.com
}
</pre>
<p>File:/etc/nagios/contactgroups.cfg</p>
<pre class="brush: plain;">
define contactgroup{
contactgroup_name Zonix
alias Zonix
members Aggi,John
}
</pre>
<p style="text-align: justify;">Now configure the hosts and hostgroups (optional) to be monitored in &#8220;/etc/nagios/hosts.cgi&#8221; and &#8220;/etc/nagios/hostgroups.cgi&#8221; respectively.<br />
File:/etc/nagios/hosts.cfg</p>
<pre class="brush: plain;">
# Generic host definitions
define host{
name generic-host ; Generic template name
notifications_enabled 1 ; Host notifications are enabled
event_handler_enabled 1 ; Host event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information
retain_nonstatus_information 1 ; Retain non-status information
register 0 ; DONT REGISTER THIS DEFINITION
}

define host{
name Template1
use generic-host
check_command check-host-alive
max_check_attempts 5
notification_interval 5
notification_period 24x7
notification_options d,u,r
register 0
}

##### Begin Real Hosts #####

define host{
use Template1
host_name mail.zonixsystems.com
alias mail.zonixsystems.com
address 64.191.80.85
contact_groups Zonix
# notification_options d,r #overrides the basic-host option
}
</pre>
<p>File:/etc/nagios/hostgroups.cfg</p>
<pre class="brush: plain;">
define hostgroup{
hostgroup_name Zonix_Servers
alias Zonix_Servers
members mail.zonixsystems.com
}
</pre>
<p style="text-align: justify;">Now configure the services you want to monitor and map the hosts with those services. There are few per-defined services in &#8220;/etc/nagios/commands.cfg&#8221; however you can also configure custom services. Edit &#8220;/etc/nagios/services.cfg&#8221; to define and map services with the hosts you want to configure.<br />
File:/etc/nagios/services.cfg</p>
<pre class="brush: plain;">
define service{
name generic-service ; Generic service name
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 1 ; Passive service checks are enabled/accepted
parallelize_check 1 ; Active service checks should be parallelized
obsess_over_service 1 ; We should obsess over this service
check_freshness 0 ; Default is to NOT check service 'freshness'
notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information
retain_nonstatus_information 1 ; Retain non-status information
register 0 ; DONT REGISTER THIS DEFINITION
}

# Generic for all services
define service{
use generic-service
name basic-service
is_volatile 0
check_period 24x7
max_check_attempts 5
normal_check_interval 1
retry_check_interval 3
notification_interval 0
notification_period none
register 0
}

define service{
use basic-service
name ping-service
notification_options n
check_command check_ping!1000.0,20%!2000.0,60%
register 0
}

define service{
use basic-service
name www-service
notification_options n
check_command check_http
register 0
}
define service{
use basic-service
name mail-service
notification_options n
check_command check_smtp
register 0
}

define service{
use ping-service
service_description PING
contact_groups Zonix
hostgroup_name Zonix_Servers
# host_name one_client
}

define service{
use mail-service
service_description MAIL
contact_groups Zonix
hostgroup_name Zonix_Servers
# host_name one_client
}

define service{
use www-service
service_description WWW
contact_groups Zonix
hostgroup_name Zonix_Servers
# host_name one_client
}
</pre>
<p style="text-align: justify;">In the above configuration, we have used check_ping, check_http and check_smtp commands to monitor servers under Zonix_Servers group. Groups are useful if we need to monitor multiple servers. In this configuration example, we could have used host_name parameter and there should have been no need to configure hostgroups. Now everything is setup and you can make a final testing by using below command to get similar output.</p>
<p>Verify Configuration</p>
<pre class="brush: bash;">
nagios -v nagios.cfg
</pre>
<p>It should result in below output</p>
<pre class="brush: plain;">
Nagios 2.10
Copyright (c) 1999-2007 Ethan Galstad (http://www.nagios.org)
Last Modified: 10-21-2007
License: GPL

Reading configuration data...

Running pre-flight check on configuration data...

Checking services...
Checked 3 services.
Checking hosts...
Checked 1 hosts.
Checking host groups...
Checked 1 host groups.
Checking service groups...
Checked 0 service groups.
Checking contacts...
Checked 2 contacts.
Checking contact groups...
Checked 1 contact groups.
Checking service escalations...
Checked 0 service escalations.
Checking service dependencies...
Checked 0 service dependencies.
Checking host escalations...
Checked 0 host escalations.
Checking host dependencies...
Checked 0 host dependencies.
Checking commands...
Checked 22 commands.
Checking time periods...
Checked 4 time periods.
Checking extended host info definitions...
Checked 0 extended host info definitions.
Checking extended service info definitions...
Checked 0 extended service info definitions.
Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors: 0
</pre>
<p style="text-align: justify;">Things look okay &#8211; No serious problems were detected during the pre-flight check</p>
<p style="text-align: justify;">Incase of any errors, check the detailed message and fix them accordingly. Once you get &#8220;Things look okay&#8221; status start the nagios service. Start Nagios</p>
<pre class="brush: bash;">
/etc/init.d/nagios start
</pre>
<p style="text-align: justify;">Now open your internet browser and open nagios web-console to monitor the configured servers. Link to nagios web-console will be http://NAGIOS_SERVER_IP/nagios</p>
<p style="text-align: justify;">For more information: http://nagios.sourceforge.net/docs/2_0/toc.html</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxclub.zonixsystems.com/blog/technical-articles/network-management-system/network-monitoring-using-nagios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Squid With Active Directory Authentication</title>
		<link>http://linuxclub.zonixsystems.com/blog/technical-articles/proxy-server/squid-with-active-directory-authentication/</link>
		<comments>http://linuxclub.zonixsystems.com/blog/technical-articles/proxy-server/squid-with-active-directory-authentication/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 07:46:49 +0000</pubDate>
		<dc:creator>zonixsystems</dc:creator>
				<category><![CDATA[Proxy Server]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[linux authentication with Windows AD]]></category>
		<category><![CDATA[linux joining domain]]></category>
		<category><![CDATA[squid]]></category>

		<guid isPermaLink="false">http://linuxclub.zonixsystems.com/?p=32</guid>
		<description><![CDATA[Squid is the most popular proxy server in the industry. Along with caching capabilities, squid includes access control lists (ACLs) to restrict users from accessing various internet resources. Although, IP address and MAC based ACLs are possible to configure in Squid. But its difficult to manage ACLs in DHCP environment because IP address keeps on [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fproxy-server%2Fsquid-with-active-directory-authentication%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fproxy-server%2Fsquid-with-active-directory-authentication%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: justify;">Squid is the most popular proxy server in the industry. Along with caching capabilities, squid includes access control lists (ACLs) to restrict users from accessing various internet resources. Although, IP address and MAC based ACLs are possible to configure in Squid. But its difficult to manage ACLs in DHCP environment because IP address keeps on changing with DHCP lease expiry. Secondly, IP address or MAC based restrictions can restrict the user on the basis of his source IP/MAC address. But in case, user logs-in from some different client machine then ACL will get changed as per the new source IP/MAC address. Similarly, if two users share the same machine then it would be hard to apply restrictions for individual user.</p>
<p style="text-align: justify;">To tackle this problem, administrators can configure their squid proxy server to authentication with some central credential store. Credential store can be of basic authentication, similar to HTTP/apache. But with the increasing use of active directory servers in the companies, same credential store can be used by squid to authenticate its users. In this way, users will not have to remember multiple passwords and they will not receive an authentication prompt while accessing any internet website.</p>
<p style="text-align: justify;">In addition to this, by configuring squid to authenticate users against active directory server, ACLs can be configured on group basis. This makes it easier for administrators to grant a user with more rights in squid. This can be done by simply moving his ID from one group to another in active directory, without making any changes to squid configuration. Moreover, administrator will be able to fetch user based reports rather IP address based reports.</p>
<p style="text-align: justify;">Such setup requires configuration of kerberos, ntp, squid and winbind/samba. NTP is required to sync the time of proxy server with active directory server. If there is a time mismatch of more than 5 minutes, then squid will not be able to authenticate you aganist active directory. Following configuration steps needs to be followed in order to achieve squid integration with active directory.</p>
<p style="text-align: justify;">Below configuration was carried out on RHEL 5.0 and active directory was running on Windows 2003 server:</p>
<p style="text-align: justify;">Configure &#8220;/etc/hosts&#8221; file in proxy server to define its FQDN and also put FQDN of active directory server</p>
<pre class="brush: plain;">
127.0.0.1 localhost.localdomain localhost
192.168.1.2 proxy.zonixsystems.com PROXY
172.10.10.11 in-zonixdc.zonixsystems.com in-zonixdc
</pre>
<p>Now open up &#8220;/etc/krb5.conf&#8221; to configure few parameters as shown below:</p>
<pre class="brush: plain;">
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = zonixsystems.com
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes

[realms]
zonixsystems.com = {
kdc = in-zonixdc.zonixsystems.com
admin_server = in-zonixdc.zonixsystems.com
default_domain = zonixsystems.com
kpasswd_server = in-zonixdc.zonixsystems.com
}

[domain_realm]
.zonixsystems.com = zonixsystems.com

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
</pre>
<p style="text-align: justify;">Now sync the clocks of both proxy and AD servers as below. Although, you may set the clocks manually and skip this step of synchronising clocks but its always better to leave your worries to NTP server. Let us sync clock or proxy server first:</p>
<p style="text-align: justify;">Configure NTP on Proxy Server using below command:</p>
<pre class="brush: bash;">
ntpdate pool.ntp.org
</pre>
<p style="text-align: justify;">And then, for windows server, configure NTP on Windows Server</p>
<pre class="brush: bash;">
C:\&gt; net time /setsntp:pool.ntp.org
C:\&gt; net stop w32time &amp; net start w32time
</pre>
<p>Now edit samba configuration, /etc/samba/smb.conf, as shown below:</p>
<pre class="brush: plain;">
workgroup = zonixNET
server string = PROXY
security = ADS
auth methods = winbind
encrypt passwords = yes
idmap uid = 70001-90000
winbind enum users = yes
winbind gid = 70001-90000
winbind enum groups = yes
client use spnego = yes
winbind separator = \\
load printers = yes
cups options = raw
log file = /var/log/samba/%m.log
max log size = 50
password server = 172.10.10.11
realm = zonixsystems.com
dns proxy = no

[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /usr/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
</pre>
<p>After saving the above file, start the samba and winbind services as shown below:</p>
<p>Start Samba and Winbind Services</p>
<pre class="brush: bash;">
/etc/init.d/smb start
</pre>
<p>The output will look like:</p>
<pre class="brush: plain;">
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
</pre>
<p style="text-align: justify;">Now start winbind service as below:</p>
<p style="text-align: justify;">
<pre class="brush: bash;">
/etc/init.d/winbind start
</pre>
<p>Output will look like:</p>
<pre class="brush: plain;">
Starting Winbind services: [ OK ]
</pre>
<p style="text-align: justify;">Now join your proxy server to active directory domain. Join Proxy into Active Directory Domain using below command:</p>
<pre class="brush: bash;">
net join -S 172.10.10.11 -U aggi
</pre>
<p>Above command will prompt for password as shown below:</p>
<pre class="brush: plain;">
aggi's password:
Using short domain name -- ZONIX
Joined 'PROXY' to realm 'zonixsystems.com'
</pre>
<p style="text-align: justify;">In case, you are trying this setup by putting proxy server behind the firewall in DMZ zone with your active directory server in LAN zone of firewall. Then be sure that proxy server can access active directory server at port number 88 (udp) for kerberos, 389 (udp &amp; tcp) for LDAP, 53 (udp &amp; tcp) for DNS, 445 (tcp) and 139 (tcp) for microsoft-ds and netbios respectively.</p>
<p style="text-align: justify;">Verify Connections &amp; Fetch user and group lists using below commands:</p>
<pre class="brush: bash;">
wbinfo -t #to verify connections
wbinfo -u #to display list of all the users in AD
wbinfo -g #to display list of all the groups in AD
</pre>
<p style="text-align: justify;">Below is the final squid configuration, /etc/squid/squid.conf, with active directory authentication and ACLs based on AD groups.</p>
<pre class="brush: plain;">
cache_effective_user squid
cache_effective_group squid
error_directory /usr/share/squid/errors/English
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log none
pid_filename /var/run/squid.pid
coredump_dir /var/spool/squid
http_port 100
icp_port 3130
cache_mem 512 MB
maximum_object_size 40000 KB
ipcache_size 2048
fqdncache_size 2048
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
cache_dir ufs /var/spool/squid 6000 14 256

#####For NTLM/AD Authentication###########
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 20
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 5
auth_param basic realm Squid AD
auth_param basic credentialsttl 2 hours
authenticate_ip_ttl 600 seconds
############

request_body_max_size 5000 MB
refresh_pattern \.gif 240 90% 30240
refresh_pattern \.jpg 240 90% 30240
refresh_pattern \.jpeg 240 90% 30240
refresh_pattern \.exe 240 90% 30240
refresh_pattern \.zip 240 90% 30240
refresh_pattern \.pdf 240 90% 30240
refresh_pattern \.htm 240 50% 10080
refresh_pattern \.shtml 240 50% 10080
refresh_pattern \.asp 240 50% 10080
refresh_pattern . 240 50% 10080
quick_abort_pct 95
quick_abort_min 200 KB

####Start of ACLs######
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 660 #
acl Safe_ports port 389 # LDAP
acl CONNECT method CONNECT
acl ntlm proxy_auth REQUIRED

####External ACL authenticating with AD#####
external_acl_type ldap_group %LOGIN /usr/lib/squid/squid_ldap_group -b &quot;ou=NOIDA,dc=zonixnet,dc=com&quot; -D &quot;cn=administrator,cn=users,dc=zonixnet,dc=com&quot; -f &quot;(&amp;(cn=%a)(member=%v)(objectClass=group))&quot; -F &quot;(|(samAccountName=%s)(cn=%s))&quot; -w ENTER_ADMINISTRATOR_PASSWORD -h 172.10.10.11 -v3 -S

# CGI
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

#####SNMP Configuration for MRTG Reports##########
snmp_port 3401
acl SNMP snmp_community ENTER_SNMP_COMMUNITY_STRING #Avoid &quot;public&quot;
snmp_access allow SNMP all
redirector_access deny CONNECT

#####AD Group based ACLs#######
acl test_group external ldap_group test
acl hr external ldap_group HR
acl vip external ldap_group VIP

#####Delay Pools#
delay_pools 1
delay_class 1 2
delay_parameters 1 500/4000000 250/2
acl SlowGroups proxy_auth test_group
delay_access 1 allow test_group !all

###URL based ACLs###
acl blocked_domains dstdomain &quot;/etc/squid/domains/domains_blacklist&quot;
acl blocked_urls dstdomain &quot;/etc/squid/domains/urls_blacklist&quot;
######Populate above files - We used Squidguard database#####
acl ADs dstdomain &quot;/etc/squid/domains/adv_sources.txt&quot;
acl filetype urlpath_regex &quot;/etc/squid/domains/filetypes.txt&quot;
####3#Above ACLs are to block Advertisements and various file types######

####Deny Access to all but only allow test_group to download filetypes#####
http_access deny all blocked_domains
http_access deny all ADs
http_access deny all blocked_urls
http_access allow test_group filetype
http_access deny all filetype

http_access allow manager all
http_access allow localhost
http_access allow ntlm
http_access allow all
http_reply_access allow all
icp_access allow all
</pre>
<p style="text-align: justify;">To test out above set-up, open internet browser from some windows machine that is joined in active directory domain. And configure proxy settings into the internet brower. Now try to download some filetype that is blocked in &#8220;filetype.txt&#8221; file under squid ACLs. If your ID is not present in &#8220;test&#8221; group of AD, then you will hit an access denied page . Now, close the browser and move your ID from other group to &#8220;test&#8221; group (as per above example) and try the same procedure again. You should be able to download the file. Similar way, other ACLs can be tested out.</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxclub.zonixsystems.com/blog/technical-articles/proxy-server/squid-with-active-directory-authentication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrate Antivirus (ClamAV) into Samba</title>
		<link>http://linuxclub.zonixsystems.com/blog/technical-articles/samba-server/integrate-antivirus-clamav-into-samba/</link>
		<comments>http://linuxclub.zonixsystems.com/blog/technical-articles/samba-server/integrate-antivirus-clamav-into-samba/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 07:43:05 +0000</pubDate>
		<dc:creator>zonixsystems</dc:creator>
				<category><![CDATA[Samba Server]]></category>
		<category><![CDATA[clamav]]></category>
		<category><![CDATA[linux file server]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[samba antivirus]]></category>

		<guid isPermaLink="false">http://linuxclub.zonixsystems.com/?p=30</guid>
		<description><![CDATA[Samba can easily be integrated with most popular open source antivirus i.e. ClamAV. Below mentioned steps can do the job for you. Note that below steps were performed on CentOS 5 64 bit OS with samba version samba-3.0.25b-1.el5_1.4. Few changes might be required in other versions. Install Samba server using below command, if not already [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fsamba-server%2Fintegrate-antivirus-clamav-into-samba%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fsamba-server%2Fintegrate-antivirus-clamav-into-samba%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: justify;">Samba can easily be integrated with most popular open source antivirus i.e. ClamAV. Below mentioned steps can do the job for you. Note that below steps were performed on CentOS 5 64 bit OS with samba version samba-3.0.25b-1.el5_1.4. Few changes might be required in other versions.</p>
<p>Install Samba server using below command, if not already installed</p>
<pre class="brush: bash;">yum install samba</pre>
<p>Download ClamAV packages from DAG  repository.</p>
<pre class="brush: bash;">
wget -c http://dag.wieers.com/rpm/packages/clamav/clamav-db-0.92.1-1.el5.rf.x86_...
wget -c http://dag.wieers.com/rpm/packages/clamav/clamav-0.92.1-1.el5.rf.x86_64.rpm
wget -c http://dag.wieers.com/rpm/packages/clamav/clamd-0.92.1-1.el5.rf.x86_64.rpm
</pre>
<p>Install the downloaded packages</p>
<pre class="brush: bash;">
rpm -ivh clamav-db-0.92.1-1.el5.rf.x86_64.rpm
rpm -ivh clamav-0.92.1-1.el5.rf.x86_64.rpm
rpm -ivh clamd-0.92.1-1.el5.rf.x86_64.rpm
</pre>
<p>Download source code of samba and samba-vscan:</p>
<pre class="brush: bash;">
wget -c ftp://ftp.in2p3.fr/pub/samba/samba-3.0.25b.tar.gz
wget -c http://www.openantivirus.org/download/samba-vscan-0.3.6c-beta4.tar.gz
</pre>
<p>Uncompress both the packages</p>
<pre class="brush: bash;">
tar xvzf samba-vscan-0.3.6c-beta4.tar.gz
tar xvzf samba-3.0.25b.tar.gz
</pre>
<p>Change the directory to samba source directory</p>
<pre class="brush: bash;">
cd samba-3.0.25b/source/
</pre>
<p>Run autogen.sh file</p>
<pre class="brush: bash;">
./autogen.sh
</pre>
<p>Execute configure script and do make</p>
<pre class="brush: bash;">
./configure
make proto
</pre>
<p>Change directory to samba-vscan</p>
<pre class="brush: bash;">
cd ../../samba-vscan-0.3.6c-beta4
</pre>
<p>Configure samba-vscan by passing the samba source as an argument with configure script</p>
<pre class="brush: bash;">
./configure –with-samba-source=../samba-3.0.25b/source/
</pre>
<p>Execute make</p>
<pre class="brush: bash;">
make
</pre>
<p style="text-align: justify;">If successful, you will find samba-vscan object for all the supported antivirus in the same directory. Copy clamav object to /usr/lib64/samba/vfs/. This would be /usr/lib/samba/vfs in case of 32 bit CentOS</p>
<pre class="brush: bash;">
cp vscan-clamav.so /usr/lib64/samba/vfs/
</pre>
<p>Copy default configuration of vscan-clamav.conf to samba configuration directory</p>
<pre class="brush: bash;">
cp clamav/vscan-clamav.conf /etc/samba/
</pre>
<p>Change dir to /etc/samba</p>
<pre class="brush: bash;">
cd /etc/samba/
</pre>
<p>Edit smb.conf file to add two lines under global section</p>
<pre class="brush: bash;">
vi smb.conf
</pre>
<p>Now copy below two lines to the file</p>
<pre class="brush: plain;">
vfs object = vscan-clamav
vscan-clamav: config-file = /etc/samba/vscan-clamav.conf
</pre>
<p style="text-align: justify;">Now edit vscan-clamav.conf file and change the action to be taken if infected file is found and also change the socket of clamd. In our case, it was /tmp/clamd.sock</p>
<pre class="brush: bash;">
vi vscan-clamav.conf
</pre>
<p>Change two directives as shown below:</p>
<pre class="brush: plain;">
infected file action = quarantine
clamd socket name = /tmp/clamd.socket
</pre>
<p>Now start/restart clamd and samba services</p>
<pre class="brush: bash;">
/etc/init.d/clamd start
/etc/init.d/smb restart
</pre>
<p>Make sure that these services start automatically on system reboot</p>
<pre class="brush: bash;">
chkconfig smb on
chkconfig clamd on
</pre>
<h4>TESTING:</h4>
<p style="text-align: justify;">Enable verbose logging from /etc/samba/vscan-clamav.conf and watch the log file /var/log/messages</p>
<p style="text-align: justify;">Download some test virus from http://www.eicar.org/anti_virus_test_file.htm and paste that to some shared folder at samba server. You will receive a message via windows messenger service (if started) and also you wil notice that infected file will not be available in the shared folder</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxclub.zonixsystems.com/blog/technical-articles/samba-server/integrate-antivirus-clamav-into-samba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ssh without password</title>
		<link>http://linuxclub.zonixsystems.com/blog/technical-articles/remote-administration/ssh-without-password/</link>
		<comments>http://linuxclub.zonixsystems.com/blog/technical-articles/remote-administration/ssh-without-password/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 07:31:33 +0000</pubDate>
		<dc:creator>zonixsystems</dc:creator>
				<category><![CDATA[Remote Administration]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[passwordless login]]></category>
		<category><![CDATA[ssh without password]]></category>

		<guid isPermaLink="false">http://linuxclub.zonixsystems.com/?p=27</guid>
		<description><![CDATA[Instead of entering passwords at SSH login prompt, administrators can login to remote Linux servers using public/private key pair. It can help administrators in following ways: Running commands on multiple server from a single console Automated server backups using scripts No need to remember passwords for multiple servers Due to limitations in SSH protocol version [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fremote-administration%2Fssh-without-password%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Flinuxclub.zonixsystems.com%2Fblog%2Ftechnical-articles%2Fremote-administration%2Fssh-without-password%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: justify;">Instead of entering passwords at SSH login prompt, administrators can login to remote Linux servers using public/private key pair. It can help administrators in following ways:</p>
<ol>
<li>Running commands on multiple server from a single console</li>
<li>Automated server backups using scripts</li>
<li>No need to remember passwords for multiple servers</li>
</ol>
<p style="text-align: justify;">Due to limitations in SSH protocol version 1, we recommend to use version 2 of SSH protocol.</p>
<h4 style="text-align: justify;">Scenario</h4>
<p style="text-align: justify;">In this document, we will explain you on how to login from a client machine &#8216;C&#8217; to a server &#8216;S&#8217; without using password.</p>
<h4 style="text-align: justify;">Configuration</h4>
<p style="text-align: justify;">Login to the client linux machine &#8216;C&#8217; via ssh to run below command and press &#8220;ENTER&#8221; three times:</p>
<p>Generate Key Pair:</p>
<pre class="brush: bash;">
ssh-keygen -t dsa
</pre>
<p>Above command will prompt couple of questions and will generate the key as shown below:</p>
<pre class="brush: plain;">
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is: 34:f3:6a:b4:c2:b8:c9:39:9c:14:3c:3a:70:07:5a:9e
root@test-client
</pre>
<p style="text-align: justify;">Above command was executed as &#8220;root&#8221; user, and same can be done as a system user as well. Command will save a public/private key pair in .ssh directory located in HOME directory of the user. As in above case, command was executed as &#8220;root&#8221; so it will save the key pair in &#8220;/root/.ssh/&#8221;.</p>
<p style="text-align: justify;">After this, you need to append pubilc key of client machine &#8216;C&#8217; stored in id_dsa.pub to /root/.ssh/authorized_keys file of linux server &#8216;S&#8217;. To achieve that, run following command from linux client &#8216;C&#8217;. And on the password prompt, enter the user (in this case &#8220;root&#8221;) password for linux server &#8216;S&#8217;:</p>
<p style="text-align: justify;">Copy Public Key to Server using below command:</p>
<pre class="brush: bash;">
scp /root/.ssh/id_dsa.pub root@IP_ADDRESS_OF_SERVER:/tmp root@IP_ADDRESS_OF_SERVER's password: id_dsa.pub 100% 606 0.6KB/s 00:00
</pre>
<p>Now login to the server machine &#8216;S&#8217; and execute below command to append the pubilc file of client machine &#8216;C&#8217; to authorized_keys file</p>
<p>Append Public Key to authorized_keys in server using below command:</p>
<pre class="brush: bash;">cat /tmp/id_dsa.pub &gt;&gt; /root/.ssh/authorized_keys</pre>
<p>Every thing has been setup now. For testing, run below command from client machine &#8216;C&#8217; to verify that you are able to login to remote linux server &#8216;S&#8217; without entering password.Login to Server using below command</p>
<p>And you would see the bash prompt of the server</p>
<pre class="brush: plain;">[root@SERVER_HOSTNAME ~]#</pre>
<pre class="brush: bash;">ssh IP_ADDRESS_OF_SERVER Last login: Sun Dec 14 22:54:59 2007 from IP_ADDRESS </pre>
<p>Now, you can also copy files from serve to client and vice-versa using &#8220;scp&#8221; without being prompted for password.</p>
<h4>WARNING:</h4>
<p style="text-align: justify;">Keep you private key (id_dsa) stored in client machine &#8216;C&#8217; as secret. Anyone having access to the private key can use that for remote login to the server without any further authentication.</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxclub.zonixsystems.com/blog/technical-articles/remote-administration/ssh-without-password/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

