Getting Started with Ubuntu

Posted 21 August 2006 under , , , ,

This past weekend, I finally took the plunge and installed Ubuntu Linux on my PC. Installation couldn’t have been simpler — you honestly don’t need to have a tech background to get this up and running; just download and burn a disc image, boot from the CD, and Ubuntu does the rest. It recognized all of my hardware automatically, which is more than Windows can claim (everytime I do a fresh install of XP, I forget that it doesn’t know about my network card, so I have to open the case, figure out the card make/model, download the drivers to a friend’s computer and then transfer them over to mine).

Configuring Ubuntu

Through a ton of trial and error and double-digit fresh installs, I’ve developed a procedure for getting Ubuntu configured in six easy steps. Obviously, this is tailored to my specific needs, but I’m not doing anything too wild here.

1. Open up /etc/apt/sources.list and uncomment the two lines that look like this:

deb http://us.archive.ubuntu.com/ubuntu/ dapper universe
deb-src http://us.archive.ubuntu.com/ubuntu/ dapper universe

APT is Ubuntu’s package management utility, and by uncommenting those two lines, you give it access to software not supported by the Ubuntu team. It’s where the fun stuff lives, though :)

2. To alert APT to all the new packages you’ve just given it access to, run the following:

sudo apt-get update

3. Now the big kahuna …

sudo apt-get install ssh mysql-server apache2 php5 libapache2-mod-auth-mysql php5-mysql phpmyadmin netatalk ruby irb rails synergy

Here’s where APT shows its strength. By executing this one command, it installs, configures and deploys (deep breath) SSH, the Apache webserver, MySQL, PHP (with phpMyAdmin), Ruby on Rails, and two lesser-known, but still very cool pieces of software: Netatalk and Synergy.

Netatalk allows you to use Apple’s “connect to server” feature so that you can use the Linux box as a drive on a Mac. Synergy lets you use one mouse/keyboard to control multiple computers, regardless of OS. I can drag the mouse to the right side of my laptop screen, and it goes over to the Linux box.

4. These last three steps are pretty technology-specific. In order to get PHP and MySQL working together, open /etc/php5/apache2/php.ini and uncomment this line:

extension=mysql.iso

This will give PHP access to the MySQL libraries, and PHP without MySQL is like a party without beer … you could, but what’s the point?

5. After changing the php.ini file in step #4, Apache will need to be restarted:

sudo apache2ctl restart

6. This last step is just for Ruby on Rails. For whatever reason, Ubuntu puts the mysql.sock file in a different place than most Linux distros, confusing Rails. In order to point it to the correct place, create the following symlink:

ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

And that’s it. Pretty straightforward, huh?

Some good resources

There’s a ton of information about Ubuntu on the web. Here are a few sites that really stood out for me:

I know I’ve glossed over a lot of details here, so if you have any questions or thoughts, please do let me know through comments or the contact form.

Comments
  1. I want to try Ubuntu – I found your site after doing a google search. So far, so good, but why oh why do you use a dark brown background and in some places – like two lines under “THE BIG KAHUNA” which are completely unreadable – it looks like brown text on a brown background !! And Item 6 something called a symlink – I can’t read it. How can I change the colours to something more readable ?

    — Geoff · Oct 23, 01:56 PM · #
  2. Geoff: thanks for your feedback—didn’t know anyone was actually reading this :) Changed the colors a bit to hopefully make things more readable.

    David · Oct 23, 02:12 PM · #
  3. Very helpful, thanks! Had Netatalk up and running in just a few minutes.

    — Roger · Feb 28, 02:21 PM · #
  4. David. Your blog is awesome.

    Gary S. Weaver · Jan 25, 08:07 AM · #
  5. Hello,

    The title of the article sort of makes it sound like it this is something that all new users might want to do, but in fact it is not really applicable to a lot of people starting with Ubuntu these days. A lot of them are just people fed up with Windows & Microsoft, or are curious about Ubuntu/Linux. They are just using their computers for general purpose stuff. They don’t need things like: SSH, the Apache webserver, MySQL, PHP (with phpMyAdmin), Ruby on Rails, Netatalk and Synergy. Your average Joe is not going to be playing around with phpMyAdmin.

    What you’ve described is something more like “How to configure Ubuntu for web-programming guys like myself.” it’s great that you’ve distilled it down to exactly what you need to install those items, but maybe it would be good if you pointed that out in the title, or somewhere near the top that these items are not necessarily for regular people who just want to send email and access the web.

    And as far as enabling Universe, that is a good idea, but I would not necessarily start by telling people to go to the command line and edit files. New users are often put off by the command line as they are not used to it (they didn’t grow up in the DOS days, or they completely bypassed the DOS days, and they never used the unix in the pre-web days) it seems like something for geeks and admins. These days there is an easier way to enable the Universe repository:

    System -> Administration -> Software Sources, Ubuntu software tab and check the “Universe” and “Multiverse” tabs.

    (Also, “Big Kahuna”? What on earth is a Kahuna? Sounds like a Hawaiian reference. )

    — Peter Piper · Jun 23, 02:47 AM · #
  6. guys, i myself was thinking that this one is for beginners trying to explore with ubuntu. however, looks like a simple procedure for computer guru. it might be appropriate if you could include some simple mouse clicks from installation to navigation inside ubuntu.

    anyway, this site looks cool.

    — junnel · Jun 30, 11:48 AM · #
  7. Oh come on you two! the guy has at least put in effort to tell people how to get their machines set up for a few things. May or may not be applicable to your ‘average joe’, but the author clearly mentioned that these settings were for him and may not be applicable to some users. Good work and keep it up!

    — Syed · Sep 4, 04:16 PM · #
  8. This was very useful and saved me time and effort. Much appreciated.

    no · Sep 21, 10:03 PM · #
  9. Thank you for your helpful pages.
    Regarding page colours (you can see I’m not from USA) and styles, I often use the Firefox >view > page style > No Style option to read some pages. I like your attractive page styles very much, but being old in the eyes means they aren’t so clear to me as “No Style”, but hey – whatever works, right?
    May I suggest you include ‘year’ in your date of submission for readers’ comments – especially useful when they span several years, perhaps?

    Peter L Collins · Dec 1, 03:48 PM · #
  10. Well, it’s May 1, 2009 and I’m a new Ubuntu user with a fresh install of 9.04. Are all of these steps still relevant or have some become obsolete in newer releases? Please, update your very useful content. Also, are there any other add-ons you would recommend that have become available since you wrote this? I want to create a fully optimized starting point, then create an image so I can totally screw things up and then start over without needing to go through all of the obligatory steps. (like enabling Ubuntu to play encrypted DVDs, etc.)
    Thanks

    Duncan · May 1, 12:38 AM · #
  11. I agree, although it is nice to see that there is more you can do with the dapper universe, I do recommend we stick to basics and evolve based on the title.. comments?

    — Greg · May 20, 11:09 PM · #
  12. Duncan – Three years later, this is still how I setup a fresh Ubuntu install. The only thing I do differently is install rails using gem rather than apt-get.

    David Eisinger · May 21, 08:03 AM · #
Leave a Comment (please be nice/human)
Name
Email
http://
Message
Textile Help


About David

pic of david David Eisinger is a Web Programmer in lovely Durham, North Carolina, specializing in Ruby on Rails and Javascript. Take a look at (most of) his online activities, or feel free to contact him.

Status (via Twitter)

Played through 'Monument Valley' for iPad the other night. Great puzzles, great visuals. Just great all around.

Recent Photos (via Flickr)