<?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>Ronny L. Bull</title>
	<atom:link href="http://ronnybull.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ronnybull.com</link>
	<description>Tinkerning with computers &#38; other fun stuff!</description>
	<lastBuildDate>Tue, 07 Feb 2012 19:35:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Gentoo &#8211; FTP Server</title>
		<link>http://ronnybull.com/2011/11/09/gentoo-ftp-server/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gentoo-ftp-server</link>
		<comments>http://ronnybull.com/2011/11/09/gentoo-ftp-server/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 19:26:51 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[FTP]]></category>

		<guid isPermaLink="false">http://ronnybull.com/?p=1108</guid>
		<description><![CDATA[If you have the need for a FTP server on your Gentoo system, Pure-ftp is a good choice. It is a lightweight, standards compliant, and production quality FTP server that is available in portage. To install pure-ftp do the following: The default use flags should be fine for most installations. After it is done installing [...]]]></description>
			<content:encoded><![CDATA[<p>If you have the need for a FTP server on your Gentoo system, Pure-ftp is a good choice.  It is a lightweight, standards compliant, and production quality FTP server that is available in portage.  </p>
<p>To install pure-ftp do the following:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
emerge -avq pure-ftp
</pre>
<p>The default use flags should be fine for most installations.</p>
<p><span id="more-1108"></span></p>
<p>After it is done installing you need to edit the config file located in <code>/etc/conf.d/pure-ftpd</code></p>
<p>Make sure to uncomment the following line:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
#IS_CONFIGURED=&quot;yes&quot;
</pre>
<p>So that it looks like this:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
IS_CONFIGURED=&quot;yes&quot;
</pre>
<p>Now you need to figure out how you want users to authenticate to the FTP server.  </p>
<p>To allow login to the FTP server with local user accounts use the following setting for AUTH:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
AUTH=&quot;-l unix&quot;
</pre>
<p>For PAM authentication use the following:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
AUTH=&quot;-l pam&quot;
</pre>
<p>And finally for built in virtual user support use the following:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
AUTH=&quot;-l puredb:/etc/pureftpd.pdb&quot;
</pre>
<p>The virtual user method stores the user information in the file /etc/pureftpd.pdb. In order to setup FTP virtual users do the following:</p>
<p>First setup the ftpgroup and the ftpuser system user</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser
</pre>
<p>Now virtual users can be created by using the following syntax:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
pure-pw useradd someuser -u ftpuser -d /home/ftpusers/someuser [-m]
</pre>
<p>The <code>-d</code> flag specifies the user&#8217;s home directory. This can be changed to any location you like as long as the user has sufficient privileges on the folder.</p>
<p>The following commands can be used to manage virtual users:</p>
<p>To delete a user:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
pure-pw userdel someuser [-m]
</pre>
<p>To change a user&#8217;s password:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
pure-pw passwd someuser [-m]
</pre>
<p>To view a user&#8217;s status:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
pure-pw show someuser [-m]
</pre>
<p>To commit changes <i>(NOTE: changes are commited automatically when using the [-m] flag)</i>:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
pure-pw mkdb
</pre>
<p>Lastly we need to start the pure-ftpd service and add it to the default runlevel:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
/etc/init.d/pure-ftpd start
rc-update add pure-ftpd default
</pre>
<p>NOTE: If you are running iptables you will want to add the following rule to allow FTP traffic:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
iptables -A INPUT -p tcp -m state --state NEW \
-m tcp --dport 21 -j ACCEPT
</pre>
]]></content:encoded>
			<wfw:commentRss>http://ronnybull.com/2011/11/09/gentoo-ftp-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gentoo &#8211; Zoneminder</title>
		<link>http://ronnybull.com/2011/08/17/gentoo-zoneminder/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gentoo-zoneminder</link>
		<comments>http://ronnybull.com/2011/08/17/gentoo-zoneminder/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 01:22:24 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Zoneminder]]></category>
		<category><![CDATA[Cameras]]></category>
		<category><![CDATA[Recording]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://ronnybull.com/?p=919</guid>
		<description><![CDATA[The Zoneminder ebuild in the portage tree has been broken for a couple of years now. Here is the process I use to build Zoneminder from source on a Gentoo x86 install: 1. Get Root Access 2. Make The Source Directory 3. Get The Source Package Stable: 1.24.2 Development: svn 4. Unpack The Sources 5. [...]]]></description>
			<content:encoded><![CDATA[<p>The Zoneminder ebuild in the portage tree has been broken for a couple of years now. Here is the process I use to build Zoneminder from source on a Gentoo x86 install:</p>
<p><span id="more-919"></span></p>
<p>1. Get Root Access</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">sudo -s</pre>
<p>2. Make The Source Directory</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">mkdir /usr/src/Zoneminder</pre>
<p>3. Get The Source Package</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">cd /usr/src/Zoneminder</pre>
<p>Stable: <em>1.24.2</em></p>
<pre class="brush: bash; gutter: false; title: ; notranslate">wget http://www2.zoneminder.com/downloads/ZoneMinder-1.24.2.tar.gz</pre>
<p>Development: <em>svn</em></p>
<pre class="brush: bash; gutter: false; title: ; notranslate">svn co http://svn.zoneminder.com/svn/zm/trunk zm</pre>
<p>4. Unpack The Sources</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">tar xzf ZoneMinder-1.24.2.tar.gz</pre>
<p>5. Install Required Dependencies</p>
<p>Add the following to <code>/etc/portage/package.keywords</code>:</p>
<pre class="brush: bash; title: ; notranslate">
#Zoneminder
www-misc/zoneminder
dev-perl/PHP-Serialization
virtual/perl-Module-Load
perl-core/Module-Load
</pre>
<p>Add the following to <code>/etc/portage/package.use</code></p>
<pre class="brush: bash; title: ; notranslate">
#Zoneminder
www-misc/zoneminder ffmpeg
</pre>
<p>Check The Dependencies</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">emerge -pv zoneminder</pre>
<p>That will show you all the packages that the ebuild would pull in for Zoneminder. You can just emerge them and let it fail on ZM or a cleaner way would be to add the required packages to <code>/var/lib/portage/world</code> and then do an <code>emerge -avtDNuq world</code> to build them all.</p>
<p>6. Configure and Build Zoneminder</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">cd /usr/src/Zoneminder/ZoneMinder-1.24.2</pre>
<p>Configure the sources (note this is for a localhost install, you can change it to whatever vhost you want)</p>
<p>Make sure to change the zm db username and password to reflect your setup.</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">

Setup the DB

1
mysql -u root -p
create database zm;
grant select,insert,update,delete on zm.* to '&lt;database user&gt;'@localhost identified by '&lt;database password&gt;';
flush privileges;
exit
</pre>
<p>Import the Initial DB</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">mysql -u root -p -D zm &lt; db/zm_create.sql</pre>
<p>Build it</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
make clean
make
make install
</pre>
<p>After all that Zoneminder should be installed on your system and ready to run. Here are is an init script that I created to get Zoneminder started, stopped and reset as well as allow it to start up and shutdown on a machine power cycle.</p>
<pre class="brush: bash; title: ; notranslate">
#!/sbin/runscript
# File:    /etc/init.d/zoneminder
# Purpose:  Startup the Zoneminder Server
# By:   Ronny L. Bull
# Date: 8-31-2010

ZM_START='/usr/local/bin/zmpkg.pl start'
ZM_STOP='/usr/local/bin/zmpkg.pl stop'

depend() {
    need net mysql
}

start() {
        ebegin &quot;Starting Zoneminder&quot;
        $ZM_START
        eend $? &quot;Failed to start Zoneminder!&quot;
}

stop() {
        ebegin &quot;Stopping Zoneminder&quot;
        $ZM_STOP
        eend $? &quot;Failed to stop Zoneminder!&quot;
}
</pre>
<p>Save the file as <code>zoneminder</code> and copy it to <code>/etc/init.d/zoneminder</code> then make sure to run</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">chmod +x /etc/init.d/zoneminder</pre>
<p>Now you can start and stop your server by doing:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">/etc/init.d/zoneminder start</pre>
<p>If you want it to start on power up add it to the default runlevel</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">rc-update add zoneminder default</pre>
<p>Thats it! You should now be able to access the Zoneminder web interface at <code>http://serverip/zm</code>. </p>
<p>Now go buy some <a href="http://www.amazon.com/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&#038;keywords=Dlink%20DCS&#038;tag=ronsree-20&#038;index=aps&#038;linkCode=ur2&#038;camp=1789&#038;creative=9325">cameras</a><img src="https://www.assoc-amazon.com/e/ir?t=ronsree-20&#038;l=ur2&#038;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />!</p>
]]></content:encoded>
			<wfw:commentRss>http://ronnybull.com/2011/08/17/gentoo-zoneminder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AsteriskNow &#8211; IPTables Firewall Configuration</title>
		<link>http://ronnybull.com/2011/08/16/asterisknow-iptables-firewall-configuration/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=asterisknow-iptables-firewall-configuration</link>
		<comments>http://ronnybull.com/2011/08/16/asterisknow-iptables-firewall-configuration/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 00:40:53 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[AsteriskNow]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[VoiP]]></category>
		<category><![CDATA[IPTables]]></category>
		<category><![CDATA[SIP]]></category>

		<guid isPermaLink="false">http://ronnybull.com/?p=901</guid>
		<description><![CDATA[In a previous guide I discussed how to setup an AsteriskNow server with Polycom phone support. In this guide I will illustrate how to tighten up your server&#8217;s security by using the IPTables firewall already installed in the distribution. IPTables should already be setup and running on the server, however no rules have been applied. [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/">previous guide</a> I discussed how to setup an <a href="http://www.asterisk.org/asterisknow/">AsteriskNow</a> server with Polycom phone support.  In this guide I will illustrate how to tighten up your server&#8217;s security by using the IPTables firewall already installed in the distribution.</p>
<p><span id="more-901"></span></p>
<p>IPTables should already be setup and running on the server, however no rules have been applied. You can verify this by doing the following as the root user:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">chkconfig iptables --list</pre>
<p>This should report the following:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off</pre>
<p>Verify there are no rules present:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">iptables -L -v</pre>
<p>You should see:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">Chain INPUT (policy ACCEPT 91 packets, 10124 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 75 packets, 8607 bytes)
 pkts bytes target     prot opt in     out     source               destination </pre>
<p>Now it&#8217;s time to add some rules.  You can copy the following text to a file and import it into IPTables:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
# Generated by iptables-save v1.3.5 on Sat Aug 13 17:34:43 2011
*filter
:INPUT DROP [19:2463]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [897:135843]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 5060 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 10000:20000 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 69 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 123 -j ACCEPT
-A INPUT -j LOG
COMMIT
# Completed on Sat Aug 13 17:34:43 2011
</pre>
<p>Save the file as <code>iptables.bak</code> and copy it to <code>/etc/iptables.bak</code></p>
<p>Now import the file into IPTables:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate"> iptables-restore &lt; /etc/iptables.bak</pre>
<p>And verify that the rules have been committed:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">iptables -L -v</pre>
<p>You should now see:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  lo     any     anywhere             anywhere
   51  3852 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            state NEW tcp dpt:ssh
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            state NEW tcp dpt:http
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            state NEW tcp dpt:https
    0     0 ACCEPT     udp  --  any    any     anywhere             anywhere            state NEW udp dpt:sip
    0     0 ACCEPT     udp  --  any    any     anywhere             anywhere            state NEW udp dpts:ndmp:dnp
    0     0 ACCEPT     udp  --  any    any     anywhere             anywhere            state NEW udp dpt:tftp
    0     0 ACCEPT     udp  --  any    any     anywhere             anywhere            state NEW udp dpt:ntp
    0     0 LOG        all  --  any    any     anywhere             anywhere            LOG level warning 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 26 packets, 2616 bytes)
 pkts bytes target     prot opt in     out     source               destination
</pre>
<p>Now save the new IPTables settings:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">/etc/init.d/iptables save</pre>
<p>That&#8217;s it! Your server is now blocking all incoming traffic by default, and only allowing connections to the ports that are necessary to do it&#8217;s job.  Specifically:</p>
<p><code>Port 123 UDP for NTP (Time)<br />
Port 69 UDP for TFTP (Phone provisioning)<br />
Port 5060 UDP for SIP (Phone Calls)<br />
Port 10000-20000 UDP for RTP (Phone Calls)<br />
Port 22 TCP for SSH (SSH Connection)<br />
Port 80 &#038; 443 TCP for HTTP/HTTPS (Web)</code></p>
<p>If you need to open another port just use the following syntax at the command line:</p>
<p><em>example for SSH over TCP port 22</em></p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
iptables -A INPUT -p tcp -m state --state NEW \
-m tcp --dport 22 -j ACCEPT
</pre>
<p>To specify a range of ports do the following:</p>
<p><em>example for RTP over UDP ports 10000-20000</em></p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
iptables -A INPUT -p udp -m state --state NEW \
-m udp --dport 10000:20000 -j ACCEPT
</pre>
<p>You can then save the new configuration by doing:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">/etc/init.d/iptabes save</pre>
<p>And if your completely satisfied and want to back up the configuration do:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">iptables-save &gt; /etc/iptables.bak</pre>
]]></content:encoded>
			<wfw:commentRss>http://ronnybull.com/2011/08/16/asterisknow-iptables-firewall-configuration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Linux &#8211; ISO Images</title>
		<link>http://ronnybull.com/2011/08/16/linux-iso-images/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linux-iso-images</link>
		<comments>http://ronnybull.com/2011/08/16/linux-iso-images/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 23:54:29 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CDROM]]></category>
		<category><![CDATA[ISO]]></category>

		<guid isPermaLink="false">http://ronnybull.com/?p=895</guid>
		<description><![CDATA[ISO images are very easy to manipulate at the command line in Linux. To make an ISO image from a CD or DVD simply insert the disc into the drive and type: This uses the dd command with the input set to /dev/cdrom and the output set to filename.iso. Change these values as necessary. Note [...]]]></description>
			<content:encoded><![CDATA[<p>ISO images are very easy to manipulate at the command line in Linux.  To make an ISO image from a CD or DVD simply insert the disc into the drive and type:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">dd if=/dev/cdrom of=filename.iso</pre>
<p>This uses the <code>dd</code> command with the input set to <code>/dev/cdrom</code> and the output set to <code>filename.iso</code>.  Change these values as necessary.  Note that some Linux distros mount the cdrom drive to<code> /media/cdrom</code>.</p>
<p>To mount an ISO image and read it just as it was a CDROM loaded in the tray do the following:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">mkdir /mnt/iso
mount -o loop -t iso9660 filename.iso /mnt/iso</pre>
<p>The contents of the ISO can now be accessed in <code>/mnt/iso</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ronnybull.com/2011/08/16/linux-iso-images/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AsteriskNow &#8211; Polycom SoundPoint IP 335 &amp; 550 Provisioning In FreePBX</title>
		<link>http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx</link>
		<comments>http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/#comments</comments>
		<pubDate>Sun, 14 Aug 2011 18:51:57 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[AsteriskNow]]></category>
		<category><![CDATA[Polycom]]></category>
		<category><![CDATA[VoiP]]></category>
		<category><![CDATA[Polycom 335]]></category>
		<category><![CDATA[Polycom 550]]></category>
		<category><![CDATA[tftp]]></category>

		<guid isPermaLink="false">http://ronnybull.com/?p=694</guid>
		<description><![CDATA[AsteriskNow is a free and powerful turnkey open source PBX system that can be combined with high quality Polycom phones to create an enterprise level VoiP solution. In this guide I will outline the steps needed in order to install AsteriskNow and setup automatic configuration and firmware provisioning for your Polycom SoundPoint IP 335 and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.asterisk.org/asterisknow/" target="new">AsteriskNow</a> is a free and powerful turnkey open source PBX system that can be combined with high quality Polycom phones to create an enterprise level VoiP solution.  In this guide I will outline the steps needed in order to install AsteriskNow and setup automatic configuration and firmware provisioning for your Polycom SoundPoint IP 335 and 550 SIP phones. </p>
<table border=0>
<tr>
<th valign="top">
<a href="http://www.amazon.com/gp/product/B003NDGC4O/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;tag=ronsree-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399373&#038;creativeASIN=B003NDGC4O">Polycom SoundPoint IP 335</a><img src="http://www.assoc-amazon.com/e/ir?t=ronsree-20&#038;l=as2&#038;o=1&#038;a=B003NDGC4O&#038;camp=217145&#038;creative=399373" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</th>
<th valign="top">
<a href="http://www.amazon.com/gp/product/B000RPGQ1A/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;tag=ronsree-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399373&#038;creativeASIN=B000RPGQ1A">Polycom SoundPoint IP 550</a><img src="http://www.assoc-amazon.com/e/ir?t=ronsree-20&#038;l=as2&#038;o=1&#038;a=B000RPGQ1A&#038;camp=217145&#038;creative=399373" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</th>
</tr>
<tr>
<td valign="top" spacing="10"><a href="http://www.amazon.com/gp/product/B003NDGC4O/ref=as_li_qf_sp_asin_il?ie=UTF8&#038;tag=ronsree-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399373&#038;creativeASIN=B003NDGC4O"><img border="0" src="http://ws.assoc-amazon.com/widgets/q?_encoding=UTF8&#038;Format=_SL110_&#038;ASIN=B003NDGC4O&#038;MarketPlace=US&#038;ID=AsinImage&#038;WS=1&#038;tag=ronsree-20&#038;ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.com/e/ir?t=ronsree-20&#038;l=as2&#038;o=1&#038;a=B003NDGC4O&#038;camp=217145&#038;creative=399373" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td valign="top" spacing="10"><a href="http://www.amazon.com/gp/product/B000RPGQ1A/ref=as_li_qf_sp_asin_il?ie=UTF8&#038;tag=ronsree-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399373&#038;creativeASIN=B000RPGQ1A"><img border="0" src="http://ws.assoc-amazon.com/widgets/q?_encoding=UTF8&#038;Format=_SL110_&#038;ASIN=B000RPGQ1A&#038;MarketPlace=US&#038;ID=AsinImage&#038;WS=1&#038;tag=ronsree-20&#038;ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.com/e/ir?t=ronsree-20&#038;l=as2&#038;o=1&#038;a=B000RPGQ1A&#038;camp=217145&#038;creative=399373" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
</tr>
</table>
<p><span id="more-694"></span></p>
<p>The first step is to download the ISO image from <a href="http://www.asterisk.org/asterisknow/" target="new">here</a>.  Choose 32 bit or 64 bit depending on the hardware your installing on.  Burn the ISO to a CD then boot the computer.  You should then see the following screen:</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/boot/" rel="attachment wp-att-709"><img src="http://ronnybull.com/wp-content/uploads/2011/08/boot-300x226.png" alt="AsteriskNow Boot Screen" title="AsteriskNow Boot Screen" width="300" height="226" class="alignnone size-medium wp-image-709" /></a></p>
<p>Type 1 and press Enter to install Asterisk 1.6 with the FreePBX gui.</p>
<p>The installer will begin to load and if the hard disk has not been formatted yet it will ask if you would like to initialze the hard drive.  Choose <strong>Yes</strong>.  You will then see a screen that gives you partitioning options for your hard drive.  If you are only using this computer for AsteriskNow then choose: <strong>&#8220;Remove all partitions on selected drives and create default layout&#8221;</strong>.  Click next, then click Yes when it asks: &#8220;Are sure you want to do this&#8221;.</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/format/" rel="attachment wp-att-716"><img src="http://ronnybull.com/wp-content/uploads/2011/08/format-300x223.png" alt="AsteriskNow Partitioning" title="AsteriskNow Partitioning" width="300" height="223" class="alignnone size-medium wp-image-716" /></a></p>
<p>Choose your region and click next:</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/time/" rel="attachment wp-att-727"><img src="http://ronnybull.com/wp-content/uploads/2011/08/time-300x223.png" alt="AsteriskNow Region" title="AsteriskNow Region" width="300" height="223" class="alignnone size-medium wp-image-727" /></a></p>
<p>Then set the root password, click next and wait for the installation to complete. Once the installer completes press Reboot and remove the CD from the drive.</p>
<p>When the machine comes back up you will be presented with the Setup Agent menu.  You can use this tool to configure your network interface card if you need to supply a static IP address.  For now we will assume DHCP and just let it time out or exit to proceed.  You can call up the network setup utility at any time later and add a static IP, configure the hostname, or add DNS entries by using the command:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">system-config-network</pre>
<p>The system should now be at a login prompt.  Log in as the user <code>root</code> with the password you setup during the installation.  Now it is time to update the system with the most current software. </p>
<pre class="brush: bash; gutter: false; title: ; notranslate">yum update</pre>
<p>This command will download all of the latest software updates and then ask you if you want to install them.  Type <code>y</code> during any prompts.  Once the updates are complete reboot your computer by issuing the command:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">reboot</pre>
<p>After the server comes back up from the reboot you will see the login prompt.  Above the prompt there should be a line that tells you where to point your web browser to configure AsteriskNow with FreePBX.  Point your web browser to the address, click on the <strong>FreePBX Administration</strong> link, and log in with the user <strong><code>freepbx</code></strong> and the password <strong><code>fpbx</code></strong>.  You should now see the FreePBX Status Page.</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/fpbxstat/" rel="attachment wp-att-748"><img src="http://ronnybull.com/wp-content/uploads/2011/08/fpbxstat-300x199.png" alt="FreePBX Status" title="FreePBX Status" width="300" height="199" class="alignnone size-medium wp-image-748" /></a> </p>
<p>Now for security purposes we need to change the admin user&#8217;s password. This will also prevent you from being locked out after we upgrade FreePBX, since for some reason the freepbx user becomes inaccessible after the upgrade.  To do this click on the <strong>Administrators</strong> link in the Setup menu.  You will see a small list in the top left, one button says <strong>Add User</strong> and the other says <strong>admin</strong>.  Click on <strong>admin</strong> then change the password in the password box and hit <strong>Submit Changes</strong>.  </p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/admin/" rel="attachment wp-att-757"><img src="http://ronnybull.com/wp-content/uploads/2011/08/admin-300x170.png" alt="AsteriskNow Administrators" title="AsteriskNow Administrators" width="300" height="170" class="alignnone size-medium wp-image-757" /></a></p>
<p>Notice the orange button that now appears on top of the page.  You need to click that every time you make a configuration change so that the change can be committed to the system, and Asterisk can be reloaded so the changes can take effect.</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/change/" rel="attachment wp-att-761"><img src="http://ronnybull.com/wp-content/uploads/2011/08/change-300x44.png" alt="AsteriskNow Config Change" title="AsteriskNow Config Change" width="300" height="44" class="alignnone size-medium wp-image-761" /></a></p>
<p>Now you can log out and log back in as <code>admin</code> with your new password.  Use this account to log in from now on instead of the <code>freepbx</code> user.</p>
<p>Now it is time to update FreePBX from 2.7 to 2.9.  There are a few steps to this and they <strong>must</strong> be performed in the correct order.  If you are doing this installation in a Virtual Machine I highly suggest you make a snapshot now that you can revert back to if something goes wrong.  If you don&#8217;t know what a Virtual Machine is then just disregard that last statement!</p>
<p>To upgrade FreePBX select <strong>Module Admin</strong> from the Setup menu.  In the drop down box select <strong>extended repository</strong>, click Ok on the prompt then click on <strong>Check for updates online</strong>.</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/modadmin/" rel="attachment wp-att-770"><img src="http://ronnybull.com/wp-content/uploads/2011/08/modadmin-300x168.png" alt="AsteriskNow Module Admin" title="AsteriskNow Module Admin" width="300" height="168" class="alignnone size-medium wp-image-770" /></a></p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/modadmin2/" rel="attachment wp-att-771"><img src="http://ronnybull.com/wp-content/uploads/2011/08/modadmin2-300x170.png" alt="AsteriskNow Module Admin Updates" title="AsteriskNow Module Admin Updates" width="300" height="170" class="alignnone size-medium wp-image-771" /></a></p>
<p>You will now see a list of packages, some of them will be marked with an available update, and some will be marked as not installed.  The only package we are concerned with at the moment is the <strong>2.8 Upgrade Tool</strong>.  Click on it and then select <strong>Download and Install</strong>.  Then click on <strong>Process</strong>.</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/28upgrade/" rel="attachment wp-att-777"><img src="http://ronnybull.com/wp-content/uploads/2011/08/28upgrade-300x169.png" alt="2.8 Upgrade Tool Module" title="2.8 Upgrade Tool Module" width="300" height="169" class="alignnone size-medium wp-image-777" /></a></p>
<p>Confirm the installation, click return when the orange box pops up, then click the orange <strong>Apply Configuration Changes</strong> button at the top.  Another orange box will pop up, click <strong>Continue with reload</strong>.</p>
<p>You will now have a new menu item in the <strong>Setup</strong> menu called <strong>2.8 Upgrade Tool</strong>.  Click on it to use the upgrade tool.  </p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/28upgradetool/" rel="attachment wp-att-786"><img src="http://ronnybull.com/wp-content/uploads/2011/08/28upgradetool-300x168.png" alt="2.8 Upgrade Tool Page" title="2.8 Upgrade Tool Page" width="300" height="168" class="alignnone size-medium wp-image-786" /></a></p>
<p>Follow the instructions on the page <strong>TO THE LETTER</strong>!.  First you will press the <strong>Upgrade Now</strong> button on the page to update the database.  Then you will go back over to the module admin page, click on check for updates online, and ONLY UPDATE the FreePBX Framework module.  After the FreePBX Framework is updated select extended repository from the drop down list and check for updates online again.  This time click on the <strong>Upgrade All</strong> link to select all modules that need to be updated, change the <strong>2.9 Upgrade tool</strong> to <strong>&#8220;No Action&#8221;</strong>, and then click <strong>process</strong>.  Apply the configuration changes and reload.  </p>
<p>Now we can proceed to the 2.9 Upgrade which is basically the same exact process as the 2.8 upgrade except we need to install a few dependency modules first.  In the module admin click on check for updates online then select the following 2 modules and set them to <strong>&#8220;Download and Install&#8221;</strong>:</p>
<p>FreePBX ARI Framework<br />
FreePBX FOP Framework</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/deps/" rel="attachment wp-att-797"><img src="http://ronnybull.com/wp-content/uploads/2011/08/deps-300x168.png" alt="2.9 Upgrade Tool Dependencies" title="2.9 Upgrade Tool Dependencies" width="300" height="168" class="alignnone size-medium wp-image-797" /></a></p>
<p>After they are installed apply the configuration changes and reload Asterisk.  Then in module admin click check for updates online again, select the 2.9 Upgrade Tool and choose <strong>&#8220;Download and Install&#8221;</strong>, then click on <strong>process</strong> to install it.  When it is finished installing apply the configuration changes and reload.  Then select <strong>2.9 Upgrade Tool</strong> from the Setup menu.  </p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/29upgrade/" rel="attachment wp-att-800"><img src="http://ronnybull.com/wp-content/uploads/2011/08/29upgrade-300x168.png" alt="2.9 Upgrade Tool" title="2.9 Upgrade Tool" width="300" height="168" class="alignnone size-medium wp-image-800" /></a></p>
<p>Follow the instructions on the page <strong>TO THE LETTER</strong>!.  First you will press the <strong>Upgrade Now</strong> button on the page to update the database.  Then you will go back over to the module admin page, click on check for updates online, and ONLY UPDATE the FreePBX Framework module.  After the FreePBX Framework is updated select the basic and extended repositories, and check for updates online again.  This time click on the <strong>Upgrade All</strong> link to select all modules that need to be updated, and then click <strong>process</strong>.  Apply the configuration changes and reload.  Now make sure the basic and exended repositories are selected and check for updates online again.  Choose <strong>Upgrade All</strong> and then click process.  Once it is finished updating the modules apply the changes and reload.  Your system should now be fully updated to FreePBX 2.9.  Now we can install the Endpoint Manager module that will be used to setup our Polycom phones.</p>
<p>In the module admin make sure the basic and extended repositories are selected then click check for updates online.  Now scroll down the list a bit and look for the Endpoint Manager section.  Click on <strong>PBX End Point Manager</strong> and choose <strong>&#8220;Download and Install&#8221;</strong> then click on <strong>process</strong>.  Apply the configuration changes and reload Asterisk.  You should now have a few<strong> End Point Manager </strong>links in your tools menu.</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/epm/" rel="attachment wp-att-811"><img src="http://ronnybull.com/wp-content/uploads/2011/08/epm-300x68.png" alt="PBX End Point Manager" title="PBX End Point Manager" width="300" height="68" class="alignnone size-medium wp-image-811" /></a></p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/epmmenu/" rel="attachment wp-att-814"><img src="http://ronnybull.com/wp-content/uploads/2011/08/epmmenu-140x300.png" alt="End Point Manager Menu" title="End Point Manager Menu" width="140" height="300" class="alignnone size-medium wp-image-814" /></a></p>
<p>Now it is time to take a step back from the FreePBX interface and get our hands dirty at the command line!  We need to setup and install a few utilities that will be used by the End Point manager to configure the phones.  Specifically we need to install nmap, and configure a tftp server that the phones will use to download their configurations and firmware from.  We will also need to setup an NTP server that the phones will synchronize their time with.</p>
<p>In a terminal on the AsteriskNow server do the following as the root user:</p>
<p>First install NMAP, type <code>y</code> for any prompts:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">yum install nmap</pre>
<p>That was easy!  Ok now we need to configure a NTP time server, the package is already installed but the service is not running. To start it up and set it to autostart on boot type the following:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">chkconfig ntpd on
/etc/init.d/ntpd start</pre>
<p>Now let&#8217;s setup the tftp server:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">chkconfig tftp on
/etc/init.d/xinetd restart
chmod 777 /tftpboot/
</pre>
<p>Thats it for the command line! You can now exit out of the terminal and log back into the FreePBX web interface. Next we will configure the End Point Manager so that it can support the Polycom phones.</p>
<p>Click on the <strong>Tools</strong> menu then click <strong>End Point Manager Advanced Settings</strong>.  Click the <strong>Determine for me</strong> link next to the <strong>IP address of phone server</strong> box.  Then make sure the NMAP executable path is set to /usr/bin/nmap.  Then click on the <strong>Update Globals</strong> button.</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/epmav/" rel="attachment wp-att-833"><img src="http://ronnybull.com/wp-content/uploads/2011/08/epmav-300x168.png" alt="End Ponit Manager Advanced" title="End Ponit Manager Advanced" width="300" height="168" class="alignnone size-medium wp-image-833" /></a></p>
<p>Next click on the <strong>End Point Configuration </strong>link.  Then click the <strong>Check for Updates</strong> button, you should now see a list of company names.</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/epmc/" rel="attachment wp-att-836"><img src="http://ronnybull.com/wp-content/uploads/2011/08/epmc-300x171.png" alt="End Point Manager Configuration" title="End Point Manager Configuration" width="300" height="171" class="alignnone size-medium wp-image-836" /></a></p>
<p>Now click the green <strong>install</strong> button under the <strong>Polycom</strong> section to download configuration files for all of the supported polycom phones.  </p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/epmcpoly/" rel="attachment wp-att-839"><img src="http://ronnybull.com/wp-content/uploads/2011/08/epmcpoly-300x275.png" alt="End Point Manager Configuration Polycom" title="End Point Manager Configuration Polycom" width="300" height="275" class="alignnone size-medium wp-image-839" /></a></p>
<p>Now click the green <strong>Enable</strong> button under the <strong>SoundPoint IP 335 </strong> and <strong>SoundPoint IP 550</strong> listings to enable them to be used when configuring an endpoint.</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/epmcsp/" rel="attachment wp-att-842"><img src="http://ronnybull.com/wp-content/uploads/2011/08/epmcsp-300x100.png" alt="End Point Manager Sound Point Phones" title="End Point Manager Sound Point Phones" width="300" height="100" class="alignnone size-medium wp-image-842" /></a></p>
<p>Now we need to install the firmware for the PolyCom phones to the /tftpboot folder.  This is done by clicking the <strong>Install Firmware</strong> button under the <strong>SoundPoint/Station/VVX In-Production Models [320,330,321,331,335,450,550,560,650,670,5000,6000,7000,1500]</strong> heading.  This process will take a few moments to download the files.</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/epmfw/" rel="attachment wp-att-845"><img src="http://ronnybull.com/wp-content/uploads/2011/08/epmfw-300x15.png" alt="End Point Manager Configuration Firmware" title="End Point Manager Configuration Firmware" width="300" height="15" class="alignnone size-medium wp-image-845" /></a></p>
<p>Now we need to create a SIP extension that we can bind a phone to.  Click on the <strong>Setup</strong> menu then choose <strong>Extensions</strong> and then choose <strong>Generic SIP Device</strong> in the drop down box.  For now lets just get the extension working and not worry about any of the other settings.  Enter in information for the following variables:</p>
<p><strong>User Extension</strong><br />
<strong>Display Name</strong><br />
<strong>secret</strong></p>
<p>Then apply the configuration changes and reload Asterisk.</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/ext/" rel="attachment wp-att-850"><img src="http://ronnybull.com/wp-content/uploads/2011/08/ext-224x300.png" alt="Extension Setup" title="Extension Setup" width="224" height="300" class="alignnone size-medium wp-image-850" /></a></p>
<p>Next click on the newly created extension in the list on the right hand side and change the <strong>nat</strong> value to <strong>Yes</strong>.</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/nat/" rel="attachment wp-att-857"><img src="http://ronnybull.com/wp-content/uploads/2011/08/nat-253x300.png" alt="nat" title="nat" width="253" height="300" class="alignnone size-medium wp-image-857" /></a></p>
<p>Now let&#8217;s configure an End Point device that will be assigned to this extension.  Click on the <strong>Tools</strong> menu and then <strong>End Point Device List</strong>.  Enter the MAC Address of the phone (usually located on the bottom), select the brand from the drop down list (Polycom), use line 1, select the extension you just created, then click the <strong>Add</strong> button.</p>
<p><a href="http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/phone/" rel="attachment wp-att-864"><img src="http://ronnybull.com/wp-content/uploads/2011/08/phone-300x170.png" alt="Phones" title="Phones" width="300" height="170" class="alignnone size-medium wp-image-864" /></a></p>
<p>Thats it for the End Point Configuration.  All that is left to now is setup the phone&#8217;s boot server option to point to the IP address of the AsteriskNow server.  </p>
<p>Power up your PolyCom phone enter the setup menu and use the password <strong>456</strong> when prompted.  Make sure <strong>DHCP </strong>is set to <strong>enabled </strong> and in the<strong> DHCP Menu</strong> the <strong>Boot Server</strong> option is set to <strong>Custom+Opt.66</strong>.  Next in the <strong>Server Menu</strong> make sure the <strong>Server Type</strong> is set to <strong>TrivialFTP</strong> then set the <strong>Server Address</strong> option to the IP address of your AsteriskNow server.  Once this is all set reboot the phone and it should connect to the server, synchronize it&#8217;s time, download and install the new firmware files, and update it&#8217;s configuration with the extension settings. </p>
<p>To setup more phones just create more extensions and corresponding devices in the End Point Manager.  Then setup the phone boot options and you should be good to go!</p>
]]></content:encoded>
			<wfw:commentRss>http://ronnybull.com/2011/08/14/asterisknow-polycom-soundpoint-ip-335-550-provisioning-in-freepbx/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Xen Cloud Platform (XCP) &#8211; Cloning Hard Drive Woes</title>
		<link>http://ronnybull.com/2011/08/11/xen-cloud-platform-xcp-cloning-hard-drive-woes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=xen-cloud-platform-xcp-cloning-hard-drive-woes</link>
		<comments>http://ronnybull.com/2011/08/11/xen-cloud-platform-xcp-cloning-hard-drive-woes/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 01:45:46 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[XCP]]></category>
		<category><![CDATA[Xen]]></category>
		<category><![CDATA[XenServer]]></category>
		<category><![CDATA[LVM]]></category>

		<guid isPermaLink="false">http://ronnybull.com/?p=678</guid>
		<description><![CDATA[The main hard drive seems to be flaky in one of my XCP servers. I decided to use Clonezilla to clone sda to another drive to see if it is in fact the hard drive. After cloning over the drive I found that my LVM storage group VG_XenStorage-xxx was not mounting, and XenCenter was giving [...]]]></description>
			<content:encoded><![CDATA[<p>The main hard drive seems to be flaky in one of my XCP servers.  I decided to use <a href="http://clonezilla.org/" target="new">Clonezilla</a> to clone sda to another drive to see if it is in fact the hard drive. After cloning over the drive I found that my LVM storage group VG_XenStorage-xxx was not mounting, and XenCenter was giving off the following error when trying to connect to the server: <strong>&#8220;This server cannot see any storage&#8221;</strong></p>
<p><span id="more-678"></span></p>
<p>Turns out the LVM volume group was inconsistent after the clone, my guess is because the hard drives were of the same capacity but different brands so there may have been some differences.  Using the <code>lvs</code> and <code>vgs</code> commands did not show the LVM volume information, but instead displayed a kernel dump with a plethora of information.  The main error being about the inconsistency of the volume group.  In order to solve the problem I had to perform the following command:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">vgextend --master VG_XenStorage-7eb4d8dc-3fa4-5db5-4512-5dc5a671c638 \
 /dev/sda</pre>
<p>Then restart the xapi service:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">/etc/init.d/xapi restart</pre>
<p>Time to see if we can make it crash again with the new drive!</p>
]]></content:encoded>
			<wfw:commentRss>http://ronnybull.com/2011/08/11/xen-cloud-platform-xcp-cloning-hard-drive-woes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gentoo &#8211; Framebuffer Splash Image</title>
		<link>http://ronnybull.com/2011/08/11/gentoo-framebuffer-splash-image/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gentoo-framebuffer-splash-image</link>
		<comments>http://ronnybull.com/2011/08/11/gentoo-framebuffer-splash-image/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 19:26:27 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Framebuffer]]></category>

		<guid isPermaLink="false">http://ronnybull.com/?p=661</guid>
		<description><![CDATA[If you are tired of staring at a black console screen on your Gentoo box you can trick it out a bit using Gensplash. Gensplash or &#8220;fbcondecor&#8221; allows you to use different background images, fonts and colors to decorate your console so you don&#8217;t have the standard black background and white text. It also allows [...]]]></description>
			<content:encoded><![CDATA[<p>If you are tired of staring at a black console screen on your Gentoo box you can trick it out a bit using Gensplash. Gensplash or &#8220;fbcondecor&#8221; allows you to use different background images, fonts and colors to decorate your console so you don&#8217;t have the standard black background and white text. It also allows you to have nice boot and shutdown screens. (Think of the boot process and console on the install CD).</p>
<p><span id="more-661"></span></p>
<p>First we have to configure the kernel to support the framebuffer devices.  You will need the following options enabled in your kernel config:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
CONFIG_CONNECTOR=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_VESA=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FB_CON_DECOR=y
</pre>
<p>Next we need to setup some use flags in <code>/etc/portage/package.use</code>:</p>
<pre class="brush: bash; title: ; notranslate">
#splashutils
media-gfx/splashutils fbcondecor
media-libs/jpeg static-libs
virtual/jpeg static-libs
media-libs/lcms static-libs
media-libs/libpng static-libs
</pre>
<p>Then we need to unmask and install the necessary packages:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
echo &quot;media-gfx/splashutils fbcondecor&quot; &gt;&gt; /etc/portage/package.use
emerge -av splashutils splash-themes-livecd splash-themes-gentoo
</pre>
<p>Now start the fbcondecor service and add it to the default runlevel:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
/etc/init.d/fbcondor start
rc-update add fbcondecor default
</pre>
<p>Then create an initrid image and add it&#8217;s entry to grub.conf.  Note: themes are located in /etc/splash.</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
splash_geninitramfs --verbose --res 1280x800 --generate /boot/initramfs-bootsplash theme_name
</pre>
<p>grub.conf example:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
kernel /boot/kernel-2.6.37-gentoo-r4 root=/dev/sdb3 splash=verbose,fadein,theme:natural_gentoo video=vesafb:mtrr:3,ywrap vga=0x361 quiet CONSOLE=/dev/tty1
initrd /boot/fbsplash-natural_gentoo-1280x800
</pre>
<p>Grub Notes:  </p>
<ul>
<li><code>splash=verbose</code> &#8211; means you will see text scroll by, set to silent to just see a fancy progress bar. (Depends on theme)</li>
<li><code>fadein</code> &#8211; will fade into the framebuffer on boot</li>
<li><code>theme:theme_name</code> &#8211; the theme you are using</li>
<li><code>video=vesafb:mtrr:3,ywrap</code> &#8211; vesa framebuffer options</li>
<li><code>vga=0x361</code> &#8211; The resolution supported by your video card in hex.  Set to Auto to see a list of supported resolutions and their codes for your monitor, experiment, then set it to the one that works.</li>
<li><code>CONSOLE=/dev/tty1</code> &#8211; what console do we start the framebuffer on</li>
</ul>
<p>Reboot and behold the wonders of your new framebuffer!</p>
]]></content:encoded>
			<wfw:commentRss>http://ronnybull.com/2011/08/11/gentoo-framebuffer-splash-image/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gentoo &#8211; Deny Hosts</title>
		<link>http://ronnybull.com/2011/08/11/gentoo-deny-hosts/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gentoo-deny-hosts</link>
		<comments>http://ronnybull.com/2011/08/11/gentoo-deny-hosts/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 19:25:31 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://ronnybull.com/?p=659</guid>
		<description><![CDATA[If you find your ssh server is getting hit by a lot of brute force attempts from the internet, and want to do something to defend yourself against them then denyhosts is for you! It helps to alleviate some of the stress on your server that occurs when someone or lots of someones are trying [...]]]></description>
			<content:encoded><![CDATA[<p>If you find your ssh server is getting hit by a lot of brute force attempts from the internet, and want to do something to defend yourself against them then denyhosts is for you! It helps to alleviate some of the stress on your server that occurs when someone or lots of someones are trying to hack their way into your ssh server.  Basically the service watches your ssh traffic, and if it sees an IP address hitting a threshold of failed attempts it adds the address to your /etc/hosts.deny file so that it is blocked from future access attempts.  </p>
<p><span id="more-659"></span></p>
<p>Simply install the package through emerge:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">emerge -avq app-admin/denyhosts</pre>
<p>The initial configuration in <code>/etc/denyhosts.conf</code> should suffice, however it is well commented and you can edit it to suit your needs.  You may want to add your email address in the <code>ADMIN_EMAIL =</code> variable so that denyhosts can email you alerts.</p>
<p>Once it is installed and configured start it up and add it to the default runlevel:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">
/etc/init.d/denyhosts start
rc-update add denyhosts default
</pre>
<p>Thats it! Your server will now block an IP address after 3 failed ssh login attempts. </p>
<p>But what do I do if I accidentally lock out a valid IP address?  Glad you asked!</p>
<p>You need to remove the wrongfully accused IP address from the following files using this process:</p>
<p>First stop the denyhosts service:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">/etc/init.d/denyhosts stop</pre>
<p>Then remove the IP from the following files:</p>
<p><code>/etc/hosts.deny</code><br />
<code>/var/lib/denyhosts/hosts</code><br />
<code>/var/lib/denyhosts/hosts-restricted</code><br />
<code>/var/lib/denyhosts/hosts-root</code><br />
<code>/var/lib/denyhosts/hosts-valid</code></p>
<p>Now restart the service:</p>
<pre class="brush: bash; gutter: false; title: ; notranslate">/etc/init.d/denyhosts start</pre>
<p>You should now be able to ssh from the blocked IP address once again.</p>
]]></content:encoded>
			<wfw:commentRss>http://ronnybull.com/2011/08/11/gentoo-deny-hosts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash &#8211; File Backup Script</title>
		<link>http://ronnybull.com/2011/08/10/bash-file-backup-script/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bash-file-backup-script</link>
		<comments>http://ronnybull.com/2011/08/10/bash-file-backup-script/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 14:10:56 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Bash]]></category>

		<guid isPermaLink="false">http://ronnybull.com/?p=625</guid>
		<description><![CDATA[This script uses rdiff-backup to backup files on a Linux host using rysnc. The script then sends an email that notifies of it&#8217;s completion. Make sure to install the rdiff-backup package on your distro before running it. Script Notes: The script uses a nice value of -19 so that it does not interfere too much [...]]]></description>
			<content:encoded><![CDATA[<p>This script uses <a href="http://www.nongnu.org/rdiff-backup/" target="new">rdiff-backup</a> to backup files on a Linux host using rysnc.  The script then sends an email that notifies of it&#8217;s completion.  Make sure to install the <a href="http://www.nongnu.org/rdiff-backup/" target="new">rdiff-backup</a> package on your distro before running it.</p>
<p><span id="more-625"></span></p>
<pre class="brush: bash; title: ; notranslate">
#!/bin/bash

#Backup script
#By: Ronny L. Bull

SUBJECT=&quot;System Backup&quot;;
TO=&quot;youremail@yourdomain.com&quot;;
MESSAGE=&quot;System backup completed&quot;;

#backup from one location to another
nice -19 rdiff-backup --exclude /boot/lost+found /boot/ /var/backup/boot/

nice -19 rdiff-backup --exclude /home/lost+found /home/ /var/backup/home/

nice -19 rdiff-backup /etc/ /var/backup/etc/

nice -19 rdiff-backup /root/ /var/backup/root/

echo &quot;Subject: $SUBJECT
$MESSAGE&quot; | sendmail $TO

exit
</pre>
<p>Script Notes:</p>
<p>The script uses a nice value of -19 so that it does not interfere too much with other running processes since file copying is a fairly taxing IO process.  Also passing the &#8211;exclude flag to rdiff-backup allows you to exclude certain directories from being backed up, such as LOST+FOUND.  </p>
]]></content:encoded>
			<wfw:commentRss>http://ronnybull.com/2011/08/10/bash-file-backup-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash &#8211; Dynamic Public IP Address Monitor Script</title>
		<link>http://ronnybull.com/2011/08/10/bash-dynamic-public-ip-address-monitor-script/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bash-dynamic-public-ip-address-monitor-script</link>
		<comments>http://ronnybull.com/2011/08/10/bash-dynamic-public-ip-address-monitor-script/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 13:55:45 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Curl]]></category>
		<category><![CDATA[IP]]></category>

		<guid isPermaLink="false">http://ronnybull.com/?p=617</guid>
		<description><![CDATA[This is a script I wrote to monitor my public IP address to see if it changes or not. It comes in very handy if you run a server on a dynamic IP address. It is setup to run in a daily cron job every morning. The script sends an email that lets me know [...]]]></description>
			<content:encoded><![CDATA[<p>This is a script I wrote to monitor my public IP address to see if it changes or not.  It comes in very handy if you run a server on a dynamic IP address.  It is setup to run in a daily cron job every morning. The script sends an email that lets me know if the IP address has changed or not, and also reports the current public IP address.  Note that this script requires that curl is installed.</p>
<p><span id="more-617"></span></p>
<pre class="brush: bash; title: ; notranslate">
#!/bin/bash

#Script to report public IP address change
#By: Ronny L. Bull

TO=&quot;youremail@yourdomain.com&quot;
FROM=&quot;alerts@yourdomain.com&quot;

#The file that contains the current pubic IP
EXT_IP_FILE=&quot;/path/to/ipaddress&quot;

#Get the current public IP from whatsmyip.com
CURRENT_IP=$(curl http://automation.whatismyip.com/n09230945.asp)

#Check file for previous IP address
if [ -f $EXT_IP_FILE ]; then
KNOWN_IP=$(cat $EXT_IP_FILE)
else
KNOWN_IP=
fi

#See if the IP has changed
if [ &quot;$CURRENT_IP&quot; != &quot;$KNOWN_IP&quot; ]; then
echo $CURRENT_IP &gt; $EXT_IP_FILE

#If so send an alert
echo &quot;Subject: The IP Address at home has changed
The IP address at home has been changed to $CURRENT_IP&quot; | sendmail -f ${FROM} ${TO}

logger -t ipcheck -- IP changed to $CURRENT_IP
else

#If not just report that it stayed the same
echo &quot;Subject: The IP Address at home is the same
The IP address at home stayed the same $CURRENT_IP&quot; | sendmail -f ${FROM} ${TO}
logger -t ipcheck -- NO IP change
fi
</pre>
]]></content:encoded>
			<wfw:commentRss>http://ronnybull.com/2011/08/10/bash-dynamic-public-ip-address-monitor-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

