Archive for the ‘LAMP’ Category

My Ubuntu Experience: Email

Monday, January 1st, 2007

Oddly, in this age of GUI, I’m seriously thinking about using mutt to handle emails. I tried both Evolution and Thunderbird. Neither turned out satisfactory at handling the multiple IMAP accounts I have. The Linux version of Thunderbird is particularly slow - compared to the Windows version. more…

Train spamassassin for a virtual user under qmail

Monday, December 25th, 2006

cd /var/qmail/mailnames/foo.com/johndoe
sa-learn –spam –dbpath ./.spamassassin/bayes –showdots Maildir/.Junk/cur
or
sa-learn –ham –dbpath ./.spamassassin/bayes –showdots Maildir/.NotJunk/cur

My Ubuntu Experience: I Broke It!

Saturday, November 18th, 2006

So after getting myself comfortable enough in the new Ubuntu home, I thought it was time to expand it - quite literally - I wanted to carve a new partition out of what was now one big 66GB NTFS partition, and to move /home to there so that it would be kept separately from the rest of the system. more…

My Ubuntu Experience: Networking

Thursday, November 16th, 2006

The Marvell Yukon Gigabit onboard NIC coming with my ASUS motherboard had some problem hooking up with the DLink router. You would think, when both devices are 100baseT by default, the auto link speed negotiation ought to have been a mere formality. But, everytime after the system just boot up, it would take anywhere between 5 seconds to 30 minues for the two to shake hands and achieve a viable link. The visible symptom is the DHCP requests kept getting ignored, and in turn no IP can be obtained from the router for the system.

In Windows, I had to go to the driver configuration, disable the "auto sensing", and explicitly set the NIC to 100baseT. In Ubuntu, this is done by adding the following script to /etc/network/if-pre-up.d:

CODE:
  1. #!/bin/sh
  2.  
  3. ETHTOOL=/usr/sbin/ethtool
  4.  
  5. if [ ! -x $ETHTOOL ]; then
  6.   exit 0
  7. fi
  8.  
  9. if [ "$IFACE" = "eth0" ]; then
  10.   echo disabling $IFACE auto negotiation
  11.   $ETHTOOL -s $IFACE autoneg off
  12. fi

Everytime when the network interfaces are initialized, this script (along with everything else in that if-pre-up.d directory) is executed before dhcpclient is involved.

Update:
Use sudo ifdown -a to bring down all interfaces, and sudo ifup -a to bring them back up.

My Ubuntu Experience: Java

Wednesday, November 15th, 2006

I'll catch up later the couple of "episodes" which I'm skipping over and jumping to the Java set up part. Ubuntu comes with gcj and other GNU-based java facilities, which mostly are still only equivalent to JDK 1.4.x. So they needed to get chucked right away, and replaced with the Sun JDK 5. It's pretty straightforward to install JDK 5, Eclipse, and the rest of the arsenal I work with on the daily basis. The only part involving manual setting was when enabling the Java Plugin and Web Start in Firefox. Here's The Plugin Portion of it. more...

My Ubuntu Experience: Installation

Saturday, November 11th, 2006

Prev: Pilot

Installing Ubuntu 6.1 ("Edgy Eft") was smooth. I have 3 NTFS partitions on the harddrive. One of them was deleted to make room for Ubuntu. It's about 24GB. Made 2 partitions - 2GB for swap, and the rest for /. I know it'd be better to have things like /var and /home in separate partitions, but there can only be up to 4 patitions on one harddrive, so that's that.

As for the other two NTFS partitions, the installer discovered them and offered to mount them to the linux file system. The default root mount point for them was a little strange to be called "/media". So I changed them to, well, /win/c, and /win/e. Later on I'm planning on converting E: to FAT32 or FAT32+ext3, so the duo can safely share files. For now, though, the first thing after booting into my new Ubuntu installation was changing /etc/fstab, and replacing the "defaults" in options for those two mount points to "ro". That makes them read-only.

My Ubuntu Experience: Pilot

Saturday, November 11th, 2006

I have decided to gradually migrate my main work environment to Linux, and only keep Windows for gaming and other MS proprietary things. It's something I have been wanting to do for the past decade, I would give it a try about every two years and see that Linux wasn't "quite there yet", and give up. The dedicated server I rent for digiZen (i.e. the one serving you all this babbling of mine right now) has been running Fedora Core for over a year. I've been happy both using and maintaining it. On the other hand, none of the Linux distros (including a home-made one starting with me building from the kernel source) had been satisfactory and up to par as a day-to-day desktop environment.

Well, about a couple months ago, the "Genuine Windows" update notification popup finally got on my nerve, to the point of "ok, it's that time again." After playing around a Ubuntu installed in VMWare, I got confident enough to take it one step further into the typical dual-boot setup. A couple of nights later, I am happy to report that I'm working in an environment capable of supporting about 90% of my daily tasks. And I'm pretty confident that, with more googling and tweaking, and the great wine as the last resort, I'll be pushing that number to very close to 100%.

That's not to say, everything went as smooth as I would have liked it. I'm starting this series to keep some notes on the pitfalls and (usually unpleasant) surprises.

Next: Installation

gpg works on command line but not in crontab

Thursday, August 24th, 2006

This command:

CODE:
  1. gpg -r myself@digizenstudio.com --encrypt somefile

works on command line but when being put in crontab (it's supposed to encrypt the daily backup and ftp to my hosting provider's backup server). In the latter case it produces this error:

gpg: myself@digizenstudio.com: skipped: public key not found
gpg: /path/to/thebackup.gz: encryption failed: public key not found

The solution is to add "--homedir /root/.gpg" to the gpg command above.

PostgreSQL: thanks for trying to look after me, but no, thanks.

Thursday, July 6th, 2006

I have been wanting to give postgresql a try for some time. The reasons are manifold - the clean coming BSD license for a starter, a somewhat more standard compliant SQL engine compared to MySQL and even some commercial products, etc. But my postgresql experience takes a blow right in the face at the first attempt to start the server - more...

Qmail And Its 30 seconds SMTP delay

Sunday, July 31st, 2005

On this new server I've got, Horde is configured to use the qmail smtp demon on localhost to send emails. Qmail is pre-configured by Plesk. I ran into this mysterious delay every time when I tried to send an email from Horde. When I opened up each test message source from the receiving end, the headers would show exactly a 30 seconds delay for the "localhost hop". That smelled like some kind of timeout to me... and a bit digging into qmail's documentation proved it - qmail's tcp-env would time out after 30 seconds when trying to get the TCPREMOTEINFO data from the remote host. And tcp-env is exactly what xinetd uses to drive qmail-smtpd everytime there is an smtp connection comes in.

So in case you are running into the same problem, here's the solution - go to /etc/xinet.d, open up smtp_psa, and add a "-R" to the beginning of server_args. Then "ps -e | grep xinetd" to get the pid of xinetd, and "kill -USR2 <the pid>" to put the config change into effect.