Installing Ubuntu Server

Last month I downloaded Ubuntu version 6.06 (Dapper Drake) for two reasons:  to install a desktop machine for some quick testing, and to build a ‘permanent’ development server.  The only thing painless about the process was downloading the ISO image.  My HP DVD/CD burner, which had been acting a little flaky, completely crapped out and the built-in DVD ROM/CD burner in my laptop had trouble until I lowered the write speed.

It didn’t help that this was the same day I rode home in a downpour and discovered that, although my backpack is water resistant, it is not water proof.  My laptop got wet and I was sure I’d fried it.  I left it to dry overnight and everything seems to work okay.  But I digress.

The Ubuntu Live CD ran fine, but installing from that CD failed after a few input screens for no apparent reason.  I poked around a bit and found the answer:  use the “alternate” install CD, which installs in text mode.  After that, things went very well and I was quite pleasantly surprised by the ease of installation and the uncluttered desktop.  I ran the online software update and was again pleasantly surprised at how painless the update was.  We did our desktop testing quickly and then it was time to build the server.

Things went poorly from the start.  I carried the computer back to my office and plugged it in to my spare monitor, booted the alternate CD and told it to install the server.  Yes, I could have gone through the effort of adding server stuff to the desktop installation and removing stuff I didn’t need, but it just seemed cleaner to start over.  But after a few screens of data gathering, the monitor went blank.  I don’t know why. 

I finally figured out that it was the combination of video card and monitor that was causing the problem.  Why Ubuntu needs to change the video mode in the middle of a text install–especially when building a server that doesn’t have a GUI–is beyond me, but there it is.  I’ve since installed a second server on a different computer that uses that monitor with a different video card.

Finishing the server install doesn’t give you a very functional server, and for some reason the default install makes it difficult to get some packages.  Probably for security reasons.  After struggling a while, I found that I had to modify the /etc/app/sources.list file to include the ‘universe’ and ‘multiverse’ repositories–something that was not very well documented a month ago, but is explained very clearly now for Ubuntu 6.10 (Edgy Eft).

What software did I have to install manually?  Open SSH, Apache web server, PHP, MySQL, the Java JDK, and the JOE editor because vi sucks rocks.

I’m now in the middle of learning PHP while creating a large Web application.  The server has been very reliable, and I’m beginning to think that I might yet get the hang of this Linux thing–at least as far as servers go.  I still have questions about using Linux on a desktop, but that could change if I can make the time to sit down and play with it.

I’m a glutton for punishment

I want to like Linux.  Really.  But every single time I start working with it I end up so frustrated I wonder why I don’t just give up.  We’re going to need server support for our new project and, all things considered, Linux looks like the way to go.  I’ve been hearing such good things about Ubuntu over the past year that I thought I’d start there.  Following is the result of two days’ fiddling.

Download Ubuntu Desktop first, because we wanted to test something.  Download went okay.  Then I had a heck of a time burning the CD.  First my relatively new DVD/CD burner checked out, and then the built-in on my laptop wouldn’t work at high speed.  I made a half dozen coasters before I got a good burn.

Ubuntuu booted okay from the live CD, but it wouldn’t get past the “select language” on the install.  It’d just hang.

I spent a couple of hours searching for the reason, and stumbled across a few others who were having similar problems.  The solution was to download the alternate install CD and do the install from there.  I got the image last night and burned it to CD at home.  (Another story I’ll relate in a different post.)

This morning the Ubuntu install went fine.  I was impressed with the clean desktop.  The default GNOME GUI looks very nice.  The software update process went without a hitch–very nice.  I was able to download the Flash 9 update for Linux.  We confirmed that worked, and I also got the Flex SDK running on the machine.

The machine was pretty sluggish with only 128 MB  of RAM, so I made a trip to Fry’s for a gigabyte.  Came back, installed the RAM, checked to see that the machine still worked.

With that out of the way, it was time to install the server.

Moved computer back to my office, hooked everything up, and started server install in text mode.  It’d get to a point and then … blank screen.  Why?  Sure, I’d hooked up a different monitor, keyboard, and mouse, but that shouldn’t affect anything.  Right?

