Skip to content

Category: Linux

More on Putty

The other day I showed you how to configure the look and feel of Putty for improved usability and performance.  As I was doing some digging, I discovered two tools which extend the awesomeness of Putty.

First is Putty Connection Manager, which takes control and allows you to manage multiple Putty sessions from one, convenient tabbed interface.  Did I mention that I love tabbed interfaces?

Second, there is Putty Tray, which seems to be a customized version someone made that in and of itself improves the Putty interface, while enabling you to minimize it to the Windows System Tray.

Linux Is Here To Stay

You may have read here before about my ventures with Linux on the home pc, where things must work for the whole family, not just me the Linux Geek.

Back in March or so, I grew tired of Windows XP on my home desktop. I was sick of having to keep up with WGA cracks (ahem), sick of bloated crapware, and not interested whatsoever in Vista.

So, I installed RedHat Linux (Fedora Core 6 to be exact). This was highly tolerable for a couple of months since I was used to using it at work all the time, and I am well versed in RedHat operating systems. However, it caused issues for Alicia because it just wasn’t intuitive enough, and it didn’t just work. There was always some fingling needed to be done in a terminal window.

I decided a few weeks ago that I would install Ubuntu 7.4 Fiesty Fawn, and I haven’t looked back since. When I learned that Dell was shipping PC’s with Ubuntu instead of Linux, I knew it must be time. The installation was fast, and it was insanely simple to do. The Ubuntu developers have thought of everything, and it seems like they are driven to make something with mass appeal that is better than Windows. In my opinion, they have.

It just works. Plugged in my iPod, it worked. Plugged in my old NTFS data drive, it worked. Plugged in my USB card reader, it worked. All of it works. Needed a codec to watch some video clip, and Ubuntu went and found it easily, letting me start watching within seconds.

The final test of Ubuntu’s readiness for the masses was how well my wife handled it. So far, the only complaint is that she cannot listen to music she bought from iTunes (until I work around that). So all in all, Ubuntu passes with flying colors.

Setting up Apache, Tomcat, and mod_jk on RHEL4

I just got through setting up Tomcat5.5, Apache2, and mod_jk on a RedHat Enterprise AS4.4 machine at work. In the past, I have done this by compiling each component separately and fingling with config files until it all worked. But I wanted to stick with RedHat-approved RPM’s from the RedHat network to ease updates and patch management, and to allow the organization to have support options.

I had a lot of trouble finding any documentation on how to do this anywhere, so I thought I’d throw it out here for anyone in a similar situation in search of help.

The following are my notes, sprinkled with a little help I got from a RedHat support tech.

First, I had to enable the following channel within the RedHat Network for this system:

–Red Hat Application Server v. 2 (AS v. 4 for i386)

If you don’t have a RHEL license for updating your system, you will need one.

Once those channels were enabled, I installed the following packages using up2date at the command line:


# up2date tomcat5
# up2date tomcat5-webapps
# up2date tomcat5-admin-webapps
# up2date mod_jk-ap20

With the packages installed, I set out to configure a virtual host to pass requests to Tomcat as needed by using the mod_jk connector. The following steps explain how to do this for a web site called example.com using IP address 123.123.123.123. Substitute your domain and IP accordingly.

Step 1. – Add mod_jk to Apache

In /etc/httpd/conf/httpd.conf add this:


LoadModule jk_module modules/mod_jk.so
<ifmodule mod_jk.c>
JkWorkersFile "/etc/httpd/conf/workers.properties"
JkLogFile "/etc/httpd/logs/mod_jk.log"
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
</ifmodule>

That loads the module into Apache, tells apache where the worker is that will handle jsp/servlets, and tells Apache where to record log entries for mod_jk.

Step 2. – create a new file called /etc/httpd/conf/workers.properties and add this to it:


[channel.socket:example.com:8009]
port=8009
host=example.com
[uri:example.com/*.jsp]
worker=ajp13:example.com:8009

Step 3. Create a virtual host in /etc/httpd/conf/httpd.conf like so:


<virtualhost 123.123.123.123:80>
ServerAdmin [email protected]
ServerName www.example.com
DocumentRoot /var/www/html
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
# Deny direct access to WEB-INF
</virtualhost>

Step 4. Set up Tomcat5 by adding this to /etc/tomcat5/server.xml just before the very last </Engine> tag at the bottom of the document:


<host name="example" appBase="/var/www/html" unpackWARs="true" autoDeploy="true">
<context path="" docBase="" debug="0" reloadable="true"/>
<alias>www.example.com</alias>
<valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="web1_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
</host>

Still with me? We are almost done.

Step 6. Create a sample jsp file called /var/www/html/test.jsp and add this to it:


Time: < %= new java.util.Date() %>

Step 7. Start up the services

# apachectl start
# service tomcat5 start

Step 8. Try it!

Browse to http://www.example.com/test.jsp

If all went well, you should see the system’s current date and time when you load the web page. Congrats. Hope it works for you!