<?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: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-2574330120881021816</id><updated>2011-08-19T06:23:43.426-07:00</updated><category term='linux'/><category term='centos'/><category term='general'/><title type='text'>Bogdan Farca's blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bogdanfarca.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bogdanfarca.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Bogdan Farca</name><uri>http://www.blogger.com/profile/05170679201008397270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2574330120881021816.post-5319259997117789748</id><published>2007-02-26T06:21:00.000-08:00</published><updated>2007-02-26T08:02:28.856-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><title type='text'>Know your (u)limits</title><content type='html'>If you run a stress test on your new and shining tomcat box you may notice a bunch of nasty "Out of memory" errors and you may even be forced to restart you Tomcat service. I was.&lt;br /&gt;&lt;br /&gt;What to do ?&lt;br /&gt;&lt;br /&gt;First, check your memory settings in the &lt;em&gt;/etc/inid.d/tomcat&lt;/em&gt; start-up file. Add the well known java memory switches in a line like this one :&lt;br /&gt;&lt;blockquote&gt;JAVA_OPTS="-Xms256m -Xmx512m -Xss256k -server -Dfile.encoding=UTF-8"&lt;/blockquote&gt;Don't forget to change the values according to your case.&lt;br /&gt;&lt;br /&gt;But the problem might not go away. Check the system limits for the user that run Tomcat.&lt;br /&gt;Type, logged as the "tomcat" user :&lt;br /&gt;&lt;blockquote&gt;ulimit -a&lt;/blockquote&gt;I was especially interested by the item &lt;em&gt;max user processes&lt;/em&gt; because it was different between my remote hosted Linux box (showing out memory errors, with a value of 150) and my local "wmware" Centos (fine, no memory problems, the value was 4096).&lt;br /&gt;&lt;br /&gt;On the other hand, in the Tomcat's &lt;em&gt;server.xml&lt;/em&gt;, observe this line :&lt;br /&gt;&lt;blockquote&gt;&amp;lt;connector port="80" maxhttpheadersize="8192" maxthreads="1500" minsparethreads="25" maxsparethreads="75" enablelookups="false" redirectport="8443" acceptcount="100" connectiontimeout="20000" disableuploadtimeout="true"&gt;&lt;/blockquote&gt;In my case, the value of the &lt;em&gt;maxThreads&lt;/em&gt; attribute (1500) was way greater than the &lt;em&gt;ulimit&lt;/em&gt; value on the remote box, but well below the value of the local "wmware" server.&lt;br /&gt;&lt;br /&gt;So, to make a long story short, I changed the &lt;em&gt;max user processes&lt;/em&gt; value on the remote box to a sensible value and all went fine.&lt;br /&gt;&lt;br /&gt;There are the steps to accomplish this task :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;edit (as root) the file &lt;em&gt;/etc/security/limits.conf&lt;/em&gt;&lt;/li&gt;&lt;li&gt;add (or modify) the lines &lt;blockquote&gt;&lt;pre&gt;*   soft   nproc   4096 &lt;span style="font-size:78%;color:#ff6666;"&gt;change this,&lt;/span&gt;&lt;br /&gt;*   hard   nproc   6000 &lt;span style="font-size:78%;color:#ff6666;"&gt;and this value&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;Eventually you will want to replace the stars * with the name of the "tomcat" user.&lt;br /&gt;If you delete (or omit) the lines, the value will be set to &lt;em&gt;unlimited&lt;/em&gt;.&lt;/li&gt;&lt;li&gt;Now, verify the settings by logging-in with the "tomcat" user and type the &lt;em&gt;ulimit -a&lt;/em&gt; command and check if the value is the one you want (4096 in our case)&lt;/li&gt;&lt;li&gt;Back to our &lt;em&gt;server.xml&lt;/em&gt;, you can modify, if you want the &lt;em&gt;maxThreads&lt;/em&gt; attribute to a greater value (but lesser or equal to the &lt;em&gt;ulimit&lt;/em&gt; value).&lt;/li&gt;&lt;li&gt;Restart Tomcat&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;And do the stress test again ....&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2574330120881021816-5319259997117789748?l=bogdanfarca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/5319259997117789748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/5319259997117789748'/><link rel='alternate' type='text/html' href='http://bogdanfarca.blogspot.com/2007/02/know-your-ulimits.html' title='Know your (u)limits'/><author><name>Bogdan Farca</name><uri>http://www.blogger.com/profile/05170679201008397270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2574330120881021816.post-1002106527032502639</id><published>2007-02-18T02:56:00.000-08:00</published><updated>2007-02-26T07:52:52.185-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><title type='text'>Fight the brute (BFD)</title><content type='html'>If you are running a public server, you will soon notice that you are the target of brute force attacks. Examine the file &lt;em&gt;/var/log/secure&lt;/em&gt; (and &lt;em&gt;secure.1&lt;/em&gt;, &lt;em&gt;secure.2&lt;/em&gt; if present) and see for yourself.&lt;br /&gt;&lt;br /&gt;We need something automated to fight this. Something that will detect any brute force attempt and make a firewall rule to keep them outside. Now enter BFD (Brute Force Detection).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dedicated-resources.com/guide/30/Install-BFD-(Brute-Force-Detection).html"&gt;This page &lt;/a&gt;is your friend.&lt;br /&gt;&lt;br /&gt;Become root and type : &lt;blockquote&gt;wget &lt;a href="http://www.rfxnetworks.com/downloads/bfd-current.tar.gz"&gt;http://www.rfxnetworks.com/downloads/bfd-current.tar.gz&lt;/a&gt;&lt;br /&gt;tar -xvzf bfd-current.tar.gz&lt;br /&gt;cd bfd*&lt;br /&gt;./install.sh&lt;/blockquote&gt;Edit now the configuration file &lt;em&gt;/usr/local/bfd/conf.bfd&lt;/em&gt;. Change the text &lt;blockquote&gt;ALERT_USR="0"&lt;/blockquote&gt;to &lt;blockquote&gt;ALERT_USR="1"&lt;/blockquote&gt;And &lt;blockquote&gt;EMAIL_USR="root"&lt;/blockquote&gt;to &lt;blockquote&gt;EMAIL_USR="you@yoursite.com" &lt;span style="font-size:78%;color:#ff6666;"&gt;this is &lt;u&gt;your &lt;/u&gt;email, of course&lt;/span&gt;&lt;/blockquote&gt;And start &lt;em&gt;bfd&lt;/em&gt; with : &lt;blockquote&gt;/usr/local/sbin/bfd -s&lt;/blockquote&gt;Yap, it's done ;-) But be warned : &lt;em&gt;bfd&lt;/em&gt; work together with &lt;em&gt;apf&lt;/em&gt;, so be sure to have-it up and running (read the previous post to learn how).&lt;br /&gt;&lt;br /&gt;Just one more thing before closing up. After a few days and a few attacks, when you are fine with your &lt;em&gt;bfd&lt;/em&gt; setup, it might be wise to ditch maybe 90% of the attacks by changing the default SSH port (22).&lt;br /&gt;You need to do this :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;edit the file &lt;em&gt;/etc/ssh/sshd_config &lt;/em&gt;&lt;/li&gt;&lt;li&gt;find the line &lt;blockquote&gt;#Port 22&lt;/blockquote&gt;and change-it to &lt;blockquote&gt;Port 333 &lt;span style="font-size:78%;color:#ff6666;"&gt;replace with your preference&lt;/span&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;find the line &lt;blockquote&gt;#Protocol 2, 1&lt;/blockquote&gt;and replace with &lt;blockquote&gt;Protocol 2&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;DON'T FORGET THE FIREWALL !!&lt;br /&gt;Add the new ssh port to your firewall settings (&lt;em&gt;/etc/apf/conf.apf&lt;/em&gt;) or you will lock yourself out of your own server.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;restart &lt;em&gt;ssh&lt;/em&gt; &lt;blockquote&gt;service sshd restart&lt;/blockquote&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Done.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2574330120881021816-1002106527032502639?l=bogdanfarca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/1002106527032502639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/1002106527032502639'/><link rel='alternate' type='text/html' href='http://bogdanfarca.blogspot.com/2007/02/fight-brute-bfd.html' title='Fight the brute (BFD)'/><author><name>Bogdan Farca</name><uri>http://www.blogger.com/profile/05170679201008397270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2574330120881021816.post-4156922151731659863</id><published>2007-02-18T02:38:00.000-08:00</published><updated>2007-02-28T02:18:14.991-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><title type='text'>The first firewall</title><content type='html'>It seems that for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Centos&lt;/span&gt; the first and simplest option is &lt;em&gt;Advanced Policy Firewall&lt;/em&gt;. Let's see if it's &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;enough&lt;/span&gt; or we need &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;something&lt;/span&gt; fancier.&lt;br /&gt;&lt;br /&gt;Install it using the instructions from &lt;a href="http://www.dedicated-resources.com/guide/29/Install-APF-%28Advanced-Policy-Firewall%29.html"&gt;this page&lt;/a&gt;. Execute the following, as root : &lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;cd&lt;/span&gt; /&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;usr&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;src&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;wget&lt;/span&gt; &lt;a href="http://rfxnetworks.com/downloads/apf-current.tar.gz"&gt;http://rfxnetworks.com/downloads/apf-current.tar.gz&lt;/a&gt;&lt;br /&gt;tar -&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;xvzf&lt;/span&gt; apf-current.tar.gz&lt;br /&gt;rm -f apf-current.tar.gz&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;cd&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;apf&lt;/span&gt;*&lt;br /&gt;sh ./install.sh&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;cd&lt;/span&gt; /etc/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;apf&lt;/span&gt;&lt;/blockquote&gt;Now edit the file &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;conf&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;apf&lt;/span&gt;&lt;/em&gt; and enter the settings you need. The following line is especially useful : &lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;IG&lt;/span&gt;_TCP_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;PORTS&lt;/span&gt;="22"&lt;/blockquote&gt;Put here only the ports you need to be accessed &lt;a href="javascript:void(0)" onclick="return false;" tabindex="7"&gt;&lt;span&gt;Publish&lt;/span&gt;&lt;/a&gt;from outside (only 22 for ssh, 80 for web and 3306 for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;mysql&lt;/span&gt;, in my case).&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Warning&lt;/span&gt; : be sure to put there the SSH port (22 by default). Otherwise you will lock yourself out of your server.&lt;br /&gt;&lt;br /&gt;If you are on a hosting service, edit the file &lt;em&gt;/etc/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;apf&lt;/span&gt;/allow_hosts.rules&lt;/em&gt; and add there the addresses of the monitoring servers, if you benefit from such a service.&lt;br /&gt;&lt;br /&gt;Now type &lt;blockquote&gt;service &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;apf&lt;/span&gt; start &lt;/blockquote&gt;to start the service and we are ready.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2574330120881021816-4156922151731659863?l=bogdanfarca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/4156922151731659863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/4156922151731659863'/><link rel='alternate' type='text/html' href='http://bogdanfarca.blogspot.com/2007/02/first-firewall.html' title='The first firewall'/><author><name>Bogdan Farca</name><uri>http://www.blogger.com/profile/05170679201008397270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2574330120881021816.post-7823732782184537575</id><published>2007-02-18T01:53:00.000-08:00</published><updated>2007-02-18T02:33:58.563-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><title type='text'>Tomcat on 80</title><content type='html'>Of course, we don't want to run Tomcat on the default port 8080. We want it on 80.&lt;br /&gt;&lt;br /&gt;To change that, we go to &lt;em&gt;/opt/tomcat/conf&lt;/em&gt;, edit &lt;em&gt;server.xml&lt;/em&gt; and change the line &lt;blockquote&gt;connector port="8080" ...&lt;/blockquote&gt;to &lt;blockquote&gt;connector port="80"... &lt;/blockquote&gt;Ready ? Only if you want to run Tomcat as root. But we don't want this, from a security point of view. But, on Linux, only the root can use the "lower" ports.&lt;br /&gt;&lt;br /&gt;So we have to dig deeper.&lt;br /&gt;First install gcc if it's not already installed : &lt;blockquote&gt;yum install gcc &lt;/blockquote&gt;and Autoconf : &lt;blockquote&gt;yum install autoconf&lt;/blockquote&gt;Now go to &lt;em&gt;/opt/tomcat/bin&lt;/em&gt; &lt;span style="font-size:78%;color:#ff6666;"&gt;(you will change this to your path to the Tomcat install dir)&lt;/span&gt; and do the following (taken from the &lt;a href="http://tomcat.apache.org/tomcat-5.5-doc/setup.html"&gt;Tomcat manual&lt;/a&gt;):&lt;br /&gt;&lt;blockquote&gt;tar xvfz jsvc.tar.gz&lt;br /&gt;cd jsvc-src&lt;br /&gt;autoconf&lt;br /&gt;./configure --with-java=/usr/java/jdk1.5.0_11 &lt;span style="font-size:78%;color:#ff6666;"&gt;you will adapt this to your Java install path&lt;br /&gt;&lt;/span&gt;make&lt;br /&gt;cp jsvc ..&lt;br /&gt;cd ..&lt;/blockquote&gt;Now you can start Tomcat as a daemon using jsvc. It's an extremely ugly command line. But you can download &lt;a href="http://base.google.com/base_media?q=hand8027754475599171784&amp;amp;size=8"&gt;my tomcat start-up file&lt;/a&gt;, un-zip-it, change it to your needs and situation, put it in the &lt;em&gt;/etc/init.d&lt;/em&gt;, set the appropriate execute permissions and then run : &lt;blockquote&gt;chkconfig --add tomcat&lt;br /&gt;service tomcat start &lt;span style="font-size:78%;color:#ff6666;"&gt;(or stop)&lt;/span&gt; &lt;/blockquote&gt;And that's it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2574330120881021816-7823732782184537575?l=bogdanfarca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/7823732782184537575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/7823732782184537575'/><link rel='alternate' type='text/html' href='http://bogdanfarca.blogspot.com/2007/02/tomcat-on-80.html' title='Tomcat on 80'/><author><name>Bogdan Farca</name><uri>http://www.blogger.com/profile/05170679201008397270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2574330120881021816.post-2219872633219437450</id><published>2007-01-31T08:54:00.000-08:00</published><updated>2007-02-18T01:52:25.486-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><title type='text'>Some security</title><content type='html'>It's time to begin hardening our machine (just a little bit for now).&lt;br /&gt;With the help of &lt;a href="http://csci.csusb.edu/turner/webappserver/base-install/index.html"&gt;this page&lt;/a&gt;, we proceed by preventing the root to log remotely to our box. We will provide another user that will become superuser if needed.&lt;br /&gt;&lt;br /&gt;First move, create an user account &lt;blockquote&gt;useradd your-user -G users,wheel&lt;br /&gt;passwd your-passwd&lt;/blockquote&gt;Allow this user to become root, without supplying a password (to be more accurate, all the users of group &lt;em&gt;whell&lt;/em&gt; can do that) &lt;blockquote&gt;visudo &lt;/blockquote&gt;This is a &lt;em&gt;vi&lt;/em&gt; editor window so type &lt;em&gt;a&lt;/em&gt; to enter edit mode. Uncomment the line &lt;blockquote&gt;%wheel ALL=(ALL) NOPASSWD: ALL&lt;/blockquote&gt;And then type &lt;em&gt;esc :wq&lt;/em&gt; to save and exit.&lt;br /&gt;&lt;br /&gt;We have to prevent &lt;em&gt;root&lt;/em&gt; to login remotelly : edit &lt;em&gt;/etc/ssh/sshd_config&lt;/em&gt; and add or uncomment the line &lt;blockquote&gt;PermitRootLogin no&lt;/blockquote&gt;We finish all this by restarting the &lt;em&gt;sshd&lt;/em&gt; service &lt;blockquote&gt;service sshd restart &lt;/blockquote&gt;Now, the user we created can log-in with ssh and become super-user with &lt;blockquote&gt;sudo su -&lt;/blockquote&gt;Done.&lt;br /&gt;&lt;br /&gt;Actually I don't like very much to have another user log as root without a password. So I modified back the &lt;em&gt;visudo&lt;/em&gt; line to &lt;blockquote&gt;%wheel ALL=(ALL)  ALL&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2574330120881021816-2219872633219437450?l=bogdanfarca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/2219872633219437450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/2219872633219437450'/><link rel='alternate' type='text/html' href='http://bogdanfarca.blogspot.com/2007/01/some-security.html' title='Some security'/><author><name>Bogdan Farca</name><uri>http://www.blogger.com/profile/05170679201008397270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2574330120881021816.post-4445692323660713542</id><published>2007-01-31T06:27:00.000-08:00</published><updated>2007-01-31T08:07:48.475-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><title type='text'>Now the ugly-one : MySql</title><content type='html'>Let's start by installing one &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;MySql&lt;/span&gt; dependency : &lt;blockquote&gt;yum install &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;perl&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;DBI&lt;/span&gt;&lt;/blockquote&gt;And now go to &lt;a href="http://mysql.org/downloads/mysql/5.0.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;MySql&lt;/span&gt; &lt;/a&gt;site and copy the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;url&lt;/span&gt; of the file to download, from "&lt;strong&gt;Red Hat Enterprise Linux 4 RPM (x86) downloads&lt;/strong&gt;" in our case. We need two files :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;one for the server : &lt;em&gt;MySQL-server-standard-5.0.27-0.rhel3.i386.rpm&lt;/em&gt;&lt;/li&gt;&lt;li&gt;and another for the client : &lt;em&gt;MySQL-client-standard-5.0.27-0.rhel3.i386.rpm&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Let's do some &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;wget&lt;/span&gt;&lt;/em&gt; (in the &lt;em&gt;/opt&lt;/em&gt; folder, just to be consistent) :&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6" onclick="BLOG_clickHandler(this)"&gt;wget&lt;/span&gt; http://mysql.org/get/Downloads/MySQL-5.0/MySQL-server-standard-5.0.27-0.rhel3.i386.rpm/from/http://mysql.mirror.redwire.net/&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;wget&lt;/span&gt; http://mysql.org/get/Downloads/MySQL-5.0/MySQL-client-standard-5.0.27-0.rhel3.i386.rpm/from/http://mysql.mirror.redwire.net/&lt;/blockquote&gt;Just don't rush to install anything. It won't work (the server, at least). It's because of the dreaded &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8" onclick="BLOG_clickHandler(this)"&gt;SELinux&lt;/span&gt;. Don't ask my what is it. Ask Google ;-) But it prevents some services to run as expected.&lt;br /&gt;We need to circumvent this. It is not easy, but thanks to &lt;a href="http://bugs.mysql.com/bug.php?id=12676"&gt;this &lt;/a&gt;post, it's doable :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;install &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9" onclick="BLOG_clickHandler(this)"&gt;SELinux&lt;/span&gt; policy sources &lt;blockquote&gt;yum install &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;selinux&lt;/span&gt;-policy-targeted-sources.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11" onclick="BLOG_clickHandler(this)"&gt;noarch&lt;/span&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;now type &lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12" onclick="BLOG_clickHandler(this)"&gt;setenforce&lt;/span&gt; 0&lt;/blockquote&gt;go to &lt;em&gt;/etc/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13" onclick="BLOG_clickHandler(this)"&gt;selinux&lt;/span&gt;/targeted/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14" onclick="BLOG_clickHandler(this)"&gt;src&lt;/span&gt;/policy/domains/program&lt;/em&gt; (added by the previous install) and edit the file &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15" onclick="BLOG_clickHandler(this)"&gt;mysqld&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16" onclick="BLOG_clickHandler(this)"&gt;te&lt;/span&gt;&lt;/em&gt;&lt;/li&gt;&lt;li&gt;find the lines (!! all 3) &lt;blockquote&gt;&lt;pre  style="font-size:65%;"&gt;# because Fedora has the sock_file in the database directory&lt;br /&gt;file_type_auto_trans(&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17" onclick="BLOG_clickHandler(this)"&gt;mysqld&lt;/span&gt;_t, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18" onclick="BLOG_clickHandler(this)"&gt;mysqld&lt;/span&gt;_db_t, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19" onclick="BLOG_clickHandler(this)"&gt;mysqld&lt;/span&gt;_var_run_t, sock_file)&lt;br /&gt;')&lt;/pre&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;just below add the following &lt;blockquote&gt;&lt;pre  style="font-size:65%;"&gt;#&lt;br /&gt;allow &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20" onclick="BLOG_clickHandler(this)"&gt;mysqld&lt;/span&gt;_t var_lib_t:&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21" onclick="BLOG_clickHandler(this)"&gt;dir&lt;/span&gt; { write add_name remove_name };&lt;br /&gt;allow &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22" onclick="BLOG_clickHandler(this)"&gt;mysqld&lt;/span&gt;_t var_lib_t:file { append create lock read write &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23" onclick="BLOG_clickHandler(this)"&gt;getattr&lt;/span&gt; unlink };&lt;br /&gt;allow &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24" onclick="BLOG_clickHandler(this)"&gt;mysqld&lt;/span&gt;_t var_lib_t:sock_file { create &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25" onclick="BLOG_clickHandler(this)"&gt;getattr&lt;/span&gt; unlink };&lt;br /&gt;#&lt;/pre&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;Go back to &lt;em&gt;/etc/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26" onclick="BLOG_clickHandler(this)"&gt;selinux&lt;/span&gt;/targeted/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27" onclick="BLOG_clickHandler(this)"&gt;src&lt;/span&gt;/policy&lt;/em&gt; and run : &lt;blockquote&gt;make load&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28" onclick="BLOG_clickHandler(this)"&gt;setenforce&lt;/span&gt; 1&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;Ready ! I mean you are ready to continue with the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29" onclick="BLOG_clickHandler(this)"&gt;MySql&lt;/span&gt; install&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Now go back to &lt;em&gt;/opt&lt;/em&gt;. And do :&lt;/p&gt;&lt;blockquote&gt;rpm -&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30" onclick="BLOG_clickHandler(this)"&gt;ivh&lt;/span&gt; MySQL-*&lt;/blockquote&gt;&lt;p&gt;And done with the tricky part !&lt;/p&gt;&lt;p&gt;Now let's set a password for the root &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31" onclick="BLOG_clickHandler(this)"&gt;mysql&lt;/span&gt; user : &lt;/p&gt;&lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32" onclick="BLOG_clickHandler(this)"&gt;mysqladmin&lt;/span&gt; -u root password 'root' &lt;/blockquote&gt;&lt;p&gt;Testing a little bit : &lt;/p&gt;&lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33" onclick="BLOG_clickHandler(this)"&gt;mysql&lt;/span&gt; -&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34" onclick="BLOG_clickHandler(this)"&gt;proot&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;You can perform an \s to see the server status. You exit from there with \q&lt;/p&gt;&lt;p&gt;Are we ready ? Nooo .... We must access our server from outside (from our Windows machine, for example, to work on the databases). &lt;/p&gt;&lt;p&gt;Out of the box mysql doesn't allow this. But we can type : &lt;/p&gt;&lt;blockquote&gt;mysql -u root -proot &lt;/blockquote&gt;&lt;p&gt;and then &lt;/p&gt;&lt;blockquote&gt;mysql&gt; grant all privileges on *.* to your-user@'%' identified by your-password with grant option;&lt;/blockquote&gt;&lt;p&gt;Now you can &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;carelessly&lt;/span&gt; fire you &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;MySql&lt;/span&gt; Administrator&lt;/em&gt; or &lt;em&gt;Query Browser&lt;/em&gt; and connect using the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;linux&lt;/span&gt; box's &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;IP&lt;/span&gt; and the user you just set (&lt;em&gt;your-user&lt;/em&gt; with the password &lt;em&gt;your-password&lt;/em&gt;).&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2574330120881021816-4445692323660713542?l=bogdanfarca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/4445692323660713542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/4445692323660713542'/><link rel='alternate' type='text/html' href='http://bogdanfarca.blogspot.com/2007/01/now-ugly-one-mysql.html' title='Now the ugly-one : MySql'/><author><name>Bogdan Farca</name><uri>http://www.blogger.com/profile/05170679201008397270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2574330120881021816.post-6978918560458716792</id><published>2007-01-29T04:52:00.000-08:00</published><updated>2007-01-31T08:29:04.558-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><title type='text'>Tomcat, at last ...</title><content type='html'>And now the great moment : enter the big one, Tomcat. With some help from &lt;a href="http://csci.csusb.edu/turner/webappserver/tomcat-install/index.html"&gt;here &lt;/a&gt;we will proceed.&lt;br /&gt;&lt;br /&gt;To start from somewhere, go to the &lt;a href="http://tomcat.apache.org/download-55.cgi"&gt;Tomcat website&lt;/a&gt;, copy the url for your prefered version (5.5 at the time of writing) and do the same old &lt;em&gt;wget&lt;/em&gt; trick :&lt;br /&gt;&lt;blockquote&gt;wget &lt;a href="http://apache.iasi.roedu.net/tomcat/tomcat-5/v5.5.20/bin/apache-tomcat-5.5.20.tar.gz"&gt;http://apache.iasi.roedu.net/tomcat/tomcat-5/v5.5.20/bin/apache-tomcat-5.5.20.tar.gz&lt;/a&gt;&lt;/blockquote&gt;Be sure to be in the &lt;em&gt;/opt&lt;/em&gt; folder, and of course you will replace the example I gave here with your own URL.&lt;br /&gt;&lt;br /&gt;Untar :&lt;br /&gt;&lt;blockquote&gt;tar -zxvpf apache-tomcat-5.5.20.tar.gz &lt;/blockquote&gt;and set a symbolic link to the newly created folder&lt;br /&gt;&lt;blockquote&gt;ln -s apache-tomcat-5.5.20 tomcat&lt;/blockquote&gt;Ok for now. Go to &lt;em&gt;/etc/init.d/&lt;/em&gt; and create the file named &lt;em&gt;tomcat&lt;/em&gt;. In fact, just copy one already there, for example &lt;em&gt;yum&lt;/em&gt;. This will preserve all the file attributes we need.&lt;br /&gt;&lt;br /&gt;Edit the file (F4 in &lt;em&gt;MC&lt;/em&gt;) and enter the following content :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;#! /bin/sh&lt;br /&gt;#&lt;br /&gt;# tomcat Starts tomcat&lt;br /&gt;#&lt;br /&gt;# chkconfig: 2345 98 02&lt;br /&gt;# description: tomcat is a J2EE web application container.&lt;br /&gt;#&lt;br /&gt;export TOMCAT_HOME=/opt/tomcat&lt;br /&gt;export JAVA_HOME=/usr/java/jdk1.5.0_11&lt;br /&gt;[ -f ${TOMCAT_HOME}/bin/startup.sh ] exit 0&lt;br /&gt;[ -f ${TOMCAT_HOME}/bin/shutdown.sh ] exit 0&lt;br /&gt;&lt;br /&gt;set -e&lt;br /&gt;&lt;br /&gt;case "$1"&lt;br /&gt;in&lt;br /&gt;start)&lt;br /&gt;echo -n "Starting tomcat... "&lt;br /&gt;$TOMCAT_HOME/bin/startup.sh &gt;&gt; /var/log/tomcat 2&gt;&amp;1&lt;br /&gt;echo "started."&lt;br /&gt;;;&lt;br /&gt;stop)&lt;br /&gt;echo -n "Stopping tomcat... "&lt;br /&gt;$TOMCAT_HOME/bin/shutdown.sh &gt;&gt;/var/log/tomcat 2&gt;&amp;1&lt;br /&gt;sleep 1&lt;br /&gt;rm -f $TOMCAT_HOME/logs/*&lt;br /&gt;echo "stopped."&lt;br /&gt;;;&lt;br /&gt;restartforce-reload)&lt;br /&gt;echo -n "Restarting&lt;br /&gt;tomcat... "&lt;br /&gt;$TOMCAT_HOME/bin/shutdown.sh &gt;&gt;/var/log/tomcat 2&gt;&amp;1&lt;br /&gt;sleep 1&lt;br /&gt;$TOMCAT_HOME/bin/startup.sh &gt;&gt;/var/log/tomcat 2&gt;&amp;amp;1&lt;br /&gt;echo "restarted."&lt;br /&gt;;;&lt;br /&gt;*)&lt;br /&gt;N=/etc/init.d/tomcat&lt;br /&gt;echo "Usage: $N&lt;br /&gt;{startstoprestart}" &gt;&amp;2&lt;br /&gt;exit 1&lt;br /&gt;;;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;exit 0&lt;/pre&gt;&lt;/blockquote&gt;Now add &lt;em&gt;tomcat&lt;/em&gt; as a service&lt;br /&gt;&lt;blockquote&gt;chkconfig --add tomcat&lt;/blockquote&gt;Start tomcat&lt;br /&gt;&lt;blockquote&gt;service tomcat start &lt;/blockquote&gt;With a little luck you will see&lt;br /&gt;&lt;blockquote&gt;Starting tomcat... started.&lt;/blockquote&gt;&lt;p&gt;Let's test the beast for real :&lt;/p&gt;&lt;blockquote&gt;elinks http://127.0.0.1:8080/&lt;/blockquote&gt;&lt;p&gt;Huraaa !!! It works ! Let's party ...&lt;/p&gt;&lt;p&gt;But wait, don't forget to set the tomcat users. Edit &lt;em&gt;/opt/tomcat/conf/tomcat-users.xml&lt;/em&gt; and replace the content with : &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;&amp;lt;?xml version='1.0' encoding='utf-8'?&gt;&lt;br /&gt;&amp;lt;tomcat-users&gt;&lt;br /&gt;   &amp;lt;role rolename="manager"&gt;&lt;br /&gt;   &amp;lt;role rolename="admin"&gt;&lt;br /&gt;   &amp;lt;user roles="admin,manager" password="mypwd" username="myuser"&gt;&lt;br /&gt;&amp;lt;/tomcat-users&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/code&gt;&lt;/code&gt;&lt;p&gt;Of course, you will put the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;username&lt;/span&gt; and password you want. This user is the one that have the ability to manage the server trough the WEB admin console. Don't forget to restart Tomcat : &lt;/p&gt;&lt;blockquote&gt;service tomcat restart&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;code&gt;&lt;/code&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2574330120881021816-6978918560458716792?l=bogdanfarca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/6978918560458716792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/6978918560458716792'/><link rel='alternate' type='text/html' href='http://bogdanfarca.blogspot.com/2007/01/tomcat-at-last.html' title='Tomcat, at last ...'/><author><name>Bogdan Farca</name><uri>http://www.blogger.com/profile/05170679201008397270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2574330120881021816.post-820887056355701445</id><published>2007-01-25T04:05:00.000-08:00</published><updated>2007-02-16T02:36:23.888-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><title type='text'>Prepare for Tomcat</title><content type='html'>The next big thing is to install my application server, aka Tomcat. But until then, we need some preparations.&lt;br /&gt;&lt;br /&gt;First, install &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;elinks&lt;/span&gt;&lt;/em&gt;. It's a text based browser, running in the console and really neat for testing local pages and downloading packages from the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;Internet&lt;/span&gt;. Again, simple :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;yum install &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;elinks&lt;/span&gt;&lt;/blockquote&gt;You &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;already&lt;/span&gt; know to answer 'y' when prompted. Test the install with :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;elinks&lt;/span&gt; http://www.sun .com&lt;/blockquote&gt;&lt;p&gt;Type &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;esc&lt;/span&gt;&lt;/em&gt; for menu and &lt;em&gt;q&lt;/em&gt; to exit.&lt;/p&gt;&lt;p&gt;Now, the hard part : install Java, with some help from &lt;a href="http://blog.taragana.com/index.php/archive/how-to-install-sun-jvm-jdk-15x-on-linux-fedora-core-in-5-simple-steps/"&gt;there&lt;/a&gt;. You begin by downloading the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6" onclick="BLOG_clickHandler(this)"&gt;JDK&lt;/span&gt; kit from the Sun &lt;a href="http://java.sun.com/javase/downloads/index_jdk5.jsp"&gt;website&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Once there (with the browser from your regular Windows machine for simplicity, or with &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;elinks&lt;/span&gt;&lt;/em&gt; from the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8" onclick="BLOG_clickHandler(this)"&gt;linux&lt;/span&gt; console, if you prefer), accept the license agreement, then copy to the clipboard the URL &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;corresponding&lt;/span&gt; to the &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;jdk&lt;/span&gt;-1_5_0_11-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11" onclick="BLOG_clickHandler(this)"&gt;linux&lt;/span&gt;-i586-rpm.bin&lt;/em&gt; file (&lt;em&gt;right click&lt;/em&gt; on the link, &lt;em&gt;copy shortcut&lt;/em&gt;). Of course, at the time of reading this, you will download the most recent &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12" onclick="BLOG_clickHandler(this)"&gt;JDK&lt;/span&gt; version.&lt;/p&gt;&lt;p&gt;Fire &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13" onclick="BLOG_clickHandler(this)"&gt;mc&lt;/span&gt;&lt;/em&gt;, and go to &lt;em&gt;/opt&lt;/em&gt;. Press &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14" onclick="BLOG_clickHandler(this)"&gt;Ctrl&lt;/span&gt;-O&lt;/em&gt; to hide the panels.&lt;/p&gt;Now, we do some &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15" onclick="BLOG_clickHandler(this)"&gt;wget&lt;/span&gt;&lt;/em&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16" onclick="BLOG_clickHandler(this)"&gt;ing&lt;/span&gt; :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17" onclick="BLOG_clickHandler(this)"&gt;wget&lt;/span&gt; &lt;em&gt;"the_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18" onclick="BLOG_clickHandler(this)"&gt;url&lt;/span&gt;_you_copied"&lt;/em&gt; -O &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19" onclick="BLOG_clickHandler(this)"&gt;jdk&lt;/span&gt;-1_5_0_11-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20" onclick="BLOG_clickHandler(this)"&gt;linux&lt;/span&gt;-i586-rpm.bin&lt;/blockquote&gt;Now you have a local copy of the compressed &lt;em&gt;rpm&lt;/em&gt; in your &lt;em&gt;/opt&lt;/em&gt; folder. You now type&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;sh &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21" onclick="BLOG_clickHandler(this)"&gt;jdk&lt;/span&gt;-1_5_0_11-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22" onclick="BLOG_clickHandler(this)"&gt;linux&lt;/span&gt;-i586-rpm.bin &lt;/blockquote&gt;You read the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23" onclick="BLOG_clickHandler(this)"&gt;eula&lt;/span&gt; with &lt;em&gt;space&lt;/em&gt;, you answer &lt;em&gt;yes&lt;/em&gt; to the question and you have the thing installed.&lt;br /&gt;Go to &lt;em&gt;/usr/java/jdk1.5.0_11&lt;/em&gt; (you replace this with the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24" onclick="BLOG_clickHandler(this)"&gt;jdk&lt;/span&gt; version number you installed) and type&lt;br /&gt;&lt;blockquote&gt;./java -version&lt;/blockquote&gt;&lt;p&gt;If by some accident the version returned is not the one you expected, it's probable to hava the "free" version of Java (GCJ) preinstalled. Remove-it : &lt;/p&gt;&lt;blockquote&gt;rm /usr/bin/java&lt;/blockquote&gt;&lt;p&gt;For some unknown reason (unknown for me, of course) the &lt;em&gt;JAVA_HOME&lt;/em&gt; environment variable is not set, so go to &lt;em&gt;/etc/profile&lt;/em&gt;, edit the thing and add the following lines : &lt;/p&gt;&lt;blockquote&gt;JAVA_HOME="/usr/java/jdk1.5.0_11"&lt;br /&gt;export JAVA_HOME&lt;/blockquote&gt;The environment variable will be set at the next reboot. If you can't wait until then, type &lt;blockquote&gt;source /etc/profile&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2574330120881021816-820887056355701445?l=bogdanfarca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/820887056355701445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/820887056355701445'/><link rel='alternate' type='text/html' href='http://bogdanfarca.blogspot.com/2007/01/prepare-for-tomcat.html' title='Prepare for Tomcat'/><author><name>Bogdan Farca</name><uri>http://www.blogger.com/profile/05170679201008397270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2574330120881021816.post-8255678550879695121</id><published>2007-01-18T03:14:00.000-08:00</published><updated>2007-01-31T08:29:57.380-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><title type='text'>Start fighting with the machine</title><content type='html'>After the extremely successful attempt in my previous post, the first problems arise.&lt;br /&gt;I deactivated the network on my working laptop (the one that host the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;vmware&lt;/span&gt; player and the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;centos&lt;/span&gt; "test" server) ... After that, the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;linux&lt;/span&gt; box lost his network connection, and refuse to regain-it again.&lt;br /&gt;&lt;br /&gt;I started digging for a method to tell &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;linux&lt;/span&gt; to use &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;DHCP&lt;/span&gt;&lt;/em&gt; to fill the &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;eth&lt;/span&gt;0&lt;/em&gt; settings. Here it is (learned from &lt;a href="http://www.whoi.edu/CIS/networking/configure/dhcp_linux.html"&gt;here&lt;/a&gt;) :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;tell &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6" onclick="BLOG_clickHandler(this)"&gt;etho&lt;/span&gt;&lt;/em&gt; to go down (if your network interface is not &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;eth&lt;/span&gt;0&lt;/em&gt;, use &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8" onclick="BLOG_clickHandler(this)"&gt;ifconfig&lt;/span&gt;&lt;/em&gt; to identify it): &lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9" onclick="BLOG_clickHandler(this)"&gt;ifdown&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;eth&lt;/span&gt;0&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;edit (or create) &lt;em&gt;/etc/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11" onclick="BLOG_clickHandler(this)"&gt;sysconfig&lt;/span&gt;/network-scripts/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12" onclick="BLOG_clickHandler(this)"&gt;ifcfg&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13" onclick="BLOG_clickHandler(this)"&gt;eth&lt;/span&gt;0&lt;/em&gt; and be sure it contains only : &lt;blockquote&gt;device=&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14" onclick="BLOG_clickHandler(this)"&gt;eth&lt;/span&gt;0&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15" onclick="BLOG_clickHandler(this)"&gt;bootproto&lt;/span&gt;="&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16" onclick="BLOG_clickHandler(this)"&gt;dhcp&lt;/span&gt;"&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17" onclick="BLOG_clickHandler(this)"&gt;onboot&lt;/span&gt;="yes"&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;bring &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18" onclick="BLOG_clickHandler(this)"&gt;eth&lt;/span&gt;0&lt;/em&gt; back up, and all is done : &lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19" onclick="BLOG_clickHandler(this)"&gt;ifup&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20" onclick="BLOG_clickHandler(this)"&gt;eth&lt;/span&gt;0&lt;/blockquote&gt;&lt;/li&gt;&lt;/ul&gt;My network is again up and running. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21" onclick="BLOG_clickHandler(this)"&gt;Feeew&lt;/span&gt; !&lt;br /&gt;&lt;br /&gt;But, &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22" onclick="BLOG_clickHandler(this)"&gt;cd&lt;/span&gt;&lt;/em&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23" onclick="BLOG_clickHandler(this)"&gt;ing&lt;/span&gt; and &lt;em&gt;vi&lt;/em&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24" onclick="BLOG_clickHandler(this)"&gt;ing&lt;/span&gt; trough the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25" onclick="BLOG_clickHandler(this)"&gt;linux&lt;/span&gt; file system, I starting to wonder if I could use something easier, like &lt;em&gt;Midnight Commander&lt;/em&gt; (&lt;a href="http://en.wikipedia.org/wiki/Midnight_Commander"&gt;MC&lt;/a&gt;). OK, I admit, I was sure the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_26"&gt;answer&lt;/span&gt; is "Yes", but how ?&lt;br /&gt;&lt;br /&gt;It's &lt;a href="http://www.ducea.com/2006/05/09/mc-gnu-midnight-commander-missing/"&gt;simple&lt;/a&gt;, type: &lt;blockquote&gt;yum install &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27" onclick="BLOG_clickHandler(this)"&gt;mc&lt;/span&gt;&lt;/blockquote&gt;Answer 'y' when prompted, and you're ready. Really. Type &lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28" onclick="BLOG_clickHandler(this)"&gt;mc&lt;/span&gt;&lt;/em&gt; and see for yourself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2574330120881021816-8255678550879695121?l=bogdanfarca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/8255678550879695121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/8255678550879695121'/><link rel='alternate' type='text/html' href='http://bogdanfarca.blogspot.com/2007/01/start-fighting-with-machine.html' title='Start fighting with the machine'/><author><name>Bogdan Farca</name><uri>http://www.blogger.com/profile/05170679201008397270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2574330120881021816.post-4968346810812624078</id><published>2007-01-15T02:47:00.000-08:00</published><updated>2007-01-31T08:29:33.892-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><title type='text'>In the world of CentOs</title><content type='html'>In the next postings I will highlight a few findings (nothing original, be assured) in configuring a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;CentOS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; box. Why &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;CentOs&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; ? My (future) hosting provider has a very sensible offer for a dedicated server and the cheapest option is a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;CentOs&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; based box.&lt;br /&gt;&lt;br /&gt;So, as I don't think I am some kind of Linux guru, I started by questioning myself about the best (I mean easiest) course of action. Obviously, I need something local to explore and learn, before messing with the production server.&lt;br /&gt;&lt;br /&gt;As I hate digging for a long time on new things without seeing anything working, I decided to take the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;vmware&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; approach, aka downloading a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;pre&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;-configured &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;centos&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; virtual machine and working with it on my development machine.&lt;br /&gt;&lt;br /&gt;I found one &lt;a href="http://www.vmware.com/community/thread.jspa?threadID=36861&amp;amp;tstart=0"&gt;here&lt;/a&gt;. Thank you &lt;a href="http://www.vmware.com/community/profile.jspa?userID=81866"&gt;c_g-hills&lt;/a&gt; !&lt;br /&gt;Of course, before you can do anything with it you must download and install the free &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6" onclick="BLOG_clickHandler(this)"&gt;vmware&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; player (from &lt;a href="http://www.vmware.com/products/free_virtualization.html"&gt;here&lt;/a&gt;), if it doesn't happen to own the full &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;vmware&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; workstation.&lt;br /&gt;&lt;br /&gt;The things are straightforward, and you find yourself running a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8" onclick="BLOG_clickHandler(this)"&gt;CentOs&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; server in no-time.&lt;br /&gt;&lt;br /&gt;But, you need to configure the pretty boy, install tomcat and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9" onclick="BLOG_clickHandler(this)"&gt;mysql&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; and so on.&lt;br /&gt;&lt;br /&gt;The first thing I made was to partially deactivate the firewall, in order to access the box trough SSH (with putty). At a later time I will reactivate all the security I need.&lt;br /&gt;For this, you need to enter the following at the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;linux&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; command prompt :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;system-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11" onclick="BLOG_clickHandler(this)"&gt;config&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12" onclick="BLOG_clickHandler(this)"&gt;securitylevel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13" onclick="BLOG_clickHandler(this)"&gt;tui&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;In the (pseudo) &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14" onclick="BLOG_clickHandler(this)"&gt;gui&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; that appear, click the "Customize" button, then check&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Trusted Devices: [*] &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15" onclick="BLOG_clickHandler(this)"&gt;eth&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;0"&lt;/blockquote&gt;Then two OKs, and you're done, for now.&lt;br /&gt;&lt;br /&gt;Fire-up putty, enter the server address (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16" onclick="BLOG_clickHandler(this)"&gt;&lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16" onclick="BLOG_clickHandler(this)"&gt;ifconfig&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt; in the server console if you don't know the server &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17" onclick="BLOG_clickHandler(this)"&gt;IP&lt;/span&gt;&lt;/span&gt;) and port (23), and voila, you have remote &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_17"&gt;access&lt;/span&gt; to your &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18" onclick="BLOG_clickHandler(this)"&gt;linux&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; box.&lt;br /&gt;&lt;br /&gt;By the way, to cleanly end your putty session, type &lt;blockquote&gt;exit&lt;/blockquote&gt;But enough for this post ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2574330120881021816-4968346810812624078?l=bogdanfarca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/4968346810812624078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/4968346810812624078'/><link rel='alternate' type='text/html' href='http://bogdanfarca.blogspot.com/2007/01/in-world-of-centos.html' title='In the world of CentOs'/><author><name>Bogdan Farca</name><uri>http://www.blogger.com/profile/05170679201008397270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2574330120881021816.post-8008470078232522806</id><published>2006-12-23T01:24:00.000-08:00</published><updated>2006-12-23T01:28:49.351-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>First post ...</title><content type='html'>First post in my first blog ;-)&lt;br /&gt;&lt;br /&gt;Some toughs : this blog is meant to host some of my findings in the eternal quest of writing WEB apps. And a few "fat client" tales, of course.&lt;br /&gt;&lt;br /&gt;And please don't be too picky with my &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;English&lt;/span&gt;. It's not, by far, my mother tongue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2574330120881021816-8008470078232522806?l=bogdanfarca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/8008470078232522806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2574330120881021816/posts/default/8008470078232522806'/><link rel='alternate' type='text/html' href='http://bogdanfarca.blogspot.com/2006/12/first-post.html' title='First post ...'/><author><name>Bogdan Farca</name><uri>http://www.blogger.com/profile/05170679201008397270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
