Workstation Configuration

Ubuntu Dapper Install on Intel Centrino Laptop with on-board ATI Graphics

1. Install Ubuntu.
2. Run all updates from Synaptic.
3. Install Automatix

Edit /etc/apt/sources.list

deb http://www.beerorkid.com/automatix/apt dapper main

Import key

wget http://www.beerorkid.com/automatix/apt/key.gpg.asc
gpg --import key.gpg.asc
gpg --export --armor 521A9C7C | sudo apt-key add

Install

sudo apt-get update
sudo apt-get install automatix

4. Run Automatix

Choose the following:
- Thunderbird 1.5
- DVD Codecs
- Music players and codecs
- Flash
- Java 1.5 JDK and JRE
- nVidia Card Drivers
- Web editing and code tools

Ubuntu Dapper Install on Dual-Core AMD with nVidia Graphics

1. Install Ubuntu.
2. Fix Grub


title Windows XP
root (hd0,0)
savedefault
makeactive
chainloader +1

3. Install Automatix

Edit /etc/apt/sources.list

deb http://www.beerorkid.com/automatix/apt dapper main

Import key

wget http://www.beerorkid.com/automatix/apt/key.gpg.asc
gpg --import key.gpg.asc
gpg --export --armor 521A9C7C | sudo apt-key add

Install

sudo apt-get update
sudo apt-get install automatix

4. Run Automatix

Choose the following:
- Thunderbird 1.5
- DVD Codecs
- Music players and codecs

Ruby Installation on FERRARI

At the time of this post, Ruby on Rails required version 1.8.2 of Ruby, which is not the most current version. Installation of a Ruby on Rails development system is easiest if you download dependencies from the left column of the RubyOnRails download page.

First, download Ruby 1.8.2-15 (stable). Install without SciTE and FreeRIDE. Installation directory c:\ruby\1.8.2-15.

Second, download RubyGems (most current version). Unzip the distribution and run ruby on setup.rb. This will install the gems libraries as well as the gem command.

Third, install rails.

FERRARI Configuration

This is a book about setting up FERRARI from scratch.

RAID10 for FERRARI

Today I set up a RAID10 (stripe+mirror) configuration for FERRARI. I used 4 Western Digital Caviar 320GB drives (3200 series). Total size is 594GB.

Setup was extremely simple. Hit CTRL+S or F4 during the SiliconImage boot screen. Choose "Create New Raid Set". Specify RAID10. Done.

When installing Windows XP on the new RAID array, I needed a 3.5" floppy with the SiliconImage 3114 drivers. Luckily I had burned a CD of them as a backup earlier. I was able to use another machine to copy them to a floppy.

BIOS Update for FERRARI

As a part of this system rebuild, I needed to update the BIOS to support the newest drivers for the Silicon Image 3114 SATA RAID controller.

I downloaded the newest BIOS from the Tyan web site (tyan.com). The most recent version was from 6/2005, v2.05.

The instructions indicate that I'll need two floppies. One is a Win98 boot disk and the other will contain the unzipped contents of the BIOS download.

I booted to the Win98 floppy, pressing F5 during the Win98 disk's bootup to avoid loading memory resident programs. I then switched disks and ran the flash command. Do not run amiflash. Just flash.

BARKLEY Installation

1) Setup CentOS 4.1 with apache2, php, php-mysql, mysql-server, ruby, python

2) Secure MySQL installation with the command
secure_mysql_installation.

3) Install mod_suphp module. Use the external repositorys page
http://centos.org/modules/newbb/viewtopic.php?topic_id=438&forum=28&post_id=1194#forumpost1194,
specifically, the repository from Karanbin Singh. Download the repo file:

http://centos.karan.org/kbsingh-CentOS-Extras.repo

This file should be placed in /etc/yum.repos.d/

4) Install Ruby FROM SOURCE. ./configure, make, make test, make install. Install R

Connecting Apache to Java With mod_jk (on Windows)

Virtually all J2EE servlet containers come bundled with an HTTP server, and setting one of them up is usually very simple. Despite the conveniece, I've found many reasons not to use these bundled HTTP servers in even a development/testing environment. In production, the decision is simple: the Apache HTTPD server is faster, more stable, more secure, more configurable and more powerful than any bundled HTTP server. In development and testing, I've found the configurability of Apache to be an enormous asset, offsetting the additional challenge of using mod_jk to link Apache and the servlet container.

Downloading mod_jk

The mod_jk package is closely connected to the development of Jakarta Tomcat, and can be downloaded most easily by finding a tomcat mirror site. From the Tomcat site, make your way to a download mirror (via the download links), and then browse to jakarta/tomcat-connectors/jk/binaries/ once inside the mirror (paths may be slightly different due to mirror uniquenesses). From the binaries directory for your platform, download the newest version of mod_jk that matches your Apache version. Note that there are separate packages for the Apache 1.x and 2.x release cycles.

Placing the Module

After downloading the .so file, you'll need to place it in your Apache modules directory. Rename the file mod_jk.so and place it in %APACHE_ROOT%/modules.

Notifying Apache

Create a file d:/www-config/mod_jk-apache.conf, and place the following statements in it.



LoadModule jk_module "modules/mod_jk.so"

JkWorkersFile "d:/www-config/mod_jk-workers.properties"
JkLogFile "d:/www-logs/mod_jk.log"
JkLogLevel warn

#
# Standard mod_jk mappings
#
JkMount /*.jsp java1
JkMount /servlet/* java1
JkUnMount /servlet/*.gif java1

That file is imported using the Apache configuration recommended in another post, where Apache's httpd.conf includes all .conf files in d:/www-config. Note: the documentation for mod_jk directives is available.

The workers.properties file referenced above is a listing of "workers" (instances of a Java servlet container). Create the file d:/www-config/mod_jk-workers.properties.


worker.list=java1

worker.java1.port 8009
worker.java1.host localhost
worker.java1.type ajp13

The complete chain works like this: 1) The Apache JkMount and JkUnmount directives tell Apache which request patterns to forward on to the servlet container by its "worker" name. 2) The servlet container with the worker name in question receives the request as if it came directly from the client computer. 3) The servlet container's response is retrieved by Apache and returned to the end user. The trick is that only portions of the hosting tree are mapped to Java. Ideally, static HTML, Javascript, CSS and images are handled by Apache directly, without having to consult the servlet container.

Environment Variable Modification with Scripts

I recently found an article on ASPN that demonstrates using Python to modify Environment Variables, especially the PATH variable.

The key to the article is that it demonstrates a way to make Environment Variable changes persistent. It does this by modifying the registry directly. After editing the registry, it causes a broadcast to be sent indicating the change in system settings. Although the example is in Python, this process is possible with any language that can access the Win32 system API.

Setting Environment Variables in the Registry

After all these years, Windows still provides a tiny little edit box for editing the PATH (and other) environment variables. It's especially annoying when setting up scripting languages like Python, Perl, Ruby and Groovy for PATH access.

To make this setup process easer, it helps to define HOME variables for each scripting language. To do this, we need to use the Registry Editor to add new environment variables.

  1. Open the Windows Registry Editor: Start->Run->regedit.
  2. Navigate to HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment.