Archive for September, 2008

Web redirects

Wednesday, September 24th, 2008

A few weeks ago, at work, we decommissioned a few websites, and the business wanted traffic from the old websites to redirect to a specific page on our main website. That’s a pretty simple task, and there’s a number of ways to complish it: use a CGI script, “Refresh” directive in the webpage, mod_alias, mod_rewrite, or .htaccess.

We decided on using mod_alias since at first glance that was the easiest. It works fine as long as you are trying to go to the root document of the website, i.e. trying to go to www.website.com will get redirected to www.newwebsite.com. But the problem arose that www.website.com/some/path/here.html would end up redirecting to www.newwebsite.com/some/path/here.html and of course that page didn’t exist on the new website. This was a major issue for the business because they were concerned about bookmarked links to sub-pages, or links in old email fliers.

In order to work around this we had to go with mod_rewrite to redirect any and all request to the old website and forward them on to the appropriate page on the new website. We setup a vhost on one of our apache servers for the old website and added the following:

RewriteEngine On
RewriteRule /.* http://new_url [R=301]

Here’s what our vhost entry looked like:

<VirtualHost XXX.XXX.XXX.XXX>
ServerName oldwebsite.com
ServerAlias www.oldwebsite.com
RewriteEngine On
RewriteRule /.* http://new_url [R=301]
</VirtualHost>

It was that simple, too bad we didn’t think of that from the start.

Lotus Notes for Linux

Friday, September 19th, 2008

We use Lotus Notes email clients at work, and for those of you who use the Notes client for Linux know what a pain it has been. I recently switched to the the new 8.0.2 client and am impressed with the increased performance and decreased memory footprint. My biggest complaint with the Linux client has always been how much slower it is compared to the Windows client, and so far each release has been getting better and better.

The upgrade process is still a pain, mainly because the java installer doesn’t show what it’s doing the the background. In my case, I had installed 8.0.1 client on a clean install of openSUSE 11, making sure to only install the client. I opted not to install Sametime or any of that other crud since we don’t use it here. The problem arose when doing the upgrade to 8.0.2 because the installer detected that Notes was already installed and showed that nothing was checked on the optional software screen, but decided to install Sametime along with the client. Since I had unchecked Sametime during the installed of 8.0.1, those installation settings were still on my PC somewhere and were being displayed leaving me without the ability to uncheck, and uninstall Sametime.

Frustratingly, I tried doing the install a number of times, checking Sametime and then trying to uncheck it, moving /opt/ibm to /opt/ibm_old, etc. but nothing worked. Finally, I went searching on my hard drive for what exactly was going on during the install and found the following four directories: /tmp, /opt, /etc, and /root. The stuff in /tmp gets deleted immediately after you close the InstallShield window, but the stuff in the other three say for a while. The program binaries are installed in /opt/ibm/lotus/notes, an InstallShield directory gets created in /root containing who knows what, and a bunch of shared files get created in /etc/lotus/notes.

Interestingly enought, the file /etc/lotus/notes/notesrc is a log of Notes installations that InstallShield reads to determine if the client has already been installed, and the stuff in /root/InstallShield are where the settings for the installer are located. Once I removed /root/InstallShield the installer still said that Notes was already installed, but displayed the correct Sametime checkbox and allowed me to uncheck it. Finally, I was able to rid myself of it.

Rebuilding source rpms

Tuesday, September 9th, 2008

There are a few Dell servers that I administer at work. these servers are running SLES 9 SP2, but they don’t have the Dell hardware management agents installed, so given that these are production servers we won’t see any hardware issues until it’s too late. But, I couldn’t install the management agents because the running kernel is a security update version pushed out by Novell and I need the kernel source files which, of course weren’t installed along with the kernel.

The kernel source on the SP2 CD is too old, and the one on the SP3 CD is too new, so for a long while the only way to get the agent installed would be for me to upgrade to SP3 since I couldn’t find the source file for the kernel anywhere. This wouldn’t be a problem except that upgrading to SP3 would require a reboot to start running the newer kernel, and a reboot means downtime which means scheduling the reboot for the middle of the night, or a Saturday, which happen to be times that I’d rather not be working.

All that changed today, when I came across the source rpm for the running kernel on Novell’s website. That gave me the ability to rebuild the source rpm into a binary rpm and install the binary rpm on all the servers running said kernel. Now, I can installed the dell management agents without any downtime, or discomfort to my personal life.

Here is the relevant command:

rpmbuild --nodeps --rebuild --clean source.src.rpm

You can then find the binary rpm in /usr/src/packages/RPMS/ on a SuSE machine.