<?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>TechyBlog.com &#187; Howto</title>
	<atom:link href="http://www.techyblog.com/category/howto/feed" rel="self" type="application/rss+xml" />
	<link>http://www.techyblog.com</link>
	<description>Technology Blog and related news.</description>
	<lastBuildDate>Tue, 29 Jun 2010 01:40:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SAP 4.6c Oracle recommendations</title>
		<link>http://www.techyblog.com/howto/sap-46c-oracle-recommendations.html</link>
		<comments>http://www.techyblog.com/howto/sap-46c-oracle-recommendations.html#comments</comments>
		<pubDate>Mon, 10 Mar 2008 16:00:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[sap]]></category>

		<guid isPermaLink="false">http://www.techyblog.com/howto/sap-46c-oracle-recommendations.html</guid>
		<description><![CDATA[I had put this together for a 4.6C system back in 2005. Some of these are now default behavior, but you may still have some older systems that have not yet been converted, or it may provide a good reference at some point. SAP recommendations


Server parameter file  : (SPFILE) See note 601157


Automatic Undo Management [...]]]></description>
			<content:encoded><![CDATA[<p align="left">I had put this together for a 4.6C system back in 2005. Some of these are now default behavior, but you may still have some older systems that have not yet been converted, or it may provide a good reference at some point.<span id="more-69"></span> <strong>SAP recommendations</strong></p>
<ul>
<li>
<p align="left">Server parameter file  : (SPFILE) See note 601157</p>
</li>
<li>
<p align="left">Automatic Undo Management : See note 600141</p>
</li>
<li>
<p align="left">Dynamic SGA : See note 617416</p>
</li>
<li>
<p align="left">Automatic PGA Memory Management : See note 619876</p>
</li>
<li>
<p align="left">If required, ASSM :  See note 620803</p>
</li>
</ul>
<ol>
<li>
<p align="left"><strong>SPFILE </strong>(from oss note 601157)<br />
a. Create SPFILE<br />
SQL&gt;connect / as sysdba<br />
SQL&gt;create spfile from pfile;<br />
b. renaming the old init.ora (for example):<br />
mv $ORACLE_HOME/dbs/init.ora $ORACLE_HOME/dbs/init.ora.SAVE<br />
c. SQL&gt; connect/as sysdba<br />
SQL&gt; shutdown<br />
SQL&gt; startup<br />
SQL&gt; show parameter spfile</li>
<li>
<p align="left"><strong>Auto Undo management</strong> READ note 600141 below is an overview.<br />
Calculate the size of the Undo tablespace</p>
<p>a. Step: Generate spool file (optional)<br />
Used to log the migration steps.<br />
SQL&gt; spool undo_process.log<br />
b. Step: Detect the current management Undo mode<br />
SQL&gt; show parameter undo<br />
SQL&gt; select segment_name, tablespace_name, status from dba_rollback_segs;</p>
<p>c. Step: Create a new PSAPUNDO Undo tablespace<br />
- manually or using SAPDBA 6.20 or BRSPACE 6.40.<br />
- Size: as large as possible, at least as big as PSAPROLL<br />
The size can be specified in K or M.<br />
- AUTOEXTEND: OFF (see recommendations)</p>
<p>SQL&gt; create undo tablespace PSAPUNDO datafile /oracle/SMP/sapdata2/undo_1/undo.data1&#8242; size 1600M reuse<br />
autoextend off;<br />
d. Step: Assign an Undo tablespace<br />
init.ora: undo_tablespace = PSAPUNDO<br />
spfile : SQL&gt; alter system set undo_tablespace = PSAPUNDO scope = spfile;<br />
e. Step: Define the Undo retention time<br />
init.ora: undo_retention = 43200 # 12h as start value<br />
spfile : SQL&gt;alter system set undo_retention = 43200 scope = spfile;<br />
F. Step: Activate AUM<br />
init.ora: undo_management = AUTO<br />
spfile : SQL&gt;alter system set undo_management=auto scope = spfile;<br />
G. Step: Start instance<br />
SQL&gt; shutdown immediate<br />
SQL&gt; startup<br />
h. Step: Check the current AUM settings<br />
SQL&gt; show parameter undo<br />
SQL&gt; select segment_name, tablespace_name, status from dba_rollback_segs;<br />
SQL&gt; show parameter rollback_segments<br />
i. CAUTION:<br />
Provided step J below has not carried out yet, you can switch from the<br />
Automatic Undo Management to the Manual Undo Management at any time<br />
within a short time. The following steps are necessary for this:</p>
<p>SQL&gt; connect / as sysdba<br />
SQL&gt; alter system set undo_management=manual scope = spfile;<br />
SQL&gt; shutdown immediate<br />
SQL&gt; startup</p>
<p>j. Step: Delete the old rollback segments<br />
Except for the SYSTEM rollback segment, the old rollback segments are<br />
now deleted. They are no longer required.<br />
SQL&gt; select segment_name, tablespace_name, status from dba_rollback_segs<br />
where status = &#8216;OFFLINE&#8217; and segment_name not like &#8216;_SYSSMU%$&#8217;;<br />
SQL&gt; DROP ROLLBACK SEGMENT PRS_;</p>
<p>k. Check results:<br />
SQL&gt; select segment_name, tablespace_name, status from dba_rollback_segs;<br />
Only UNDOs should appear;</p>
<p>l. Step: Adjust the profile parameters<br />
spfile : SQL&gt; alter system reset rollback_segments scope = spfile sid=&#8217;*';<br />
spfile : SQL&gt; alter system reset transactions scope = spfile sid=&#8217;*';<br />
spfile : SQL&gt; alter system reset transactions_per_rollback_segment scope = spfile sid=&#8217;*';<br />
spfile : SQL&gt; alter system reset max_rollback_segments scope = spfile sid=&#8217;*';</p>
<p>m. Step: Delete old rollback tablespace<br />
SQL&gt; DROP TABLESPACE PSAPROLL including contents and datafiles;</li>
<li>
<p align="left"><strong>Dynamic SGA<br />
</strong>a. SQL&gt; alter system set statistics_level=&#8217;TYPICAL&#8217;;<br />
b. Setting the new parameters (if using SPFILE)<br />
SQL&gt; connect / as sysdba<br />
SQL&gt; REM Delete old SGA parameter<br />
SQL&gt; alter system reset buffer_pool_keep scope = spfile sid=&#8217;*';<br />
SQL&gt; alter system reset buffer_pool_recycle scope = spfile sid=&#8217;*';<br />
SQL&gt; alter system reset db_block_buffers scope = spfile sid=&#8217;*';<br />
SQL&gt; REM Set new SGA parameter<br />
SQL&gt; alter system set sga_max_size=1531868916 scope = spfile;<br />
SQL&gt; alter system set db_cache_size=476577792 scope = spfile;<br />
SQL&gt; REM statistics_level = ALL or TYPICAL<br />
SQL&gt; alter system set statistics_level=&#8217;TYPICAL&#8217; scope = spfile;<br />
If required:<br />
SQL&gt; alter system set db_keep_cache_size=X scope = spfile;<br />
SQL&gt; alter system set db_recycle_cache_size=X scope = spfile;<br />
c. shutdown db / restart.</li>
<li>
<p align="left"><strong>Auto PGA</strong><br />
a. SQL&gt; alter system set workarea_size_policy=AUTO scope = spfile;<br />
b. SQL&gt; alter system set pga_aggregate_target=256M scope = spfile;</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.techyblog.com/howto/sap-46c-oracle-recommendations.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAP instance check shell script</title>
		<link>http://www.techyblog.com/howto/sap-check-script.html</link>
		<comments>http://www.techyblog.com/howto/sap-check-script.html#comments</comments>
		<pubDate>Mon, 10 Mar 2008 15:48:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[checks]]></category>
		<category><![CDATA[sap]]></category>

		<guid isPermaLink="false">http://www.techyblog.com/howto/sap-check-script.html</guid>
		<description><![CDATA[I wrote this script about about four years ago and came across it again today.  This will probobly be helpful in someway to someone someday  
This script requires the SAP SDK, which is available from SAP.  If you can&#8217;t find it let me know.
So, this script will do the following:


Attempt to connect to sap [...]]]></description>
			<content:encoded><![CDATA[<p align="left">I wrote this script about about four years ago and came across it again today.  This will probobly be helpful in someway to someone someday <img src='http://www.techyblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p align="left">This script requires the SAP SDK, which is available from SAP.  If you can&#8217;t find it let me know.</p>
<p align="left">So, this script will do the following:</p>
<ul>
<li>
<p align="left">Attempt to connect to sap using sapinfo command check to see if host is already known to be down, or if recovered from being down</p>
</li>
<li>
<p align="left">send pages / email to defined list</p>
</li>
<li>
<p align="left">Tracks systems that are already down so as not to resend email / pages</p>
</li>
</ul>
<p><span id="more-68"></span></p>
<p align="left"><font color="#000000">And it may do more, or less.. I don&#8217;t know.  If you have suggestions or changes please email them to me at nick dot wilkens at gmail dot com.</font></p>
<blockquote>
<p align="left">#!/bin/sh<br />
# N. Wilkens<br />
# 8.26.04</p>
<p align="left"># Location to sapinfo from sap SDK<br />
SAPINFO=/usr/sapsdk/bin/sapinfo<br />
#OVMSG=/opt/OV/bin/OpC/opcmsg</p>
<p align="left">&nbsp;</p>
<p align="left">#SAP_HOST_FILE has the followinf format:<br />
#&lt;INSTANCE_NO&gt; &lt;SID&gt; &lt;CI_HOSTNAME&gt; [OPTIONAL_APPSERVER HOSTNAMES.]</p>
<p align="left"># EXAMPLE:</p>
<p align="left">#00 PRD sapprod sapproda1 sapproda2 sapproda3<br />
#01 CRP sapcrp</p>
<p align="left">SAP_HOST_FILE=/usr/local/bin/SAP_HOSTS.PROD</p>
<p align="left">&nbsp;</p>
<p align="left">MAILGRP=emailaddr</p>
<p align="left"># function set_flag, creates a flag fil<br />
function set_flag {<br />
HOST=$1<br />
STATUS=$2</p>
<p align="left">case $STATUS in<br />
DOWN)   touch /tmp/${HOST}.flag ;;<br />
UP)     rm -f /tmp/${HOST}.flag ;;<br />
*)      echo &#8220;Not supported&#8221;    ;;<br />
esac<br />
}</p>
<p align="left">function send_alert {<br />
HOST=$1<br />
STATUS=$2</p>
<p align="left">echo &#8220;${HOST} is ${STATUS}&#8221; |mailx -s &#8220;${HOST} is ${STATUS}&#8221; ${MAILGRP}<br />
#${OVMSG}<br />
}</p>
<p align="left"># Check_Instance Function<br />
function check_instance {<br />
SYSNO=${1}; shift<br />
SID=${1}; shift<br />
HOST_LIST=${@}<br />
for host in ${HOST_LIST}<br />
do<br />
# if the host is already know to be down, then skip.<br />
if [ !${FLAGGED} ]<br />
then<br />
${SAPINFO} ashost=${host} sysnr=${SYSNO} &gt;&gt; /tmp/sapinfo.${host}</p>
<p align="left">        # if the sapinfo command determines the host is not available, then<br />
if [ $? -ne 0 ]<br />
then<br />
# IF the host flag file does not exist, then<br />
if [ ! -e /tmp/${host}.flag ]<br />
then<br />
sleep 5<br />
${SAPINFO} ashost=${host} sysnr=${SYSNO} &gt;&gt; /tmp/sapinfo.${host}<br />
if [ $? -ne 0 ]<br />
then<br />
status=DOWN<br />
set_flag $host $status<br />
send_alert $host $status<br />
#echo &#8220;${host} is down&#8221;<br />
rm /tmp/sapinfo.${host}</p>
<p align="left">                 #mv /tmp/sapinfo.${host} /tmp/sapinfo.${host}.$$  #useful for debugging problems<br />
fi<br />
#else<br />
#   echo &#8220;$host still down&#8221;<br />
fi<br />
#else if the host is available..<br />
else<br />
if [ -e /tmp/${host}.flag ]<br />
then<br />
status=UP<br />
set_flag $host $status<br />
send_alert $host $status<br />
#echo &#8220;${host} is up&#8221;<br />
else<br />
#echo &#8220;$host still up&#8221;<br />
rm /tmp/sapinfo.${host}<br />
fi<br />
fi<br />
else<br />
echo &#8220;FLAGGED.. &#8221;<br />
fi<br />
done<br />
if [ -e dev_rfc ]<br />
then<br />
rm dev_rfc<br />
fi<br />
}</p>
<p align="left">
#usage: check_instance &lt;SID_LIST&gt; # as defined above<br />
cat ${SAP_HOST_FILE} |while read HOST_LIST<br />
do<br />
check_instance $HOST_LIST &amp;<br />
done</p></blockquote>
<p><span class="article_seperator"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyblog.com/howto/sap-check-script.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rename / Move Oracle datafile</title>
		<link>http://www.techyblog.com/howto/rename-oracle-datafile.html</link>
		<comments>http://www.techyblog.com/howto/rename-oracle-datafile.html#comments</comments>
		<pubDate>Mon, 10 Mar 2008 15:45:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Howto]]></category>

		<guid isPermaLink="false">http://www.techyblog.com/howto/rename-oracle-datafile.html</guid>
		<description><![CDATA[I needed to move a datafiles from one directory to another. The datafile was created in the wrong location. Here is a procedure I used:

SQL&#62; select name from v$datafile;
NAME
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
/oracle/ACM/oradata/ACM/system01.dbf
/oracle/ACM/oradata/ACM/undotbs01.dbf
/oracle/ACM/oradata/ACM/sysaux01.dbf
/oracle/NRXD/oradata/ACM/users01.dbf    &#60;&#8212;- Datafile to be moved / renamed..
Now, the files to be moved are known, the database can be shut down:
SQL&#62; shutdown
The file(s) can [...]]]></description>
			<content:encoded><![CDATA[<p align="left">I needed to move a datafiles from one directory to another. The datafile was created in the wrong location. Here is a procedure I used:</p>
<p align="left"><span id="more-67"></span><br />
SQL&gt; select name from v$datafile;</p>
<p align="left">NAME<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
/oracle/ACM/oradata/ACM/system01.dbf<br />
/oracle/ACM/oradata/ACM/undotbs01.dbf<br />
/oracle/ACM/oradata/ACM/sysaux01.dbf<br />
/oracle/NRXD/oradata/ACM/users01.dbf    &lt;&#8212;- Datafile to be moved / renamed..</p>
<p align="left">Now, the files to be moved are known, the database can be shut down:</p>
<p align="left">SQL&gt; shutdown</p>
<p align="left">The file(s) can be copied to their destination:</p>
<p align="left">$ cp  /oracle/NRXD/oradata/ACM/users01.dbf \<br />
/oracle/ACM/oradata/ACM/users01.dbf<br />
$ sqlplus &#8220;/ as sysdba&#8221;</p>
<p align="left">
SQL&gt; startup exclusive mount<br />
SQL&gt; alter database rename file &#8216;/oracle/NRXD/oradata/ACM/users01.dbf&#8217; to<br />
&#8216;/oracle/ACM/oradata/ACM/users01.dbf&#8217;;<br />
SQL&gt; shutdown<br />
SQL&gt; startup<br />
SQL&gt; select name from v$datafile;</p>
<p align="left">NAME<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
/oracle/ACM/oradata/ACM/system01.dbf<br />
/oracle/ACM/oradata/ACM/undotbs01.dbf<br />
/oracle/ACM/oradata/ACM/sysaux01.dbf<br />
/oracle/ACM/oradata/ACM/users01.dbf</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyblog.com/howto/rename-oracle-datafile.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>APF and BFD on Debian</title>
		<link>http://www.techyblog.com/howto/apf-and-bfd-on-debian.html</link>
		<comments>http://www.techyblog.com/howto/apf-and-bfd-on-debian.html#comments</comments>
		<pubDate>Sat, 08 Mar 2008 18:35:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.techyblog.com/howto/apf-and-bfd-on-debian.html</guid>
		<description><![CDATA[Howto install APF / BFD on a Debian system
.. 
cd /opt
1. wget http://www.r-fx.ca/downloads/apf-current.tar.gz
2. wget http://www.mnxsolutions.com/scripts/apf.debian.init
3. tar -xzvf apf-current.tar.gz
4. cd apf-0.9.6-1/
5. ./install.sh
You will recieve back messages like below.. Notice the cp error.
Installing APF 0.9.6-1: cp: cannot create regular file `/etc/rc.d/init.d/apf&#8217;: No such file or directory
Completed.
&#160;
Installation Details:
Install path:         /etc/apf/
Config [...]]]></description>
			<content:encoded><![CDATA[<p>Howto install APF / BFD on a Debian system</p>
<p>.. <span id="more-45"></span></p>
<p>cd /opt</p>
<p>1. wget http://www.r-fx.ca/downloads/apf-current.tar.gz<br />
2. wget http://www.mnxsolutions.com/scripts/apf.debian.init</p>
<p>3. tar -xzvf apf-current.tar.gz<br />
4. cd apf-0.9.6-1/</p>
<p>5. ./install.sh<br />
You will recieve back messages like below.. Notice the cp error.</p>
<p>Installing APF 0.9.6-1: cp: cannot create regular file `/etc/rc.d/init.d/apf&#8217;: No such file or directory<br />
Completed.</p>
<p align="left">&nbsp;</p>
<p>Installation Details:<br />
Install path:         /etc/apf/<br />
Config path:          /etc/apf/conf.apf<br />
Executable path:      /usr/local/sbin/apf<br />
AntiDos install path: /etc/apf/ad/<br />
AntiDos config path:  /etc/apf/ad/conf.antidos<br />
DShield Client Parser:  /etc/apf/extras/dshield/</p>
<p>Other Details:<br />
Listening TCP ports: 21,25,53,465,587<br />
Listening UDP ports: 53,1812,1813,48921<br />
Note: These ports are not auto-configured; they are simply presented for information purposes. You must manually configure all port options.</p>
<p>6. mv /opt/apf.debian.init /etc/init.d/apf<br />
7. chmod +x  /etc/init.d/apf<br />
8. update-rc.d apf defaults<br />
9. Edit /etc/apf/conf.apf to appropriate settings you may include Listening TCP/UDP from above if approp.<br />
10. /etc/init.d/apf start</p>
<p>11. Validate, change /etc/apf/conf.apf DEVEL_MODE=&#8221;0&#8243;<br />
12. restart apf; /etc/init.d/apf restart</p>
<p>&#8212; Configure / Install BFD<br />
.. cd /opt<br />
1. wget http://www.r-fx.ca/downloads/bfd-current.tar.gz<br />
2. tar -xzvf bfd-current.tar.gz<br />
3. cd bfd-0.9/</p>
<p>4. ./install.sh<br />
5. vi /usr/local/bfd/conf.bfd</p>
<p>Modify SLOG=&#8221;/var/log/secure&#8221; to SLOG=&#8221;/var/log/auth.log&#8221;</p>
<p>6. cd /usr/local/bfd/rules<br />
7. mv sshd /tmp/bfd.old.rules.sshd   # Just in case<br />
8. wget http://www.mnxsolutions.com/scripts/bfd.rules.sshd -O sshd ; this works out of the box (or it did) for debian sarge.<br />
9. chmod 600 sshd</p>
<p>For ubuntu my sshd rule ended up like:</p>
<p>REQ=&#8221;/usr/sbin/sshd&#8221;<br />
if [ -f "$REQ" ]; then<br />
LP=&#8221;/var/log/auth.log&#8221;<br />
TLOG_TF=&#8221;sshd&#8221;<br />
TRIG=&#8221;3&#8243;<br />
TMP=&#8221;/usr/local/bfd/tmp&#8221;</p>
<p>## SSH<br />
ARG_VAL1=`$TLOGP $LP $TLOG_TF.1 | grep sshd | grep -viw &#8220;error: BIND&#8221; | sed &#8217;s/::ffff://&#8217; | grep -iw &#8220;Failed password for invalid user&#8221; | awk &#8216;{print$13&#8243;:&#8221;$11}&#8217; | grep -E &#8216;[0-9]+&#8217; &gt; $TMP/.sshd`<br />
ARG_VAL=`cat $TMP/.sshd`<br />
fi</p>
<p>10. edit /etc/ssh/sshd_config and add the following:</p>
<p>UseDNS no</p>
<p>11. /etc/init.d/ssh restart</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyblog.com/howto/apf-and-bfd-on-debian.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTTP to HTTPS via mod_rewrite</title>
		<link>http://www.techyblog.com/howto/http-to-https-via-mod_rewrite.html</link>
		<comments>http://www.techyblog.com/howto/http-to-https-via-mod_rewrite.html#comments</comments>
		<pubDate>Sat, 08 Mar 2008 18:34:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Rewrite]]></category>

		<guid isPermaLink="false">http://www.techyblog.com/howto/http-to-https-via-mod_rewrite.html</guid>
		<description><![CDATA[I was looking for this information one day, and thought I would share what I found.
&#160;
To redirect a website from http -&#62; https I utilized mod_rewrite. And created a .htaccess file with the following contents.
&#160;

$ cat .htaccess
Options FollowSymLinks
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)         https://your_server.com/$1
]]></description>
			<content:encoded><![CDATA[<p align="left">I was looking for this information one day, and thought I would share what I found.</p>
<p align="left">&nbsp;</p>
<p align="left">To redirect a website from http -&gt; https I utilized mod_rewrite. And created a .htaccess file with the following contents.</p>
<p align="left">&nbsp;</p>
<p align="left">
<blockquote><p>$ cat .htaccess<br />
Options FollowSymLinks<br />
RewriteEngine On<br />
RewriteCond %{SERVER_PORT} !^443$<br />
RewriteRule ^(.*)         https://your_server.com/$1</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.techyblog.com/howto/http-to-https-via-mod_rewrite.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xen virtualization notes</title>
		<link>http://www.techyblog.com/tech-news/xen-virtualization-notes.html</link>
		<comments>http://www.techyblog.com/tech-news/xen-virtualization-notes.html#comments</comments>
		<pubDate>Sat, 08 Mar 2008 18:33:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Linux News]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LVM]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://www.techyblog.com/tech-news/xen-virtualization-notes.html</guid>
		<description><![CDATA[I have recently been working virtualizing Windows and Linux machines using Xen.  A few things popped up along the way and a bit of research was done to make things work properly, these are some of the notes I used along the way.
&#160;
 &#8211; I am partial to using LVM based devices for creating my [...]]]></description>
			<content:encoded><![CDATA[<p align="left">I have recently been working virtualizing Windows and Linux machines using Xen.  A few things popped up along the way and a bit of research was done to make things work properly, these are some of the notes I used along the way.</p>
<p align="left">&nbsp;</p>
<p align="left"> &#8211; I am partial to using LVM based devices for creating my virtual machines.   Think lvm snapshots for backups.<br />
<span id="more-43"></span><br />
A setup I am working on now consists of 4 systems with a dedicated LVM device, and an lvm based mount point for file based VMs.</p>
<p># vgs<br />
VG     #PV #LV #SN Attr   VSize VFree<br />
xen1vg   1   6   0 wz&#8211;n- 1.96T 1.47T</p>
<p># lvs<br />
LV                VG     Attr   LSize   Origin Snap%  Move Log Copy%<br />
vm1rootlv         xen1vg -wi-a-  80.00G<br />
vm2rootlv         xen1vg -wi-a-  80.00G<br />
vm3rootlv         xen1vg -wi-a-  80.00G<br />
vm4rootlv         xen1vg -wi-a-  80.00G<br />
xen_master_img-lv xen1vg -wi-a-  80.00G<br />
xenimages1lv      xen1vg -wi-ao 100.00G</p>
<p>- If you decide to use a file based VM, but use a directory other than /var/lib/xen/images to store your image files, then selinux will get in the way. Use the following:<br />
# semanage fcontext -a -t xen_image_t &#8220;/&lt;new_directory&gt;(/.*)?&#8221;<br />
# restorecon -R /&lt;new_directory&gt;/</p>
<p>- If something is not working check /var/log/audit/audit.log and &#8216;dmesg&#8217;, disable selinux: &#8217;setenforce 0&#8242;.</p>
<p>- If your system is installing or using a file based cdrom device, and you need to insert or change to another disk:<br />
# xm block-list &lt;vmname&gt;<br />
Vdev  BE handle state evt-ch ring-ref BE-path<br />
768    0    0     1      -1     -1    /local/domain/0/backend/vbd/14/768<br />
5632    0    0     1      -1     -1    /local/domain/0/backend/vbd/14/5632</p>
<p># xm block-detach &lt;vmname&gt; 5632 -f<br />
# xm block-attach &lt;vmname&gt; file:/xen-images/nextdisk.iso hdc:cdrom r</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyblog.com/tech-news/xen-virtualization-notes.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netdump, figuring out what caused that system crash</title>
		<link>http://www.mnxsolutions.com/blog/linux/netdump-figuring-out-what-caused-that-system-crash.html</link>
		<comments>http://www.mnxsolutions.com/blog/linux/netdump-figuring-out-what-caused-that-system-crash.html#comments</comments>
		<pubDate>Sat, 08 Mar 2008 18:06:36 +0000</pubDate>
		<dc:creator>MNX Solutions</dc:creator>
				<category><![CDATA[Howto]]></category>

		<guid isPermaLink="false">http://www.techyblog.com/howto/netdump-figuring-out-what-caused-that-system-crash.html</guid>
		<description><![CDATA[We have all been there before.  Your server crashed, nothing indicates what happened.  You check /var/log/messages and all you see is.. well.. nothing. With no sign of what happened, or indication of why it happened you are left to.. wait until it happens again.
On Red Hat based systems, you have an answer.  [...]]]></description>
			<content:encoded><![CDATA[We have all been there before.  Your server crashed, nothing indicates what happened.  You check /var/log/messages and all you see is.. well.. nothing. With no sign of what happened, or indication of why it happened you are left to.. wait until it happens again. On Red Hat based systems, you have an answer.  [...]]]></content:encoded>
			<wfw:commentRss>http://www.mnxsolutions.com/blog/linux/netdump-figuring-out-what-caused-that-system-crash.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dedicated Linux Server Checklist for the New Year.</title>
		<link>http://www.mnxsolutions.com/blog/quick-tip/dedicated-linux-server-checklist-for-the-new-year.html</link>
		<comments>http://www.mnxsolutions.com/blog/quick-tip/dedicated-linux-server-checklist-for-the-new-year.html#comments</comments>
		<pubDate>Sat, 08 Mar 2008 18:06:36 +0000</pubDate>
		<dc:creator>MNX Solutions</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[News and Talk]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.techyblog.com/howto/dedicated-linux-server-checklist-for-the-new-year.html</guid>
		<description><![CDATA[If you have a dedicated Linux server, this list is for you.  Below are a few items you need to do, to ensure your 2008 will be a bit brighter.  This list is by no means comprehensive, but hopefully gets you started in the right direction this year.

 Check your backups and perform a [...]]]></description>
			<content:encoded><![CDATA[If you have a dedicated Linux server, this list is for you.  Below are a few items you need to do, to ensure your 2008 will be a bit brighter.  This list is by no means comprehensive, but hopefully gets you started in the right direction this year.

Check your backups and perform a [...]]]></content:encoded>
			<wfw:commentRss>http://www.mnxsolutions.com/blog/quick-tip/dedicated-linux-server-checklist-for-the-new-year.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cPanel / Fantastico Deluxe install doesn’t do anything.</title>
		<link>http://www.mnxsolutions.com/blog/quick-tip/cpanel-fantastico-deluxe-install-doesnt-do-anything.html</link>
		<comments>http://www.mnxsolutions.com/blog/quick-tip/cpanel-fantastico-deluxe-install-doesnt-do-anything.html#comments</comments>
		<pubDate>Sat, 08 Mar 2008 18:06:36 +0000</pubDate>
		<dc:creator>MNX Solutions</dc:creator>
				<category><![CDATA[Howto]]></category>

		<guid isPermaLink="false">http://www.techyblog.com/howto/cpanel-fantastico-deluxe-install-doesn%e2%80%99t-do-anything.html</guid>
		<description><![CDATA[We ran into an issue when installing Fantastico.  After clicking the installation button, everything seemed to download just fine, but every time you go back to the Fantastico link it says it is not installed.
It turns out, Fantastico uses wget to download files.  wget is called with the &#8216;-P&#8217; option, which is not [...]]]></description>
			<content:encoded><![CDATA[We ran into an issue when installing Fantastico.  After clicking the installation button, everything seemed to download just fine, but every time you go back to the Fantastico link it says it is not installed.
It turns out, Fantastico uses wget to download files.  wget is called with the ‘-P’ option, which is not [...]]]></content:encoded>
			<wfw:commentRss>http://www.mnxsolutions.com/blog/quick-tip/cpanel-fantastico-deluxe-install-doesnt-do-anything.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL threads tuning</title>
		<link>http://www.techyblog.com/howto/mysql-threads-tuning.html</link>
		<comments>http://www.techyblog.com/howto/mysql-threads-tuning.html#comments</comments>
		<pubDate>Wed, 21 Feb 2007 15:21:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Tuning]]></category>

		<guid isPermaLink="false">http://www.techyblog.com/howto/mysql-threads-tuning.html</guid>
		<description><![CDATA[Some quick info I have pulled off of the web on MySQL performance tuning.  I am currently working on some mysql performance tuning and this is some of the information I have gathered.
&#160;
Threads_created details the number of threads that have been created since the MySQL server started, and Connections is the total number of client [...]]]></description>
			<content:encoded><![CDATA[<p align="left">Some quick info I have pulled off of the web on MySQL performance tuning.  I am currently working on some mysql performance tuning and this is some of the information I have gathered.</p>
<p align="left">&nbsp;</p>
<p align="left">Threads_created details the number of threads that have been created since the MySQL server started, and Connections is the total number of client connections to the MySQL server since startup. To work out the thread cache hit ratio, we use this calculation:</p>
<p align="left"><span id="more-83"></span></p>
<p>100 &#8211; ((Threads_created / Connections) * 100)<br />
100 &#8211; ((10 / 78298) * 100) = ~99.987 Thread cache hit ratio</p>
<p align="left">The ideal situation is to get Threads_created as close as possible to thread_cache_size &#8211; no new connections having to wait for new thread allocation &#8211; staying as close to around a 99% hit ratio as you can.</p>
<p>Of course, these hit ratios can be skewed on a system that has recently been restarted.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techyblog.com/howto/mysql-threads-tuning.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