After fiddling around and trying different things, I carted the other monitor back into my office and hooked it up.  Works fine.  I can’t figure this one out.  Why does the old Planar LCD panel work and my Viewsonic VP151 not work?  Imagine if I didn’t have another monitor and tried to install Ubuntu.  I’d just give up and throw the CD in the trash.

With that problem solved, I got the server installed.  “apt-get update” worked nicely to get all the latest updates.

Now to copy a few things from the network.  How?  No Samba support in the default install.  Okay, so I install that (apt-get install samba, as pointed out in the Ubuntu documentation) and try to mount the network drive.  No dice.  Create a mount point and try again.  Still no dice and I get a nice informative error message:  “mount_data version 1919251317 is not supported.”  WTF?  A few Google searches and I found that all I needed was to install smbfs.  “apt-get install smbfs”.  Would have been nice if the Ubuntu documentation that talks about installing Samba had mentioned that.

The Flex SDK comes in a zip file.  No, not a gzip, but a PKZIP format.  Fortunately, I was able to install unzip:  “apt-get install unzip”

The first thing to try when you install the Flex SDK is building the examples.  But now I’m getting error messages saying that the “java” command is not found.  Great.  “apt-get install java” didn’t do it, so back to the Web to figure out what package I need.  Finally find “sun-java5-jdk”.  But that package isn’t found.  More searching and I find that I need to update my /etc/apt/sources.list file as described here (http://ubuntuguide.org/wiki/Dapper#How_to_add_extra_repositories)

And that’s where I left it until tomorrow morning.

Frustration.  Take a step, get stumped.  Find something.  Take another step.  Lather, rinse, repeat.  I figure at this pace I’ll have a reasonable server install sometime around Christmas.

Installing Apache

I’m getting better at this Linux stuff. Today’s project was to get the Apache Web server running on my system and play around with it a bit. Eventually that machine will function as a staging server for some changes that I want to do to this Web site. Today I wanted to get all the software installed and make sure that PHP and MySQL are functioning correctly. As is most often the case, things didn’t go as expected.

I started up the SuSE installation program and told it to install Apache, PHP, and MySQL. Everything installed okay, but when I tried to start the Web server I got a rather unhelpful message telling me that the multiprocessing module failed to start. No details, no log file entries. Just “Failed.” Don’t you just hate it when that happens? I only spent an hour searching documentation and trying different configuration options before I decided to run the online update to see if there was a newer version on SuSE’s update site. There was, along with a kernel update and a few other things. I find it odd that the update system doesn’t identify the specific problems that a patch addresses.

In any case, I have Apache running now and can begin my PHP/MySQL experiments.

Opening links from Evolution

I got a note from Rob Haynes, who found my June 4 entry about the trouble I was having with the Evolution email client not opening links in a browser.  He wrote to tell me that he found the solution on an old Ximian mail list posting here.  The solution is pretty simple:

  1. Run /opt/bin/gnome-default-applications-properties.
  2. Select “Custom Web Browser.”
  3. Enter the appropriate command for your browser.  For me that was “firefox %s”.

Working with Linux can be so frustrating at times.  I never would have thought to set GNOME applications properties to affect the operation of my mail client under KDE.  It makes some sense, though, seeing that Evolution is a GNOME application.

SuSE 9.1 Personal available via FTP

Slashdot reports today that SuSE has made an ISO image of their 9.1 Personal version available via FTP.  The FTP address is ftp.suse.com/pub/suse/i386/9.1-personal-iso/.  This the first time in recent memory that SuSE has made one of its distributions available as an ISO.  With previous versions of SuSE Linux it was possible to do an FTP install, but you couldn’t download an ISO and burn it to CD.  The ISO version includes almost everything from the CD version that you can buy in the store or from SuSE’s Web site.  The only things missing are some proprietary programs.  As the Slashdot story says, you could install this version and use it to get from SuSE all the things that are on the Professional version (minus the proprietary stuff).  Of course, you’d have to do a lot of downloading.  The Professional edition consists of five CDs.  It also includes two DVDs:  one containing the full 32-bit and 64-bit distributions, and the other that has full sources.

SuSE Linux 9.1 Live-Eval

SuSE recently made their SuSE Linux 9.1 Live-Eval version available for download.  You simply download the ISO image (about 675 megabytes), burn the image to a CD, and then boot a computer from that CD.  SuSE Linux 9.1 comes up, letting you give Linux a try without having to install anything to your hard drive.

I downloaded the Live CD image to my SuSE 9.1 Professional system last night, and this evening K3b, the CD Kreator, made quick work of burning the image to a CD.  I put the CD in my Dell Latitude laptop and rebooted.  I didn’t have to answer a single prompt during the boot process, and in about the same time it takes to boot a Windows install CD, I had a working Linux system running.  Everything’s done on the CD or in a RAM drive.  It’s stunning.  Just beautiful.  I can browse the Web, work with OpenOffice applications, check email, play games, and even mount my Windows shares so that I could store files over there.  I should be able to mount the laptop’s hard drive, but I haven’t figured out how to do that yet.  I also need to see if I can mount my 256 MB Memorex USB thumb drive.  With the SuSE Live CD and a workable thumb drive, I could work on just about any modern system.

Linux desktop not quite ready

It’s looking more and more like this is not the year that Linux makes serious inroads on the desktop.  All things considered, that’s probably A Good Thing.  Open Source developers have made very impressive progress over the last few years, but they still have a way to go before I would recommend a Linux distribution to most desktop computer users.  I know that with that statement I’m opening myself up to all kinds of scorn and accusations of FUD from the Open Source crowd, but so be it.

I’m not saying that Linux is bad, or that it never will be a major desktop contender, just that the time isn’t quite yet.  Open Source developers have made very impressive strides and the major Linux distributions that I’ve tested (primarily SuSE, Fedora, Mandrake, and Lycoris) are quite usable if somewhat frustrating.  Functionally, they’re as good as or better than Windows in most respects.  On the surface, they’re “just as easy” to use as Windows.  Installation certainly is easy enough, and simple operations like Web browsing, word processing, and checking email are easy to do and reasonably well documented.  Things get a bit more difficult, though, once you go beyond the handful of applications that are documented well in the printed user guides or if something entirely unexpected happens, which is all too frequent.  The information needed to find and fix problems is available, just not easy to find.  And editing configuration files with a clunky old text editor like vi is fine for old computer junkies like me, but not for most computer users–even those who are reasonably comfortable with technology.

As I see it right now, a desktop Linux system is a good choice for computer savvy individuals, and for corporate installations that have strict controls on what software is installed on their computers.  It could be a good choice for casual users who have well-defined requirements and will not be changing their configurations often to try out new software.  I include Aunt Tillie here, who just wants to browse the Web from time to time and keep up with her email.  Provided that somebody knowledgeable installs and configures the system, Aunt Tillie will be just fine.  Better, perhaps, than with a Windows system, due to the reduced threat of viruses and worms.

In my opinion, the major thing lacking in desktop Linux distributions now is “user friendliness.”  That’s a hard thing to quantify.  It’s improved over the five or so years since I started working with Linux, but there’s still a way to go before I could comfortably install a Linux distribution on Debra’s computer.  I keep looking and hoping.  I suspect it’ll be a couple more years. 

Early thoughts on Linux desktop system

I started using my SuSE Linux system for email and Web browsing on May 29.  I’m slowly adding more as time allows, but it’s slow going.  So far I’ve been mostly pleased with the Evolution mail client and Konqueror browser, but I’m still trying to get comfortable.  If there’s a way in Evolution to display the next email message (i.e. Previous and Next buttons), it’s either well hidden or I’m blind.  And for some reason, clicking on a link from within an email message won’t open that link in the browser–even when I right click and then select “Open Link in Browser.”  Evolution seems like a nice enough email client other than that, although I’ll admit that I’ve yet to explore the Calendar, Tasks, or Contacts.

I’ve had no trouble using Konqueror as a Web browser, although it’s taking me some time to get accustomed to tabbed browsing.  I like it when I remember, but all too often I click on a link and then think “nothing happened” because I didn’t see the window contents change or a new window pop up.  I’m also annoyed by the lack of Ctrl+D to get to the address bar.  That particular keystroke is hard-coded into my fingers in much the same way that the Wordstar command keys were 10 years ago.  It’ll be a while before I can train my fingers to hit Ctrl+O instead.

Right now I’m having typical “new system” troubles, just trying to familiarize myself with the way things are done in Linux, X Window, and KDE.  I keep poking at it and learning new things every day.  It’s possible that some of the problems I’m having are shortcomings of the user interface, but I’ll withhold judgment until I become more familiar with the overall system.

Access to Windows shares problem solved

A Google search for “konqueror windows share” revealed the Access to Windows Shares article on SuSE’s site, which gives instructions for the command line and Konqueror on SuSE versions 8.1 and later.  The command line setup was painless, and in a matter of a few minutes I had full access to my Windows shares both from the command line and from Konqueror.  The basic idea is to create a directory on the Linux box and then map the Windows share to that directory with this mount command:

mount -tsmbfs //server/share /linuxpath/dir

After that, I could just browse to /linuxpath/dir and I was able to access the files on the Windows share.  I can make the mapping permanent by adding the mount point to the /etc/fstab file, the only drawback being that I need to identify each individual share in that file or use the administrative shares (C$, D$, etc.).

Adding browse capability so that I can browse for machines and shares from Konqueror was a little more involved.  I had to start YAST again and install a couple more packages, then configure LISa, the LAN Information Server.  On my first try I could access the Windows shares only by IP address, apparently because I didn’t instruct LISa to send NetBIOS broadcasts to locate servers.  I had to install the Samba server package and enable it before I could access by machine name.  This is hinted at on the Web page, but not explicitly stated.  I’m somewhat surprised that I have to enable the Samba server in order for this to work.  I wonder if the reason is that the program that LISa uses, nmblookup, is part of the Samba package.  Perhaps it’s possible to install that program by itself?

Installing POPFile on SuSE Linux

Today’s Linux experiment was frustrating, but ultimately fruitful.  I’ve been wanting to convert my day-to-day work to Linux, and I’ve chosen SuSE Linux 9.1 as the particular distribution.  I installed the Evolution email client the other day, and have been using it since.  I haven’t converted my address book yet, which is something of an inconvenience, but I’ll manage.  Today’s experiment was installing the POPFile spam filter, which I’ve been using on Windows since last fall.  This turned out to be very difficult.

I downloaded the cross platform version of POPFile to my home directory, extracted the files, and tried to run the program.  The Perl interpreter failed with the message “Can’t locate HTML/Tagset.pm.”  It seems that the SuSE install didn’t include all of the necessary Perl modules.  So I started up SuSE’s setup program, YAST, located the module, and installed it.  Try number two got a little further before exiting with the error message “Can’t locate DBI.pm,” which turns out to be the Perl database interface.

I’ve had this problem before:  trying to get all of the necessary Perl modules installed.  Figuring that these things have to be listed somewhere, I took another look at the documentation that came with POPFile.  Their installation instructions for the cross platform version say:

Get Perl running on your machine, then download the POPFile Perl zip from the POPFile Home Page, and extract it to a directory of your choice.

Not very helpful, as Perl is indeed running on my machine.  Checking the Web site, I finally found the list of required modules in their HowTo section here.  I installed the DBI module from my SuSE DVD, but was unable to find the SQLite module there so I figured I’d get it from CPAN like the instructions say.  I was able to download and extract the files, but the build failed.  Why?  Because the SuSE installation didn’t include make, gcc, and other utilities required for building programs!  Granted, I didn’t tell it to install development tools, but considering how much Linux software is distributed in source form with make file installations, it seems reasonable to expect the default install to include a minimum set of build tools.  So, back to YAST and installation of some development tools.  After all that, the CPAN install failed again for reasons unknown, but since it left the downloaded files in my root directory I was able to manually execute make and install the program.

Did you know that you must have root permissions to run POPFile?  Many Linux systems restrict access to ports lower than 1024, and the standard POP port is 110.  Fortunately, POPFile gives a nice error message about that one and I had no trouble making POPFile run as root.  This, too, is not mentioned in the POPFile documentation.  It is, however, mentioned in the FAQ.

All told, installing POPFile on my system took about 4 hours of real work (including researching and head-scratching) spread out over an 8 hour period.  I realize that an experienced Linux head would have figured all this stuff out a lot quicker, and I expect that the next thing I try to install will go much quicker.  Still, I’m a reasonably bright guy who’s been using computers for 25 years.   I have some idea of what’s going on.  Imagine the problems a casual computer user would have with this stuff.  I’d be willing to bet that most would give the program a try, see it fail, and give up.  More tomorrow after I’ve sorted out my thoughts on this one.