<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4960849300372847040</id><updated>2024-10-07T12:23:09.383+05:30</updated><category term="Network Basics"/><category term="Networking"/><category term="Internet"/><category term="Setup SVN Server"/><category term="DNS"/><category term="Gateway"/><category term="Proxy"/><category term="SVN Daemon"/><category term="SVN Installation and Configuration"/><category term="SVN Service"/><category term="SVN over Web"/><category term="Squid Load Balancer"/><category term="Apache Proxy"/><category term="Apache Rewrite Rule"/><category term="Apache Security Issue"/><category term="Apache VirtualHost"/><category term="Apache with SQUID"/><category term="CEntOS"/><category term="Configuration Management"/><category term="Custom Service"/><category term="DNS Cache Server"/><category term="Dynamic VHost"/><category term="Forwarding HTTP-AUTH in SQUID"/><category term="HTTP-AUTH behind SQUID"/><category term="HTTP-AUTH failure in Apache"/><category term="Indefero"/><category term="Integrated Project Management"/><category term="Linux"/><category term="Linux Startup Scripts"/><category term="Local DNS Cache"/><category term="Perl Rewrite Rule"/><category term="Perl and Apache"/><category term="Project Tracking"/><category term="Redmine"/><category term="RewriteLock"/><category term="RewriteLog"/><category term="RewriteMap"/><category term="SQUID Login Pass"/><category term="SVN"/><category term="SVN Browser"/><category term="SVN Over HTTP"/><category term="SVN RSS"/><category term="SVN Server in Apache"/><category term="SVN User Management"/><category term="SVN Web Administration"/><category term="SVN Web Review"/><category term="Shell Scripts"/><category term="Squid"/><category term="Squid Cache Clearing"/><category term="Squid Cache Optimizer"/><category term="Squid Cache Server"/><category term="Squid Flushing the Cache"/><category term="Subnet Mask"/><category term="Trac"/><category term="Two machine Load balancer"/><category term="USVN"/><category term="Userfriendly SVN"/><category term="Version Control"/><category term="WebSVN"/><category term="dnsmasq"/><category term="installaion"/><category term="mod_rewrite"/><category term="php"/><category term="php-pear"/><category term="phpUnit"/><title type='text'>Killer Configurations</title><subtitle type='html'>Blog on configuration management, Server installation and administration, configuring services / applications. Setting up a network, hosting new services, problem solving on server errors, automating server tasks. Optimizing and performance tuning the applications and servers. Clustering, Cache tuning, network optimization and administration tools.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-6551822815255919953</id><published>2010-03-30T10:29:00.001+05:30</published><updated>2010-03-30T10:31:17.628+05:30</updated><title type='text'>Structuring the network services - A simple start</title><content type='html'>As a network administrator, we keep our network growing and up all the time. But, some decisions which we have taken early, becomes a mess and creates many issues now. Yes the one of the issues well known for most of the administrators are the IP assigning.&lt;br /&gt;
&lt;br /&gt;
One of the network started with 4 computers, later became 2 servers and 10 stations, later increased and became more than 50. The computers were not fixed in same place, they started moving between departments, a new one started to get added every week, while new laptop users jumped on and off. 3rd party providers came to office and started working for some time and they were, on and off.&lt;br /&gt;
&lt;br /&gt;
The static IPs were split into zones and assigned but later the tracks were not right.. The PC entry log(at the gates)  said we have more than 200 visitors every 3 months. Where our sub-net supports only 255 computer!!!!!!&lt;br /&gt;
&lt;br /&gt;
Yes the answer is simple, we need a DHCP.... but we also needed proper network structure.&lt;br /&gt;
We need to know the network usage properly. We have wireless users and wired network users.&lt;br /&gt;
All wireless users are laptop users, while few laptops connect through the wired network.&lt;br /&gt;
&lt;br /&gt;
The first level of separation is wired users and wireless users. Our internet gateway server has 2 Network cards which connects to internet and wired network, while the wired and network and wireless are mixed through the hubs.&lt;br /&gt;
&lt;br /&gt;
Now a new NIC card is added in the gateway server and that is used to connect to the wireless hub. A DHCP is used to assign range of IPs for wired network (192.168.1.51 - 150). While the gateway server for wireless network is the same gateway server, but it uses different network address range in 192.168.2.x, A DHCP for this zone is enabled and the IP is leased from 192.168.2.51 to 192.168.2.100.&lt;br /&gt;
&lt;br /&gt;
Now the network has few servers where they belong to wired networks... their IPs are added to static range from 192.168.1.2 to 192.168.1.50.&lt;br /&gt;
&lt;br /&gt;
The gateway server now has a firewall / routing rule. Only few mac address of the wireless network are allowed to connect the wired network while the rest can only access internet.&lt;br /&gt;
While the wired network can access all the wireless network.&lt;br /&gt;
&lt;br /&gt;
The new installed PCs now work with DHCP never need to care about the IP when new users come in. Security to a level is in place..... but not 100% will discuss more about this in upcoming posts.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/6551822815255919953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/6551822815255919953' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/6551822815255919953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/6551822815255919953'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2010/03/structuring-network-services-simple.html' title='Structuring the network services - A simple start'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-5729157478643659581</id><published>2010-02-19T19:31:00.006+05:30</published><updated>2010-03-25T09:46:37.664+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="DNS"/><category scheme="http://www.blogger.com/atom/ns#" term="Gateway"/><category scheme="http://www.blogger.com/atom/ns#" term="Internet"/><category scheme="http://www.blogger.com/atom/ns#" term="Network Basics"/><category scheme="http://www.blogger.com/atom/ns#" term="Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="Proxy"/><title type='text'>Basics of Networking - Part 4 (Debugging Basics)</title><content type='html'>The past posts on the blog were on the basics of networking....&lt;br /&gt;Now we are about to see how can we debug is something is wrong in the setup.&lt;br /&gt;&lt;br /&gt;The following posts will help to debug faster.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href=&quot;http://killerconfigurations.blogspot.com/2010/01/basics-of-networking.html&quot;&gt;Basics of Networking - Part 1 - Assigning IPs&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://killerconfigurations.blogspot.com/2010/01/basics-of-networking-part-2-connecting.html&quot;&gt;Basics of Networking - Part 2 - Connecting Internet&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://killerconfigurations.blogspot.com/2010/02/basics-of-networking-part-3-internet.html&quot;&gt;Basics of Networking - Part 3 - Internet through Proxy&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;The default way to go through the debugging will be the following way.&lt;br /&gt;This approach starts to analyze the problem from the PC where the problem is found.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;ping 127.0.0.1&lt;br /&gt;If fails, check do the network services are started.&lt;/li&gt;&lt;li&gt;ping assigned IP.&lt;br /&gt;If fails, check the network cable is properly plugged-in&lt;/li&gt;&lt;li&gt;ping gateway&lt;br /&gt;If fails, check the gateway is on and the IPs are in same subnet.&lt;/li&gt;&lt;li&gt;ping DNS / Name servers. (Only if routed / NAT is available)&lt;br /&gt;If fails ping the same from gateway.&lt;/li&gt;&lt;li&gt;ping the gateway of the gateway from the gateway computer.&lt;br /&gt;If fails, check do you have the broadband signals / link is up.&lt;/li&gt;&lt;li&gt;All works but still can&#39;t connect?&lt;br /&gt;try tracepath / traceroute with a google.com or yahoo.com&lt;br /&gt;Find at which level it fails.....&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Most probably the debugging the issues are based on what problems we have...&lt;br /&gt;Remember a blind issue of internet not working is OK to hear from others... but not when we are working in detail.&lt;br /&gt;So here are some FAQs....&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Could not ping Gateway but my network wires are properly plugged.&lt;/li&gt;&lt;li&gt;Gateway pings but could not resolve host names.&lt;/li&gt;&lt;li&gt;I use a proxy. My http connection works but not https and ftp.&lt;/li&gt;&lt;li&gt;SSH connections are not working after introduction of proxy.&lt;/li&gt;&lt;li&gt;I use proxy. DNS name resolving works in the browser but fails in the terminal.&lt;/li&gt;&lt;li&gt;Internet works through browser, but can&#39;t ping any IPs / Hosts in the internet.&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;1. Could not ping Gateway but my network wires are properly plugged&lt;/span&gt;.&lt;br /&gt;This may be due to improper IP assigning. We need to make sure that the IP of the PC and the gateway are in same network. (i.e are they in same subnet...). Theoretically they should be ping able to fix this issue. (Please refer the post assigning IPs)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;2. Gateway pings but could not resolve host names.&lt;/span&gt;&lt;br /&gt;This is due to improper DNS configuration. Is it possible to ping the DNS servers? If yes we need to be sure, they are really DNS servers ;-).  If not ping able, we need to know do the DNS servers IPs are in our range of IPs (Within our subnet) or not. If the IP is within our subnet we may need to verify the DNS server configuration to make it work right. If the IP is out of our network. We may need to ping the DNS server from the gateway PC, i.e sometimes the gateway of the gateway might have network issues not letting us to connect to Internet....&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;3. I use a proxy. My http connection works but not https and ftp.&lt;/span&gt;&lt;br /&gt;The proxy server has different way to support different protocols. Some proxy servers use same port for all kinds of requests. If so the client setting should have same proxy setting for different kind of services. Some proxy servers block may not serve certain protocols, better check the proxy configuration to very the supported protocols.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;4. SSH connections are not working after introduction of proxy.&lt;/span&gt;&lt;br /&gt;If the client is PuTTy we can configure the proxy settings in the PuTTy. If the client is a linux terminal and we have the problem only for SSH. we need to use http proxy for SSH, tools like &lt;a href=&quot;http://daniel.haxx.se/docs/sshproxy.html&quot;&gt;corkscrew with ProxyCommand&lt;/a&gt; in linux will help. The other workaround is to support NAT in the gateway so both proxy and NAT.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;5. I use proxy. DNS name resolving works in the browser but fails in the  terminal.&lt;/span&gt;&lt;br /&gt;When the browser works with proxy, the name resolving happens in the proxy server while when we try in terminal we have the name resolving based on the DNS server settings in the IP / Network configuration, May be NAT is disabled in the network so we cannot resolve the DNS directly from the current PC.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;6. Internet works through browser, but can&#39;t ping any IPs / Hosts in the  internet&lt;/span&gt;.&lt;br /&gt;This is similar to the previous question, enabling NAT will support pinging from any PC in network, The internet works in browser because of the Proxy settings.&lt;br /&gt;&lt;br /&gt;The above are not the complete list of problems that might come... they will change according to the network and the usage of network services. The NAT / Proxy has its own advantages and disadvantages where the issues are because of them... Planning the network again falls on what kind of services we use and the debugging procedure remains the same, how big the network is.&lt;br /&gt;&lt;br /&gt;Will keep you posted on some new network services and setting up a right infrastructure.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/5729157478643659581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/5729157478643659581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/5729157478643659581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/5729157478643659581'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2010/02/basics-of-networking-part-4-debugging.html' title='Basics of Networking - Part 4 (Debugging Basics)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-6579130899803007918</id><published>2010-02-04T23:08:00.004+05:30</published><updated>2010-02-19T19:26:27.973+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Internet"/><category scheme="http://www.blogger.com/atom/ns#" term="Network Basics"/><category scheme="http://www.blogger.com/atom/ns#" term="Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="Proxy"/><title type='text'>Basics of Networking - Part 3 (Internet through Proxy)</title><content type='html'>Hurray.... &lt;a href=&quot;http://killerconfigurations.blogspot.com/2010/01/basics-of-networking.html&quot;&gt;My network is UP&lt;/a&gt;........&lt;br /&gt;Hurray.... &lt;a href=&quot;http://killerconfigurations.blogspot.com/2010/01/basics-of-networking-part-2-connecting.html&quot;&gt;My Router shares the internet connection.&lt;/a&gt;......&lt;br /&gt;&lt;br /&gt;Do I need a &lt;a href=&quot;http://en.wikipedia.org/wiki/Proxy_server&quot;&gt;Proxy&lt;/a&gt;?&lt;br /&gt;A good point that makes us to think. Do we need a proxy? When the router shares the internet. Why do we need a proxy?&lt;br /&gt;&lt;br /&gt;If the ADSL modem is our router. We need to think about proxy based on our network size. Sharing about hard learning, we felt the router was extremely good to share internet connection acting as a gateway. But when the network size started to grow we faced frequent network connection drops.... Why?&lt;br /&gt;&lt;br /&gt;The ADSL Router was not good enough to handle the too many requests from different machines. May be this is not the case for all the routers but our router did this to us (The router is a least version provided by the ISP, not  designed for high traffic).&lt;br /&gt;&lt;br /&gt;Whats up next?&lt;br /&gt;Let the internet connection be bridged. Let the PC take up the load....&lt;br /&gt;Let the PC take up the Proxy......&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjISY30syBtH3QJbBO5KGGahNS6Y6PeWQSgMw79KleS_JCwwgUYLlRrJ-rbK8OOLSkkRBJhZXhtZ5oqUpk_mDyj1K-BrFcAtZxF-UPYOBUNsZnZngIhTMygKa5HOjE56X8x9Rv_CQlp1re_/s1600-h/computer-network-components-switch-proxy.png&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 283px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjISY30syBtH3QJbBO5KGGahNS6Y6PeWQSgMw79KleS_JCwwgUYLlRrJ-rbK8OOLSkkRBJhZXhtZ5oqUpk_mDyj1K-BrFcAtZxF-UPYOBUNsZnZngIhTMygKa5HOjE56X8x9Rv_CQlp1re_/s400/computer-network-components-switch-proxy.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5439938896572296866&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Yes. We are to the topic now.......... Let us know about &lt;a href=&quot;http://en.wikipedia.org/wiki/Proxy_server&quot;&gt;proxies&lt;/a&gt; to get internet shared in the network.&lt;br /&gt;&lt;br /&gt;What is a Proxy?&lt;br /&gt;To keep it short. It is an application that acts a layer in between our  application (browser) and the web server.&lt;br /&gt;&lt;br /&gt;Let us understand the network now.&lt;br /&gt;All the PCs are in same sub-net&lt;br /&gt;PC - A - 192.168.1.1&lt;br /&gt;Laptop - 192.168.1.2&lt;br /&gt;PC - C - 192.168.1.3&lt;br /&gt;&lt;br /&gt;Gateway for all should be 192.168.1.1 (PC A, should not have a gateway)&lt;br /&gt;&lt;br /&gt;The PC A is running on Windows.........&lt;br /&gt;It has two NIC (Network Interface Card). The first one connects to the ADSL router for Internet connection using the bridging option. The second one now connects to the local network with the IP 192.168.1.1&lt;br /&gt;&lt;br /&gt;To make the internet connection simple, use &lt;a href=&quot;http://www.analogx.com/contents/download/Network/proxy/Freeware.htm&quot;&gt;AnalogX Proxy&lt;/a&gt;.&lt;br /&gt;Download and install it. When we run it... We see it runs on a Port 6588.&lt;br /&gt;&lt;br /&gt;Yes it listens on 6588 Port on 192.168.1.1&lt;br /&gt;We need to say this in our browsers and other internet accessing application like GTalk, Skype, Yahoo Chat and more&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://windowsxp.mvps.org/analogx.htm&quot;&gt;Click here&lt;/a&gt; to know on how to configure your browser.&lt;br /&gt;&lt;br /&gt;Do we need to go only with AnalogX?&lt;br /&gt;No not at all.....&lt;br /&gt;We have too many proxy software with very advanced operations.&lt;br /&gt;&lt;br /&gt;Are you having a SOHO (Small Office / Home Office) Network?&lt;br /&gt;Wanted more than a normal proxy?&lt;br /&gt;Still wanted the NAT(Network Address Translation) Feature of the ADSL router with a PC as a gateway?&lt;br /&gt;Wanted more features of Proxy, Firewall and Advanced gateway?&lt;br /&gt;&lt;br /&gt;The answer would be, try &lt;a href=&quot;http://www.ipcop.org/&quot;&gt;IPCop-Linux.&lt;/a&gt;.......&lt;br /&gt;&lt;br /&gt;When the network grows..... Want too many things to do for internet?&lt;br /&gt;Keep watching..... We will see, how to load balance internet connectivity with multiple Internet connections and multiple proxy servers. There are more to come, for now will go with basics in the network.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/6579130899803007918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/6579130899803007918' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/6579130899803007918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/6579130899803007918'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2010/02/basics-of-networking-part-3-internet.html' title='Basics of Networking - Part 3 (Internet through Proxy)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjISY30syBtH3QJbBO5KGGahNS6Y6PeWQSgMw79KleS_JCwwgUYLlRrJ-rbK8OOLSkkRBJhZXhtZ5oqUpk_mDyj1K-BrFcAtZxF-UPYOBUNsZnZngIhTMygKa5HOjE56X8x9Rv_CQlp1re_/s72-c/computer-network-components-switch-proxy.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-4296274370819370296</id><published>2010-01-30T14:10:00.006+05:30</published><updated>2010-02-04T22:54:35.693+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Internet"/><category scheme="http://www.blogger.com/atom/ns#" term="Network Basics"/><category scheme="http://www.blogger.com/atom/ns#" term="Networking"/><title type='text'>Basics of Networking - Part 2 (Connecting Internet)</title><content type='html'>For a long time network was an unknown thing, while I was using the network services without knowing how it works....&lt;br /&gt;&lt;br /&gt;Have I understood it now? Well the answer is &quot;partially&quot;. Yes still it is an unknown mystery for me.&lt;br /&gt;&lt;br /&gt;But how could I write about something I don&#39;t know?&lt;br /&gt;I would say. I write something that I have learned hard.... spent months and years and found a simple solution may I was in wrong direction, I had no right person behind me to teach. All you see in this blog is not learned from a course... but learned when needed, some through other sources, some through practical experience and what ever worked well after the learning is written but they are not always best.... ;-) You find a better way later or you may know it. If so  please correct me when they are wrong.&lt;br /&gt;&lt;br /&gt;Going to the topic... Let us start inter-networking (I mean, connect to internet).&lt;br /&gt;&lt;br /&gt;What are we going to and not going to discuss in this connecting to internet&lt;br /&gt;&lt;br /&gt;We are about to see how can we connect the entire network to internet and we are not going to discuss about single PC internet connection as that will be mostly explained by the ISP.&lt;br /&gt;&lt;br /&gt;We assume that we are using a broadband connection to share among our network.&lt;br /&gt;&lt;br /&gt;Always an broadband internet connection has to go through a router, also called as ADSL modems. These modems take care of two things&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Digital signal transmission through the telephone lines.&lt;/li&gt;&lt;li&gt;Acts as a router and becomes our gateway.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;The second point looks odd and we are not clear on what it is going to do. Let us make it clear.&lt;br /&gt;&lt;br /&gt;Router is usually a device that is usually used to forward information between two networks, basically to connect networks of different subnet.&lt;br /&gt;&lt;br /&gt;To access internet we need an IP address that is matching to the network of the provider (ISP). So the Router gets the IP from the ISP and on the other end it also has a local IP of our network.&lt;br /&gt;&lt;br /&gt;Do this means it has two IPs?&lt;br /&gt;Yes, it has two IPs, one end for the internet and other for our local network.&lt;br /&gt;It acts as the gateway for the network. (Read - &lt;a href=&quot;http://killerconfigurations.blogspot.com/2010/01/basics-of-networking.html&quot;&gt;Basics of networking&lt;/a&gt;).&lt;br /&gt;So all the internet requests navigate through this gateway and this gateway contacts the ISP to get our requests answered.&lt;br /&gt;&lt;br /&gt;What else it can do?&lt;br /&gt;This router also connects in an other mode called bridging. The bridging is a simple way of only acting as a modem and it translates the computer signals through the ISDN wire while the IP of the provider is directly assigned to the computer to which the router is connected. The bridging is possible if only one computer connects to the internet through the router.&lt;br /&gt;&lt;br /&gt;The IP will be assigned dynamically or statically. They become active on boot or using PPPoE (Point to Point Protocol over Ethernet) dial-up.&lt;br /&gt;&lt;br /&gt;How do we share the internet from the router?&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyadYHnOllI5X6vWPTcEcfupRJ4z0Xw3gD90oDHgsRSUHhaqIY6pGT_7qCt79SNeLrvs4LTxLDxc6_regpdRXBlHoyY6qAJBSZ_JXgUv5btykElCIAkbb1mh1fVjBg6vMNssu-EDkLddDU/s1600-h/computer-network-components-switch-router.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 369px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyadYHnOllI5X6vWPTcEcfupRJ4z0Xw3gD90oDHgsRSUHhaqIY6pGT_7qCt79SNeLrvs4LTxLDxc6_regpdRXBlHoyY6qAJBSZ_JXgUv5btykElCIAkbb1mh1fVjBg6vMNssu-EDkLddDU/s400/computer-network-components-switch-router.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5434437501134653266&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;IP Details&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Modem/Router - 192.168.1.1&lt;/li&gt;&lt;li&gt;PC A - 192.168.1.2&lt;/li&gt;&lt;li&gt;Laptop B - 192.168.1.3&lt;/li&gt;&lt;li&gt;PC C - 192.168.1.4&lt;/li&gt;&lt;/ol&gt;All the above has same subnet and same gateway 192.168.1.1 which means the router is the gateway for all IPs.&lt;br /&gt;&lt;br /&gt;All the PC needs &lt;a href=&quot;http://en.wikipedia.org/wiki/Domain_Name_System&quot;&gt;DNS&lt;/a&gt; Server IP to identify the websites out of its network. The DNS IPs will be provided by the ISP or we can use &lt;a href=&quot;http://code.google.com/speed/public-dns/&quot;&gt;Google&#39;s Public DNS&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Thus the ADSL router makes internet available for all the computers in the network.&lt;br /&gt;&lt;br /&gt;While we will discuss on sharing the internet using a proxy in upcoming posts.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/4296274370819370296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/4296274370819370296' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/4296274370819370296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/4296274370819370296'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2010/01/basics-of-networking-part-2-connecting.html' title='Basics of Networking - Part 2 (Connecting Internet)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyadYHnOllI5X6vWPTcEcfupRJ4z0Xw3gD90oDHgsRSUHhaqIY6pGT_7qCt79SNeLrvs4LTxLDxc6_regpdRXBlHoyY6qAJBSZ_JXgUv5btykElCIAkbb1mh1fVjBg6vMNssu-EDkLddDU/s72-c/computer-network-components-switch-router.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-2011422716150976858</id><published>2010-01-30T12:41:00.009+05:30</published><updated>2010-01-30T13:06:12.715+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gateway"/><category scheme="http://www.blogger.com/atom/ns#" term="Network Basics"/><category scheme="http://www.blogger.com/atom/ns#" term="Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="Subnet Mask"/><title type='text'>Basics of networking - Part 1 (Assiging IPs)</title><content type='html'>&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Let us start networking.... ;-) Not social networking&lt;/span&gt;  &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;Since the start of the blog, we have been to the topic and this time too we are to the topic.&lt;/p&gt;  &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;We are about to connect more than two computers to form a network. This involves various process to make it happen. As this blog is more about configuration management, we expect the readers to know more than basics in the computers. To start with they should know to change IP addresses in the OS.&lt;/p&gt;  &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;I assume we are not about to discuss about hardware issues here and the following are correct.&lt;/p&gt; &lt;ol style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;li&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;The network cables are properly  crimped and they work.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;The network switch or hub used to  connect is working good.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;The NIC (Network Interface Card)  is installed properly and is working good.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;The OS has necessary drivers and  supports TCP / IP (IPv4)&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;The user has enough rights to  change and play with Network Setting in his environment&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt;  &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;When most of us know “what is an IP Address” and “how it is useful”. We forget to understand how it really connects to more computers than what we have near us.&lt;/p&gt;  &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;Hmmmmmmmmmm.................. What are we going to learn about IP Address now?&lt;/p&gt;  &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;Though most of us know what an IP Address is, am adding some simple explanations to go further.&lt;/p&gt; &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;IP Address is like a name to a computer, Which we use to identify the computer, but these are not names with alphabets but with numbers. They are 4 numbers each number separated by a “.” . Each number has a range from 0 – 255 (8 bit). Eg: 192.168.1.1&lt;/p&gt;  &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;To make a machine work in network it needs an IP Address to identify in the crowd and this should be unique within the network.&lt;/p&gt; &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;As we decided to connect more than two computers in a network. We are going with the following example.&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzWusg-P3Oyyjkc9B9HmfJFSo6fs11got2QS8PSHNUsb1aGVUtjBdNrVltG__8Z5TMQgo0z_WXUjrbbXLc-IG1g5wXyfUuDrLGjy15lPqyUq0SrowAwstUiynCTw0CTceOptmy4LeHz5pk/s1600-h/computer-network-components-switch.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 369px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzWusg-P3Oyyjkc9B9HmfJFSo6fs11got2QS8PSHNUsb1aGVUtjBdNrVltG__8Z5TMQgo0z_WXUjrbbXLc-IG1g5wXyfUuDrLGjy15lPqyUq0SrowAwstUiynCTw0CTceOptmy4LeHz5pk/s400/computer-network-components-switch.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5432427554159125554&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;The IP Address are differentiated into classes A,B, C. Since we are more into action, I would recommend to read about it more detailed. We are having a sample IP Address 192.168.1.1, Let us use this for our network. Before using we need to ensure that they are connected to each other as in the above diagram. &lt;/p&gt; &lt;ol style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;li&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;A – 192.168.1.1&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;B – 192.168.1.2&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style=&quot;margin-bottom: 0in;&quot;&gt;C – 192.168.1.3&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;OK. Is this IP address enough to communicate? No we need to say a subnet to make this work. &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;Subnet............ What is it?&lt;/p&gt;  &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;Subnet is a notatation or a number used to say how many computers do this IP Address can connect and what is the starting IP of this range and ending IP of this range. The subnets are also similar to IP but they have few calculations. I would recommend to try the application in &lt;a href=&quot;http://www.subnet-calculator.com/&quot;&gt;http://www.subnet-calculator.com/&lt;/a&gt; where it explains the change in subnets and the change in ranges for that.&lt;/p&gt;  &lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;So we choose subnet 255.255.255.248 as it has range of 192.168.1.1 – 192.168.1.6 (6 computers in the network)&lt;/p&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;What happens when an IP is out of this range? How can we access it?&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Here comes a gateway for the network. Which always has the door(gate) to access the other network IP. The gate way will be always the first IP in the subnet range, this is not a rule but this is a best practice to identify the gateway in any network. 192.168.1.1 is the gateway here. Setting this up in all the machines(A, B and C) should make the network accessible within the A, B and C.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;So, we should be able to ping 192.168.1.2 from Machine A and C and the rest of IPs from other machines(A,B and C).&lt;/span&gt; This confirms the network setup.&lt;br /&gt;&lt;p style=&quot;margin-bottom: 0in; color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/2011422716150976858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/2011422716150976858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/2011422716150976858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/2011422716150976858'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2010/01/basics-of-networking.html' title='Basics of networking - Part 1 (Assiging IPs)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzWusg-P3Oyyjkc9B9HmfJFSo6fs11got2QS8PSHNUsb1aGVUtjBdNrVltG__8Z5TMQgo0z_WXUjrbbXLc-IG1g5wXyfUuDrLGjy15lPqyUq0SrowAwstUiynCTw0CTceOptmy4LeHz5pk/s72-c/computer-network-components-switch.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-6750299512108306749</id><published>2009-12-10T12:17:00.002+05:30</published><updated>2009-12-10T21:46:08.372+05:30</updated><title type='text'>Lets Make this blog interesting</title><content type='html'>This post is something related to the &lt;a href=&quot;http://killerconfigurations.blogspot.com/2009/07/my-first-blog-for-killer-configurations.html&quot;&gt;first post&lt;/a&gt; in this blog.&lt;br /&gt;&lt;br /&gt;The blog for the five months have been random and was rolling across different topics, not consistent on any topic and now its time to make it organized and more interesting for reader, by bringing a series of topics closely related to each other, helps to learn from it and implement on a run.&lt;br /&gt;&lt;br /&gt;Q:Whats gonna be in the series?&lt;br /&gt;A:To be short the series will be for system / server / network administrators.&lt;br /&gt;&lt;br /&gt;Q: Whats is the upcoming series?&lt;br /&gt;A: Steps in setting up a small / medium office network.&lt;br /&gt;&lt;br /&gt;Q: .....?&lt;br /&gt;A: Hope your further questions will be answered in upcoming posts ;-)&lt;br /&gt;&lt;br /&gt;Will make a reliable network with basic services...... Till then keep watching the blog</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/6750299512108306749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/6750299512108306749' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/6750299512108306749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/6750299512108306749'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/12/lets-make-this-blog-interesting.html' title='Lets Make this blog interesting'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-2918951358874792646</id><published>2009-11-30T21:10:00.002+05:30</published><updated>2009-11-30T21:30:40.099+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Custom Service"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux Startup Scripts"/><category scheme="http://www.blogger.com/atom/ns#" term="Shell Scripts"/><title type='text'>Adding our own Linux startup scripts</title><content type='html'>Do we need to start something when Linux system starts?&lt;br /&gt;Its not a service.... But I need to run this command when system starts....&lt;br /&gt;&lt;br /&gt;Yes here is a small part which astonished me as I have not learnt this for years and missed it when I need....&lt;br /&gt;&lt;br /&gt;Let us take a sample case: We might need to start a SVN daemon on the system.&lt;br /&gt;#&lt;span style=&quot;font-style: italic;&quot;&gt;svnserve -d /srv/repositories&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We need to run the above command on every start-up autiomatically. So we don&#39;t need to start this daemon manually.&lt;br /&gt;&lt;br /&gt;Simple way is add this along with other startup scripts. Find which runlevel the system runs normally.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;[root@sf03 ~]# runlevel&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;N 3&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;[root@sf03 ~]#&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Our server runs in run-level 3 so lets take that as an example.&lt;br /&gt;The server runs on Fedora Linux 10&lt;br /&gt;&lt;br /&gt;The startup scripts for run-level 3 resides in the directory  &lt;span style=&quot;font-style: italic;&quot;&gt;/etc/rc.d/rc3.d/ &lt;/span&gt;&lt;br /&gt;&lt;span&gt;The&lt;/span&gt;&lt;span&gt; scripts for run-level 5 will be at&lt;/span&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;/etc/rc.d/5.d/ &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The directory contains shell scripts that runs on the ascending order on by one.&lt;br /&gt;&lt;br /&gt;The last script that runs is &lt;span style=&quot;font-style: italic;&quot;&gt;S99local&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Which has the content similar to this.&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;[root@sf03 ~]# cat /etc/rc.d/rc3.d/S99local &lt;/span&gt; &lt;span style=&quot;font-style: italic;&quot;&gt;&lt;br /&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;# This script will be executed *after* all the other init scripts.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;# You can put your own initialization stuff in here if you don&#39;t&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;# want to do the full Sys V style init stuff.&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;touch /var/lock/subsys/local&lt;/span&gt; &lt;span style=&quot;font-style: italic;&quot;&gt;&lt;br /&gt;[root@sf03 ~]# &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Use the vi editor and add the startup command we need to add to this.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;[root@sf03 ~]# cat /etc/rc.d/rc3.d/S99local &lt;/span&gt; &lt;span style=&quot;font-style: italic;&quot;&gt;&lt;br /&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; #&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; # This script will be executed *after* all the other init scripts.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; # You can put your own initialization stuff in here if you don&#39;t&lt;/span&gt; &lt;span style=&quot;font-style: italic;&quot;&gt;&lt;br /&gt;# want to do the full Sys V style init stuff.&lt;/span&gt;  &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;touch /var/lock/subsys/local&lt;/span&gt;  &lt;span style=&quot;font-style: italic;&quot;&gt;&lt;br /&gt;&lt;br /&gt;# Start SVN Server at startup&lt;/span&gt; &lt;span style=&quot;font-style: italic;&quot;&gt;&lt;br /&gt;&lt;br /&gt;svnserve -d /srv/repositories&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;[root@sf03 ~]# &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Restart the server and check the script.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/2918951358874792646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/2918951358874792646' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/2918951358874792646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/2918951358874792646'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/11/adding-our-own-linux-startup-scripts.html' title='Adding our own Linux startup scripts'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-2376144739018612870</id><published>2009-11-30T10:00:00.000+05:30</published><updated>2009-12-10T10:11:45.809+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="CEntOS"/><category scheme="http://www.blogger.com/atom/ns#" term="installaion"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="php-pear"/><category scheme="http://www.blogger.com/atom/ns#" term="phpUnit"/><title type='text'>Keep the php-pear up-to-date</title><content type='html'>PHP has evolved a lot and when we need add-on libraries, we opt for PEAR packages or PECL extentions to add more libraries that resolves our purpose.&lt;br /&gt;&lt;br /&gt;Recently in one of our servers CEntOS 5.2, we were about to install phpUnits to run unit tests in it.&lt;br /&gt;&lt;br /&gt;Unfortunately phpUnit was not installed on it.&lt;br /&gt;&lt;br /&gt;The website gave the following options to install.&lt;code&gt;&lt;span style=&quot;font-family:Georgia,serif;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;pear channel-discover pear.phpunit.de&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and&lt;strong&gt;&lt;strong class=&quot;userinput&quot;&gt;&lt;code&gt;&lt;span style=&quot;font-family:Georgia,serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;pear install phpunit/PHPUnit&lt;/span&gt;&lt;/code&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;But the installation failed........ Oops it was odd to understand why?&lt;br /&gt;&lt;br /&gt;The real cause was the pear module has not been upgraded to latest version the the new standard packages were not installed with this.&lt;br /&gt;&lt;br /&gt;It would be better to do&lt;br /&gt;&lt;pre&gt;pear upgrade pear&lt;/pre&gt;before we start any pear installations. Keep the pear up-to-date to make it work with latest library packages.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/2376144739018612870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/2376144739018612870' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/2376144739018612870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/2376144739018612870'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/12/keep-php-pear-up-to-date.html' title='Keep the php-pear up-to-date'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-5318581901625061000</id><published>2009-10-30T21:06:00.011+05:30</published><updated>2009-11-30T21:10:00.068+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Indefero"/><category scheme="http://www.blogger.com/atom/ns#" term="Integrated Project Management"/><category scheme="http://www.blogger.com/atom/ns#" term="Project Tracking"/><category scheme="http://www.blogger.com/atom/ns#" term="Redmine"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN"/><category scheme="http://www.blogger.com/atom/ns#" term="Trac"/><category scheme="http://www.blogger.com/atom/ns#" term="Version Control"/><title type='text'>Integrated Project Tracking Tools</title><content type='html'>Project Management is an art in software development. When too many requirements, bugs and more falls into the project with parallel releases and more. Things become hectic to manage them separate with tools.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Commits goes in after code freeze&lt;/li&gt;&lt;li&gt;Commits in cruical areas&lt;/li&gt;&lt;li&gt;Bugs are added. Count jumps more than accepted limit.&lt;/li&gt;&lt;/ol&gt;When we have tools like SVN or CVS or any other version control system we could track the changes in it. We have tools like websvn, fisheye and more to see the SVN commits. Bugzilla and more to track the bugs&lt;br /&gt;&lt;br /&gt;But things are tough when we need to use too many tools to look into to get our final data for management.&lt;br /&gt;&lt;br /&gt;Integration of these tools is a good option and getting all the data at one place would be better solution.&lt;br /&gt;&lt;br /&gt;Let us look into the existing tools to do those.&lt;br /&gt;1. &lt;a href=&quot;http://trac.edgewall.org/&quot;&gt;Trac&lt;/a&gt; - A cool python based lightweight Project management tool.&lt;br /&gt;2. &lt;a href=&quot;http://www.redmine.org/&quot;&gt;Redmine&lt;/a&gt; - A RoR based project management tool&lt;br /&gt;3. Indefero - PHP based project management tool&lt;br /&gt;&lt;br /&gt;Integrates well with Version Control system RSS/Atom Feeds are available, with multiple project support. Helps to track bugs and manage releases with features and sprints.&lt;br /&gt;&lt;br /&gt;We have the above offline applications which can be downloaded and configured to integrate with our environment tools and serve our network.&lt;br /&gt;&lt;br /&gt;We have providers like.&lt;br /&gt;&lt;a href=&quot;http://sf.net/&quot;&gt;sourceforge.net&lt;/a&gt; - Open source projects support&lt;br /&gt;&lt;a href=&quot;http://code.google.com/&quot;&gt;code.google.com&lt;/a&gt; - Open source projects support&lt;br /&gt;&lt;a href=&quot;http://www.indefero.net/&quot;&gt;indefero.net&lt;/a&gt; - Open source and private projects support&lt;br /&gt;&lt;a href=&quot;http://www.kenai.com/&quot;&gt;kenai.com&lt;/a&gt; - Open source projects support&lt;br /&gt;and more............&lt;br /&gt;&lt;br /&gt;Each tool has its own pros and cons but all of these helps in having control of the project from planning to delivery and to post delivery support.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/5318581901625061000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/5318581901625061000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/5318581901625061000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/5318581901625061000'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/10/integrated-project-tracking-tools.html' title='Integrated Project Tracking Tools'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-6936289488123826432</id><published>2009-10-22T16:26:00.016+05:30</published><updated>2009-10-23T16:49:04.770+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Setup SVN Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN Browser"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN over Web"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN RSS"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN Web Review"/><category scheme="http://www.blogger.com/atom/ns#" term="WebSVN"/><title type='text'>Web SVN Repository Browser</title><content type='html'>The need for a Source Control System in a development environment often increases but they are not just the Versioning system they need to do more...&lt;br /&gt;&lt;br /&gt;A developer using &lt;a href=&quot;http://killerconfigurations.blogspot.com/2009/07/install-configure-svn-server.html&quot;&gt;SVN&lt;/a&gt; has many options with his IDE to work with SVN like diff between revisions, comparing and browsing histories etc., but will the IDE fill the complete usage requirement of the SVN?&lt;br /&gt;&lt;br /&gt;How about a config manager or a project manager looking into the code base to get some information, do they need to check out the code and use IDE?&lt;br /&gt;&lt;br /&gt;Our previous &lt;a href=&quot;http://killerconfigurations.blogspot.com/2009/08/easy-svn-web-administration.html&quot;&gt;USVN&lt;/a&gt; gave few options to browse through the code but it supports only the view for latest version. In the scenarios like this we often require more tools to do this.&lt;br /&gt;&lt;br /&gt;Now we are about to explore the WebSVN a tool to browse the repository at different revisions, get a RSS feed intimation when a new checkin happens, also to tar and archive the repository from the branch we need.&lt;br /&gt;&lt;br /&gt;Lets look into it.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://websvn.tigris.org/&quot;&gt;WebSVN&lt;/a&gt; is provided by Tigris the famous SVN tool provider.&lt;br /&gt;&lt;br /&gt;What do we need to install WebSVN?&lt;br /&gt;1. PHP Hosted Server ( I prefer a Fedora Linux as it could install all dependencies)&lt;br /&gt;2. PECL and PEAR support to install few modules required by PHP&lt;br /&gt;3. SVN&lt;br /&gt;&lt;br /&gt;Installing WebSVN&lt;br /&gt;Login as root or use sudo to perform yum installation&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;#yum install websvn&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It installs all dependencies with WebSVN.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Making WebSVN accessible for external world.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Make the installed directory of WebSVN a sub directory in the existing web server.&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;#ln -s /usr/share/websvn /var/www/html&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Edit the config.php&lt;br /&gt;&lt;br /&gt;add the following line before the LOOK AND FEEL Section in the config file.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;$config-&gt;addRepository(&#39;NameToDisplay&#39;, &#39;URL (e.g. http://path/to/rep)&#39;, &#39;group&#39;, &#39;username&#39;, &#39;password&#39;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For Example&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;$config-&gt;addRepository(&#39;HR App&#39;, &#39;http://svnserver.local/repository/hrm/&#39;, NULL, &#39;admin&#39;, &#39;admin&#39;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Access the website matching the path we could see WebSVN working as below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0VEHmHQuBkVa9u2DDlUH1EeJcjfYB3g2V1jzleEUb2WeKvAIOwX2c6ZmzNZzVTNafdIEy5QyYnwUG3oguhnqVA-Joz_4S3Aar7G0-eXO_IhKz9Y5daT76Es9prwQ-ASRqCrfHjj33-IOd/s1600-h/websvn_home.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 309px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0VEHmHQuBkVa9u2DDlUH1EeJcjfYB3g2V1jzleEUb2WeKvAIOwX2c6ZmzNZzVTNafdIEy5QyYnwUG3oguhnqVA-Joz_4S3Aar7G0-eXO_IhKz9Y5daT76Es9prwQ-ASRqCrfHjj33-IOd/s400/websvn_home.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5395749751845905458&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;We can add more projects/repositories by adding similar config lines as explained above. The details of the project will look as shown below.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIA6TZabP2XQIFuiwo3cf5r2iT2aue6H8siFFi_uoxxxNg9vcZn059ZUPxh_QepYre6tkeQO8K5xlhRb7OVm2YQbXH8xW8X_tCmlicn_BnyYK1Xzqz-6ydOUKG7WrA21hwDmgSkYmBXpcv/s1600-h/websvn_project_details.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 249px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIA6TZabP2XQIFuiwo3cf5r2iT2aue6H8siFFi_uoxxxNg9vcZn059ZUPxh_QepYre6tkeQO8K5xlhRb7OVm2YQbXH8xW8X_tCmlicn_BnyYK1Xzqz-6ydOUKG7WrA21hwDmgSkYmBXpcv/s400/websvn_project_details.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5395750945070269874&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The RSS Feeds can be subscribed and the new check-in and repository changes can be accessed via RSS updates.&lt;br /&gt;&lt;br /&gt;The WebSVN also alows to make tar and download repositories by changing more configuration in the config.php.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirqoC2nLxAH6-5SrOqLtYZa98Oei8eiKU3fYdf9LWu0hebwk0cAQPvm_MOJ0EW1bVl0kf9Lbwoc1zegqQzqq01Xxn0OvkCjnFs0fHkiMHQzkIZI3nB_LcHauvBPYGRBltpYGsZboWkMLfa/s1600-h/websvn_diff.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 249px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirqoC2nLxAH6-5SrOqLtYZa98Oei8eiKU3fYdf9LWu0hebwk0cAQPvm_MOJ0EW1bVl0kf9Lbwoc1zegqQzqq01Xxn0OvkCjnFs0fHkiMHQzkIZI3nB_LcHauvBPYGRBltpYGsZboWkMLfa/s400/websvn_diff.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5395751910522019522&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The WebSVN solves problems like version comparison, change notifications and more.&lt;br /&gt;&lt;br /&gt;To conclude its a good utilility for SVN, with few drawbacks.&lt;br /&gt;1. The repository addtion requires config file change - Better if we could do in front end.&lt;br /&gt;2. Has no authentication system so if a repository is added every one who has access to the WebSVN can see all repositories.&lt;br /&gt;&lt;br /&gt;Soon we will look into more tools similar to this.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/6936289488123826432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/6936289488123826432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/6936289488123826432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/6936289488123826432'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/10/web-svn-repository-browser.html' title='Web SVN Repository Browser'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0VEHmHQuBkVa9u2DDlUH1EeJcjfYB3g2V1jzleEUb2WeKvAIOwX2c6ZmzNZzVTNafdIEy5QyYnwUG3oguhnqVA-Joz_4S3Aar7G0-eXO_IhKz9Y5daT76Es9prwQ-ASRqCrfHjj33-IOd/s72-c/websvn_home.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-5903478311859446228</id><published>2009-09-18T18:21:00.011+05:30</published><updated>2009-09-18T18:52:39.912+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache Proxy"/><category scheme="http://www.blogger.com/atom/ns#" term="Apache Security Issue"/><title type='text'>Apache Proxy Security Issue</title><content type='html'>&lt;code&gt;Recently We were deploying a ROR (Ruby On Rails) application to be specific its Redmine. Since our web server had too many virtual host running on Apache we couldn&#39;t run the webrick web server directly on port 80. We decided to run it on Port 8000 and let apache virtual host for this redmine will be proxying to the port 8000&lt;br /&gt;&lt;br /&gt;Whats the configutration?&lt;br /&gt;&lt;br /&gt;-------------- Configurations Begins ---------------&lt;br /&gt;&amp;lt;VirtualHost...... &amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;ProxyRequests On&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;ProxyVia On&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;code&gt;&lt;virtualhost&gt;&lt;br /&gt;....&lt;br /&gt;&lt;br /&gt;&lt;/virtualhost&gt;&lt;/code&gt;&lt;code&gt;       &lt;span style=&quot;font-weight: bold;&quot;&gt;ProxyPass &lt;/span&gt;/ http://localhost:8000/&lt;br /&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;ProxyPassReverse&lt;/span&gt;  / http://&lt;/code&gt;&lt;code&gt;localhost:8000&lt;/code&gt;&lt;code&gt;/&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;.....&lt;br /&gt;&lt;/code&gt;&lt;code&gt;&amp;lt;/VirtualHost.&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;-------------- Configurations Ends -----------------&lt;br /&gt;&lt;br /&gt;Later a month we observed our web server became too slow, We saw the response taking too much time. Looking at the performance Apache was consuming more memory and cpu load.&lt;br /&gt;&lt;br /&gt;Just a &lt;span style=&quot;font-weight: bold;&quot;&gt;top&lt;/span&gt; command explained the change in apache&#39;s behaviour&lt;br /&gt;&lt;br /&gt;Looking into Apache&#39;s access log we saw too many web requests unrelated domains to the server were accessed. Finally we realised that the apache became a proxy server and now it is acting as a proxy to many people and they access their banned sites through the apache&#39;s proxy service.&lt;br /&gt;&lt;br /&gt;The fix is to remove the following entries&lt;br /&gt;&lt;/code&gt;&lt;code&gt;&lt;br /&gt;ProxyRequests On&lt;br /&gt; ProxyVia On&lt;br /&gt;&lt;br /&gt;The ROR application was still proxied because of the other entry in the VirtualHost. The application still worked and we stopped the open proxy behaviour.&lt;br /&gt;&lt;br /&gt;Once the fix was done, we observed all the proxy request in the access logs were denied with 404 and thus the server is saved ;-)&lt;br /&gt;&lt;/code&gt;</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/5903478311859446228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/5903478311859446228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/5903478311859446228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/5903478311859446228'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/09/apache-proxy-security-issue.html' title='Apache Proxy Security Issue'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-976767747776118314</id><published>2009-09-01T06:22:00.003+05:30</published><updated>2009-09-01T06:28:21.352+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache with SQUID"/><category scheme="http://www.blogger.com/atom/ns#" term="Squid Load Balancer"/><category scheme="http://www.blogger.com/atom/ns#" term="Two machine Load balancer"/><title type='text'>SQUID Load balancing for web applications</title><content type='html'>Squid Load Balancer Configurations&lt;br /&gt;&lt;br /&gt;A short note on we have done to make the squid load balancer working&lt;br /&gt;The servers are CEnt OS 5.x&lt;br /&gt;&lt;br /&gt;Total machines 2 (Don&#39;t ask me why it is 2, This is what I had to test and play with in my lab)&lt;br /&gt;Machine 1 - IPs 192.168.5.50 and 192.168.5.51 (2 LAN cards)&lt;br /&gt;Machine 2 - IPs 192.168.100 and 192.168.5.101 (2 LAN cards)&lt;br /&gt;&lt;br /&gt;The machine 1 and 2 Will have Apache application running on them which needs to be load balanced.&lt;br /&gt;&lt;br /&gt;Problem: We need a seperate machine which should act as load balancer for both, but we don&#39;t have any other machine than these 2.&lt;br /&gt;Solution: Machine 1 will act as load balancer and also as a application server(not adviceable) but can go ahead if we run out of resource as we have no other option.&lt;br /&gt;&lt;br /&gt;DNS Names&lt;br /&gt;DOMAIN Name for public access &lt;b&gt;webapp.office.lan&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;webapp.office.lan - 192.168.5.50&lt;br /&gt;server_1_a.office.lan - 192.168.5.50&lt;br /&gt;server_1_b.office.lan - 192.168.5.51&lt;br /&gt;&lt;br /&gt;server_2_a.office.lan - 192.168.5.100&lt;br /&gt;server_2_b.office.lan - 192.168.5.101&lt;br /&gt;&lt;br /&gt;The web application is configured in both the server with apache vhosts.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The default site is webapp.office.lan and squid listens to the queries on that.&lt;br /&gt;&lt;br /&gt;So the first part is making the application work in&lt;br /&gt;&lt;br /&gt;server_1_b.office.lan - 192.168.5.51&lt;br /&gt;server_2_b.office.lan - 192.168.5.101&lt;br /&gt;&lt;br /&gt;Configuring apache right to make this work properly.&lt;br /&gt;Since Squid and Apache are going to run on same machine(1) and are to be used in same port number 80 we need to make apache listen only for requests on IP:192.168.5.51&lt;br /&gt;&lt;br /&gt;To do the above&lt;br /&gt;Change the httpd.conf&lt;br /&gt;Modify the line&lt;br /&gt;Listen 80&lt;br /&gt;to&lt;br /&gt;Listen &lt;a href=&quot;http://192.168.5.51/&quot;&gt;192.168.5.51:80&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So apache listens only the IP: 192.168.5.51 on Port 80&lt;br /&gt;&lt;br /&gt;Now configure the vhost of the web app accordingly in Apache on IP:192.168.5.51&lt;br /&gt;Verify do the site works by accessing server_1_b.office.lan&lt;br /&gt;&lt;br /&gt;Configuring App in  server_2_b.office.lan - 192.168.5.101&lt;br /&gt;Since the app is now configured on a different machine we don&#39;t need to change the Apache Listen property.&lt;br /&gt;but once configured just check the site works with  server_2_b.office.lan URL&lt;br /&gt;&lt;br /&gt;Squid in Action&lt;br /&gt;Installing squid in CentOS is as same as installing Apache with yum installer.&lt;br /&gt;&lt;br /&gt;Configuring Squid&lt;br /&gt;Add the following lines in /etc/squid/squid.conf&lt;br /&gt;&lt;br /&gt;------------------------------ Lines to be added in squid.conf -------------------------------&lt;br /&gt;#Make SQUID Listen on PORT 80&lt;br /&gt;http_port &lt;a href=&quot;http://192.168.5.50/&quot;&gt;192.168.5.50:80&lt;/a&gt; defaultsite=webapp.office.lan vhost&lt;br /&gt;&lt;br /&gt;# Mapping 192.168.5.51 as server_1&lt;br /&gt;cache_peer server_1_b.office.lan parent 80 0 no-query originserver name=server_1 login=PASS&lt;br /&gt;cache_peer_domain server_1 server_1_b.office.lan login=PASS&lt;br /&gt;&lt;br /&gt;# Mapping 192.168.5.101 as server_2&lt;br /&gt;cache_peer server_2_b.office.lan parent 80 0 no-query originserver name=server_2 login=PASS&lt;br /&gt;cache_peer_domain server_2 server_2_b.office.lan login=PASS&lt;br /&gt;&lt;br /&gt;cache_peer server_1_b.office.lan parent 80 0 round-robin no-query originserver login=PASS&lt;br /&gt;cache_peer server_2_b.office.lan parent 80 0 round-robin no-query originserver login=PASS&lt;br /&gt;&lt;br /&gt;----------------------------- End of lines to be added in squid.conf ----------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now the squid can be restarted.&lt;br /&gt;The server will be listening to webapp.office.lan each request will be diverted to different server based on the round robin flow and if any one fails the other will server the request continuously we can add &#39;n&#39; servers similar to this to make the count higher&lt;br /&gt;Note all the vhost in the Apache should listen to domain name &quot;webapp.office.lan&quot;.&lt;br /&gt;&lt;br /&gt;Hope this gave a useful information on SQUID loadbalancing, This is not only for apache but can be any webserver serving similarly.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/976767747776118314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/976767747776118314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/976767747776118314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/976767747776118314'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/09/squid-load-balancing-for-web.html' title='SQUID Load balancing for web applications'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-3209372340792547321</id><published>2009-08-19T08:33:00.003+05:30</published><updated>2009-08-19T08:47:21.031+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Forwarding HTTP-AUTH in SQUID"/><category scheme="http://www.blogger.com/atom/ns#" term="HTTP-AUTH behind SQUID"/><category scheme="http://www.blogger.com/atom/ns#" term="HTTP-AUTH failure in Apache"/><category scheme="http://www.blogger.com/atom/ns#" term="SQUID Login Pass"/><title type='text'>SQUID Load Balancing For HTTP-AUTH Applications</title><content type='html'>Recently I was working with SQUID Load Balancing server for one of the PHP Based Web Application.&lt;br /&gt;&lt;br /&gt;The app uses HTTP-AUTH for one of its protected directory. It uses Apache .htaccess with .htpasswd Unfortunately the login was completely failing in the live environment but not in test environment.&lt;br /&gt;&lt;br /&gt;The difference found was the live environment had a SQUID Load balancing which was not in TEST (Something wrong should not be the case, both environments should resemble similar).&lt;br /&gt;&lt;br /&gt;Then it was observed that the User name and password sent from the client is not reaching the real-application server. It is chopped at the SQUID.&lt;br /&gt;&lt;br /&gt;Why SQUID is not passing the information?&lt;br /&gt;SQUID has features to do proxy / load balancing with authentication, where SQUID assumes that the AUTH header is for SQUID and not for the web application so it never forwards the AUTH Header.&lt;br /&gt;&lt;br /&gt;How to forward the AUTH Header?&lt;br /&gt;Looking in to the squid.conf&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new; font-style: italic; font-weight: bold;&quot;&gt;cache_peer IP.ADDRESS parent 80 0 no-query originserver login=PASS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The last suffix  &lt;span style=&quot;font-weight: bold; font-family: courier new; font-style: italic;&quot;&gt;login=PASS&lt;/span&gt; fixed the problem.&lt;br /&gt;&lt;br /&gt;The login=PASS forwards the HTTP-AUTH credentials to the destination server.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/3209372340792547321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/3209372340792547321' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/3209372340792547321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/3209372340792547321'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/08/squid-load-balancing-for-http-auth.html' title='SQUID Load Balancing For HTTP-AUTH Applications'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-1389450752864829244</id><published>2009-08-15T08:01:00.004+05:30</published><updated>2009-08-15T08:07:35.706+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Squid"/><category scheme="http://www.blogger.com/atom/ns#" term="Squid Cache Clearing"/><category scheme="http://www.blogger.com/atom/ns#" term="Squid Cache Optimizer"/><category scheme="http://www.blogger.com/atom/ns#" term="Squid Cache Server"/><category scheme="http://www.blogger.com/atom/ns#" term="Squid Flushing the Cache"/><category scheme="http://www.blogger.com/atom/ns#" term="Squid Load Balancer"/><title type='text'>SQUID Clearing cache in a load balancer / caching server</title><content type='html'>Are you running a SQUID Caching server before your web server to boost up the performance?&lt;br /&gt;If yes and you face issues when the content of the site changes. It might be due to the squid&#39;s cache still having the old content. The following steps will help to refresh the cache.&lt;br /&gt;&lt;br /&gt;Why we need to clear the cache?&lt;br /&gt;In most cases the content in the cache is out dated with the live data.&lt;br /&gt;&lt;br /&gt;What is the normal way to clear the cache?&lt;br /&gt;We can clear the cache by removing the files in the cache directory.&lt;br /&gt;&lt;br /&gt;Where is the cache directory?&lt;br /&gt;The cache directory changes from system to system based on the configuration file settings.&lt;br /&gt;We can find the cache directory by looking for the cache_dir property in the /etc/squid/squid.conf file.&lt;br /&gt;Steps to clear the cache:&lt;br /&gt;1. Login as privileged user.&lt;br /&gt;2. Shutdown squid.&lt;br /&gt;Eg: Fedora / Redhat / CentOS&lt;br /&gt;#&lt;em&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt; service squid stop&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;3. Remove the cache files.&lt;br /&gt;The directory is the path specified in cache_dir&lt;br /&gt;#&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;em&gt;rm -rf /var/spool/squid/*&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;4. Start the squid again&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;em&gt;# service squid start&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;5. We should be able to see a message cache created in cache_dir directory.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/1389450752864829244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/1389450752864829244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/1389450752864829244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/1389450752864829244'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/08/squid-clearing-cache-in-load-balancer.html' title='SQUID Clearing cache in a load balancer / caching server'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-1288210290079180899</id><published>2009-08-14T01:23:00.002+05:30</published><updated>2009-08-15T07:57:26.374+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache VirtualHost"/><category scheme="http://www.blogger.com/atom/ns#" term="Dynamic VHost"/><title type='text'>Make Dynamic VirtualHost in Apache</title><content type='html'>Are you working in Apache? Are you configuring VritualHost often?&lt;br /&gt;Here is a cool solution that avoids us configuring the VirtualHost directive in Apache often.&lt;br /&gt;Any name based apache virtual host will be automatically mapped with some predefined directory path. Which reduces the time of configuring the apache vhosts.&lt;br /&gt;&lt;br /&gt;The below example config change in apache will do the following&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Configures all virtual host to the /srv/www directory&lt;/li&gt;&lt;li&gt;All VirtualHost by name should have a directory with the domain name. Ex: Vhost test.example.com will have a directory /srv/www/test.example.com&lt;/li&gt;&lt;li&gt;The Document root directory will be htdocs by default&lt;/li&gt;&lt;li&gt;The error log will be added to the specific domain file and all access logs are added to common file.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Example Configuration to add in httpd.conf&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;em&gt;# this log format can be split per-virtual-host based on the first field&lt;br /&gt;LogFormat &quot;%V %h %l %u %t \&quot;%r\&quot; %s %b&quot; vcommon&lt;br /&gt;CustomLog logs/access_log vcommon&lt;br /&gt;#ErrorLog logs/%0_error_log&lt;br /&gt;&lt;br /&gt;# include the server name in the filenames used to satisfy requests&lt;br /&gt;VirtualDocumentRoot /srv/www/%0/htdocs&lt;br /&gt;VirtualScriptAlias /srv/www/%0/cgi-bin &lt;/em&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/1288210290079180899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/1288210290079180899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/1288210290079180899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/1288210290079180899'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/08/make-dynamic-virtualhost-in-apache.html' title='Make Dynamic VirtualHost in Apache'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-2065692297007926758</id><published>2009-08-07T21:46:00.011+05:30</published><updated>2009-08-19T08:15:41.033+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Setup SVN Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN Daemon"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN Installation and Configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN Over HTTP"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN over Web"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN Server in Apache"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN Service"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN User Management"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN Web Administration"/><category scheme="http://www.blogger.com/atom/ns#" term="Userfriendly SVN"/><category scheme="http://www.blogger.com/atom/ns#" term="USVN"/><title type='text'>Easy SVN Web Administration</title><content type='html'>In the last month blog we were looking into &lt;a href=&quot;http://killerconfigurations.blogspot.com/2009/07/install-configure-svn-server.html&quot;&gt;&quot;How to install and configure an SVN server&quot;&lt;/a&gt;.&lt;br /&gt;The blog gives a basic SVN server configuration with command line and managing it through the command line. When we end up with more projects / users we need more repositories and managing the users authentication details becomes a nightmare. To simplify the user creation and repository management we can go for a web based SVN solution.&lt;br /&gt;&lt;br /&gt;;-) Ohh don&#39;t think that we are going to do the Apache setup for each repository and more. We have a better solution.&lt;br /&gt;&lt;br /&gt;Here comes a better SVN with &lt;a href=&quot;http://www.usvn.info/&quot;&gt;USVN (User friendly SVN)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What do we need for this?&lt;br /&gt;Requirements:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PHP 5  (5.1.2 &lt;= ver) &lt;/li&gt;&lt;li&gt;apache2 &lt;/li&gt;&lt;li&gt;mod_dav_svn enable &lt;/li&gt;&lt;li&gt;mod_rewrite enable &lt;/li&gt;&lt;li&gt;subversion &lt;/li&gt;&lt;li&gt;mod_svn enable &lt;/li&gt;&lt;li&gt;mod_authz_svn enable &lt;/li&gt;&lt;/ul&gt;Steps to setup.&lt;br /&gt;1. Download USVN from &lt;a href=&quot;http://www.usvn.info/download&quot;&gt;http://www.usvn.info/download&lt;/a&gt;&lt;br /&gt;2. Extract the zip to the root directory of apache web directory&lt;br /&gt;3. Access the page via web to start the installation and proceed through the installation.&lt;br /&gt;&lt;br /&gt;Sample configurations followed in &lt;a href=&quot;http://www.successfactory.org/&quot;&gt;Success Factory&lt;/a&gt;.&lt;br /&gt;1. Apache Config&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;###########################################&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;# Vhost: svn.successfactory.local                         #&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;# Note: we need proper DNS setup to                   #&lt;br /&gt;# make the URL work                       #&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;###########################################&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    DocumentRoot /srv/www/svn.successfactory.local/htdocs&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    ServerName svn.successfactory.local&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    &amp;lt;Directory /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    AllowOverride All&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    &amp;lt;/Directory&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    &amp;lt;Location /repository/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    ErrorDocument 404 default&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    DAV svn&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    Require valid-user&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    SVNParentPath /srv/svn&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    SVNListParentPath off&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    AuthType Basic&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    AuthName &quot;USVN&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    AuthUserFile /srv/svn/htpasswd&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    AuthzSVNAccessFile /srv/svn/authz&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;    &amp;lt;/Location&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;&amp;lt;/VirtualHost&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The SVN repository resides in /srv/svn as explained in &lt;a href=&quot;http://killerconfigurations.blogspot.com/2009/07/install-configure-svn-server.html&quot;&gt;SVN installation&lt;/a&gt; post.&lt;br /&gt;An SQLite DB is selected to maintain the SVN management informations.&lt;br /&gt;&lt;br /&gt;After installation we can manage the SVN through web like&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;http://svn.successfactory.local&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You will come across a login page as shown below.&lt;br /&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5wuhaLSmZf2c_Jr4BVNq59DQz5KUeGayW0AVbR3p6BGWYKtfgfvkNju87sA9fDyckxt1TsbjrbO_XkweZjTfClilZlQJuj1Ay1YTiVm4KvOnz403_pvGgG41t_YHLmvtLx-P0hOtstJMK/s1600-h/usvn.png&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 400px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5wuhaLSmZf2c_Jr4BVNq59DQz5KUeGayW0AVbR3p6BGWYKtfgfvkNju87sA9fDyckxt1TsbjrbO_XkweZjTfClilZlQJuj1Ay1YTiVm4KvOnz403_pvGgG41t_YHLmvtLx-P0hOtstJMK/s400/usvn.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5367263907324655202&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We can manage new projects / users / groups through the simple web panel as shown below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP31HjjU9pH6t9wDG2SCfQQLSOt0PnXLni61rSn6ZMpK8LAIrgyUQyfESQbGqInVI6WbnWu0jOqtyGc8WRhznnfcSgvDIr53gxpZgz3tJ5C0ba3Z94saM17WhPa9ApslIvaVpS1WKjPSsu/s1600-h/usvn-admin.png&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 400px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP31HjjU9pH6t9wDG2SCfQQLSOt0PnXLni61rSn6ZMpK8LAIrgyUQyfESQbGqInVI6WbnWu0jOqtyGc8WRhznnfcSgvDIr53gxpZgz3tJ5C0ba3Z94saM17WhPa9ApslIvaVpS1WKjPSsu/s400/usvn-admin.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5367264149586153410&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hope this USVN brings a peace of mind in administring multiple SVN repositories.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/2065692297007926758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/2065692297007926758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/2065692297007926758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/2065692297007926758'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/08/easy-svn-web-administration.html' title='Easy SVN Web Administration'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5wuhaLSmZf2c_Jr4BVNq59DQz5KUeGayW0AVbR3p6BGWYKtfgfvkNju87sA9fDyckxt1TsbjrbO_XkweZjTfClilZlQJuj1Ay1YTiVm4KvOnz403_pvGgG41t_YHLmvtLx-P0hOtstJMK/s72-c/usvn.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-4070191449067396111</id><published>2009-08-04T21:07:00.004+05:30</published><updated>2009-08-05T07:43:23.774+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache Rewrite Rule"/><category scheme="http://www.blogger.com/atom/ns#" term="mod_rewrite"/><category scheme="http://www.blogger.com/atom/ns#" term="Perl and Apache"/><category scheme="http://www.blogger.com/atom/ns#" term="Perl Rewrite Rule"/><category scheme="http://www.blogger.com/atom/ns#" term="RewriteLock"/><category scheme="http://www.blogger.com/atom/ns#" term="RewriteLog"/><category scheme="http://www.blogger.com/atom/ns#" term="RewriteMap"/><title type='text'>Apache RewriteMap with RewriteLock</title><content type='html'>Recently I was working with a image gallery site. The site was developed with PHP on Apache which stores images and renders it out.&lt;br /&gt;&lt;br /&gt;The photos where stored in a similar path stated below.&lt;br /&gt;&lt;span style=&quot;font-style: italic; color: rgb(0, 0, 0);font-family:courier new;&quot; &gt;/images/photo_id/photos_style/photo_id.jpg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;Example:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic; color: rgb(0, 0, 0);font-family:courier new;&quot; &gt;/images/200/portrait/200.jpg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The requirement was not to show the original path in URL and it should resemble like the below&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;/&amp;lt;photo_id&amp;gt;/&amp;lt;photo_id&amp;gt;_&amp;lt;_style&amp;gt;.jpg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;Example:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;/200/200_portrait.jpg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The logic had more complexity than explained here which required a math calculation to get the complete path. To achieve the calculation a perl rewrite rule was introduced.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic; color: rgb(0, 0, 0);font-family:courier new;&quot; &gt;RewriteMap       &lt;/span&gt;&lt;em style=&quot;font-style: italic; font-family: courier new; color: rgb(0, 0, 0);&quot;&gt;prg&lt;/em&gt;&lt;span style=&quot;font-style: italic; color: rgb(0, 0, 0);font-family:courier new;&quot; &gt; &lt;/span&gt;&lt;em style=&quot;font-style: italic; font-family: courier new; color: rgb(0, 0, 0);&quot;&gt;MapType&lt;/em&gt;&lt;span style=&quot;font-style: italic; color: rgb(0, 0, 0);font-family:courier new;&quot; &gt;:&lt;/span&gt;&lt;em&gt;&lt;span style=&quot;font-style: italic; color: rgb(0, 0, 0);font-family:courier new;&quot; &gt;/path/to/rewrite_rule.pl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The perl script was something similar to below with more logic&lt;br /&gt;&lt;/em&gt;&lt;pre&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;#!/usr/bin/perl&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;$| = 1;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;while (&lt;stdin&gt;) {&lt;/stdin&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;    # ...put here any transformations or lookups...&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;    print $_;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;The script started working well by redirecting to original directory (internally) with output like&lt;br /&gt;&lt;span style=&quot;font-style: italic; color: rgb(0, 0, 0);font-family:courier new;&quot; &gt;/images/200/portrait/200.jpg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But when the server got loaded heavily with more requests. The output  scrambled like&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;/mages/200/portit/200.jpg&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;/ramages/200/portrait/200.jpg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;etc...&lt;br /&gt;&lt;br /&gt;Which was due to the perl script not in sync with Apache. The problem was solved when a RewriteLock was introduced. But still a surprise how this solved it immediately... ;-)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic; color: rgb(0, 0, 0);font-family:courier new;&quot; &gt;RewriteLock  &quot;/path/to/empty/lock/file&quot;&lt;/span&gt;&lt;br /&gt;in the global section of httpd.conf</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/4070191449067396111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/4070191449067396111' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/4070191449067396111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/4070191449067396111'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/08/apache-rewritemap-with-rewritelock.html' title='Apache RewriteMap with RewriteLock'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-2581935315165778345</id><published>2009-07-29T00:04:00.005+05:30</published><updated>2009-07-29T00:29:16.763+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="DNS"/><category scheme="http://www.blogger.com/atom/ns#" term="DNS Cache Server"/><category scheme="http://www.blogger.com/atom/ns#" term="dnsmasq"/><category scheme="http://www.blogger.com/atom/ns#" term="Local DNS Cache"/><title type='text'>Linux: Setting UP DNS Cache server</title><content type='html'>1. The DNS servers in a network may be with huge traffic or it might have more downtime resulting in failure of resolving domain names.&lt;br /&gt;&lt;br /&gt;2. May be a dialup machine has very slow internet connection where resolving a DNS query might take more time.&lt;br /&gt;&lt;br /&gt;The solution for both the problems is to have a caching DNS server. Installing a dnsmasq and running it as a service on local host will resolve the issue.&lt;br /&gt;&lt;br /&gt;Steps to Setup DNS Cache Server&lt;br /&gt;(Following lines works good in Fedora / Redhat / CentOS)&lt;br /&gt;&lt;br /&gt;Install dnsmasq&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;$ yum install dnsmasq&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Make dnsmasq start on boot&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;$ chkconfig dnsmasq on&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Start dnsmasq immediately&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:courier new;&quot; &gt;$ service dnsmasq start&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Change the network setting to work through this cache server&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZJT-xctMekKRVdrAtSNSLpYVhnO72tI6qdI5ubl2Oj9K46VwxXuVEx7Ny9fC7ojHFOSV5fSNc1PS1Vy3nKpiycEct5IbBgGdFH51JpEGlVbEIn5uLiQ-yWJR86oIu34y1afvTjZ9dxJ8W/s1600-h/Selecting-Network.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 319px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZJT-xctMekKRVdrAtSNSLpYVhnO72tI6qdI5ubl2Oj9K46VwxXuVEx7Ny9fC7ojHFOSV5fSNc1PS1Vy3nKpiycEct5IbBgGdFH51JpEGlVbEIn5uLiQ-yWJR86oIu34y1afvTjZ9dxJ8W/s400/Selecting-Network.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5363586619890069538&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Open the network settings&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk2ucSUy7WWOLX-lufHWVCmKgeZt9y0eoc8VdU599Sa3udmnUxgVChjmWl6kqIFxixHXx_dccCjBrVwHwr9hx-iXCpcbwFvP2cIavDhuApzAbdqNeXv2fZ86N1nFmLyYoVkITmaFd45ey1/s1600-h/Network-Configuration.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 381px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk2ucSUy7WWOLX-lufHWVCmKgeZt9y0eoc8VdU599Sa3udmnUxgVChjmWl6kqIFxixHXx_dccCjBrVwHwr9hx-iXCpcbwFvP2cIavDhuApzAbdqNeXv2fZ86N1nFmLyYoVkITmaFd45ey1/s400/Network-Configuration.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5363586884769485986&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Add the Primary DNS as localhost by adding 127.0.0.1&lt;br /&gt;Move the primary and secondary to secondary and tertiary.&lt;br /&gt;Click File-&gt;Save&lt;br /&gt;&lt;br /&gt;Restart the network&lt;br /&gt;&lt;span style=&quot;font-family: courier new; font-style: italic;&quot;&gt;$ service network restart&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Test the network DNS resolving speed after the first time access to the site. It will be much faster as it comes from local.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/2581935315165778345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/2581935315165778345' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/2581935315165778345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/2581935315165778345'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/07/linux-setting-up-dns-cache-server.html' title='Linux: Setting UP DNS Cache server'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZJT-xctMekKRVdrAtSNSLpYVhnO72tI6qdI5ubl2Oj9K46VwxXuVEx7Ny9fC7ojHFOSV5fSNc1PS1Vy3nKpiycEct5IbBgGdFH51JpEGlVbEIn5uLiQ-yWJR86oIu34y1afvTjZ9dxJ8W/s72-c/Selecting-Network.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-6046335566626603322</id><published>2009-07-25T14:00:00.002+05:30</published><updated>2009-08-19T08:50:09.892+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Setup SVN Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN Daemon"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN Installation and Configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN Service"/><title type='text'>Install &amp; Configure SVN Server</title><content type='html'>&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;There are many tutorials available to work with SVN and the best of all is the &lt;/span&gt;&lt;br /&gt;&lt;a style=&quot;color: rgb(0, 0, 153);&quot; href=&quot;http://svnbook.red-bean.com/en/1.5/index.html&quot;&gt;svnbook.read-bean.com&lt;/a&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;, This article is about making a quick SVN server with very few steps without much issues.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Server Environment: Redhat / CentOS / Fedora&lt;/span&gt;&lt;br /&gt;&lt;i style=&quot;color: rgb(0, 0, 0); font-family: lucida grande;&quot;&gt;&lt;br /&gt;&lt;/i&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:lucida grande;&quot; &gt;Install SVN&lt;/span&gt;&lt;br /&gt;&lt;i style=&quot;color: rgb(0, 0, 0); font-family: courier new,monospace;&quot;&gt;# yum install subversion&lt;br /&gt;&lt;/i&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:georgia;&quot; &gt;&lt;br /&gt;Create SVN Directory&lt;/span&gt;&lt;i style=&quot;color: rgb(0, 0, 0); font-family: courier new,monospace;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;i style=&quot;color: rgb(0, 0, 0);&quot;&gt;# mkdir -p /srv/svn&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Start SVN Server&lt;br /&gt;&lt;/span&gt;&lt;i style=&quot;color: rgb(0, 0, 0); font-family: courier new,monospace;&quot;&gt;# svnserve -d /srv/svn&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Create SVN Repository&lt;/span&gt;&lt;br /&gt;&lt;i style=&quot;font-family: courier new,monospace; color: rgb(0, 0, 0);&quot;&gt;# svnadmin create /srv/svn/myproject&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Create Users in &lt;/span&gt;&lt;i style=&quot;font-family: courier new,monospace; color: rgb(0, 0, 0);&quot;&gt;/srv/svn/myproject/conf/passwd&lt;/i&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;   (Add the following lines)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i style=&quot;color: rgb(0, 0, 0); font-family: courier new,monospace;&quot;&gt;admin = adM!nPassw0rd&lt;br /&gt;developer = password&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Grant User Permissions in &lt;/span&gt;&lt;i style=&quot;font-family: courier new,monospace; color: rgb(0, 0, 0);&quot;&gt;/srv/svn/myproject/conf/auth &lt;/i&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:courier new,monospace;&quot; &gt;&lt;span style=&quot;font-family:arial;&quot;&gt;(Add the following lines)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;i style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;&lt;br /&gt;[/]&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;admin = rw&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;developer = &lt;/span&gt;&lt;/i&gt;&lt;i style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;rw&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Test the setup&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Checkout from different macine or in same machine with different directory&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i style=&quot;color: rgb(0, 0, 0); font-family: courier new,monospace;&quot;&gt;192.168.1.1 is assumed IP of the SVN server&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;i style=&quot;color: rgb(0, 0, 0); font-family: courier new,monospace;&quot;&gt;# svn co http://192.168.1.1/myproject/ myproject&lt;br /&gt;&lt;br /&gt;Test SVN Commit&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;i style=&quot;color: rgb(0, 0, 0); font-family: courier new,monospace;&quot;&gt;# cd myproject&lt;br /&gt;# echo &quot;Hello World&quot; &gt; test.txt&lt;br /&gt;# svn add test.txt&lt;br /&gt;# svn commit -m &quot;Test Commit&quot;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;You can checkout the same project from any machine but now you will find the test.txt.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;More details on how to backup and restore svn and structuring to use are explained step by step in &lt;/span&gt;&lt;a style=&quot;color: rgb(0, 0, 153);&quot; href=&quot;http://sites.google.com/site/techyspage/Home/revision-control-svn&quot;&gt;TechysPage(SVN-Revision-Control)&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;It would be good to go through the article in &lt;/span&gt;&lt;a style=&quot;color: rgb(0, 0, 153);&quot; href=&quot;http://sites.google.com/site/techyspage/Home/revision-control-svn&quot;&gt;TechysPage&lt;/a&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;.&lt;br /&gt;&lt;br /&gt;The recent POST on &lt;a href=&quot;http://killerconfigurations.blogspot.com/2009/08/easy-svn-web-administration.html&quot;&gt;User friendly SVN&lt;/a&gt; will help you to configure SVN with Admin panel&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/6046335566626603322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/6046335566626603322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/6046335566626603322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/6046335566626603322'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/07/install-configure-svn-server.html' title='Install &amp; Configure SVN Server'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4960849300372847040.post-430657388935072154</id><published>2009-07-25T10:56:00.001+05:30</published><updated>2009-07-26T17:31:29.440+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Configuration Management"/><title type='text'>My First Blog for Killer Configurations</title><content type='html'>After years of this dream to share what I want to...................&lt;br /&gt;After months of this dream to write a blog on what I want to...................&lt;br /&gt;&lt;br /&gt;Finally it happened.&lt;br /&gt;&lt;br /&gt;To be short to the point this is my first blog post. This blog is going to be more on &lt;span style=&quot;font-weight: bold;&quot;&gt;Configuration Management&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The blog is named as &lt;span style=&quot;font-weight: bold;&quot;&gt;Killer Configurations&lt;/span&gt; as configuring any server / application kills our time, we seek for answer days and night killing our self while the answer is always a simple configuration change.&lt;br /&gt;&lt;br /&gt;This blog is for saving people by providing the tips / solution on configuration and to reduce the time of problem solving.&lt;br /&gt;&lt;br /&gt;To be more in detail it will be on&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Server Setup&lt;/li&gt;&lt;li&gt;Application configuration&lt;/li&gt;&lt;li&gt;Installing Tools&lt;/li&gt;&lt;li&gt;Optimizing the servers&lt;/li&gt;&lt;li&gt;Tricky problem solving in server configurations&lt;/li&gt;&lt;li&gt;Task Automations&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Ease up server / service administration&lt;br /&gt;&lt;/li&gt;&lt;li&gt;etc........&lt;/li&gt;&lt;/ul&gt;The topic is not just this will continue more......................&lt;br /&gt;Hope this blog solves the need of the reader ;-)&lt;br /&gt;&lt;br /&gt;Wait for upcoming posts.</content><link rel='replies' type='application/atom+xml' href='http://killerconfigurations.blogspot.com/feeds/430657388935072154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4960849300372847040/430657388935072154' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/430657388935072154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4960849300372847040/posts/default/430657388935072154'/><link rel='alternate' type='text/html' href='http://killerconfigurations.blogspot.com/2009/07/my-first-blog-for-killer-configurations.html' title='My First Blog for Killer Configurations'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>