.

TOP-NOTCH! Install Ultimate Ubuntu Jaunty WEB DEVELOPER PC

English   English (change)
Be Sociable, Share!

Virtually the Best Web Dev PC on the Planet

Unless you are still using Jaunty, this post is outdated because Ubuntu Karmic Koala 9.10 has superceded Jaunty 9.04. Scroll down for the series index of the new 25 part Karmic Koala Bible, ideal for noobs and Linux intermediates, which updates and expands upon this post.

build ultimate web development pc image

This all-in-one reference guide steps out how to set up Linux Ubuntu Jaunty with all the trimmings for a fun box and a second-to-none web development system.

Here’s the deal:-

  • 9.04 on a sole partition
  • performance tweaks ..
  • .. & enhanced usability
  • top software & multimedia picks
  • detailed security, ssh & Firefox configuration guides
  • software & Firefox addon guides for web developers
  • Nginx web server configured to reflect my remote VPS
  • Virtualbox serving up guest OS’es from within Ubuntu

The ultimate all-in-1 guide .. and all on 1 page!

Like that? Cool. Let’s get on with it ..

[sniplet guvSellBox]
[sniplet jauntyIndexSell]

  • What’s the difference between the Desktop & Server editions?

    Basically, the kernel. Server’s is configured for the demands of a web server, Desktop’s for those of a production environment. Otherwise:-

    Ubuntu Desktop comes bundled with a suite of useful applications. Straight out of the box, you can surf the web, read email, create documents and spreadsheets, edit images, organise media and more. Desktop’s graphic interface (GUI) makes it easy to see what you’re doing.

    Ubuntu Server is an OS that’s cut to the bone. And there is no GUI.

    Should I use Ubuntu Desktop or Server edition?

    You could use either, whether for a local development requirement or to run your live web server (although it really would be a little eccentric to use Desktop for that.) Tailoring either is simply to add and delete whatever packages you want. For example, with Server, you can add a friendly GUI with a single command.

    In practise, though, for most of us, we’d be better off using Desktop for home or office and, for 100% of us, using Server edition for a live server.

  • Installing Ubuntu Jaunty Jackalope 9.04

    Burn an .iso Image to Bootable Disk

    Download Jaunty’s .iso image file here, whether in 32 or 64 bit. If you don’t know how to burn an image to a disk, read this.

    Now you’ll have a bootable disk.

    Mapping Out the Hard Drive

    According to Ubuntu, “The install takes between 3-4gB hard drive space, and 8 – 10gB will be needed to run comfortably.” With my method, we’re using the whole darn disk so, with my machine, for example, I’ll have my setup rattling around a single logical partition of approaching 500gB, with a wee SWAP partition of a default-size few gB.

    Inside Ubuntu’s whopper slice, I’ll be installing VirtualBox, ring-fencing about 30gB each for the guest operating systems I’ll be running through that.

    Jaunty Jackalope Installation

    Last call: you have backed up your data, huh? Right, onward and upward.

    • Pop that disk into the tray and reboot the machine.
    • On rebooting, up pop the installation language options. Choose your setup lingo.
    • The Ubuntu CD menu opens. Choose “Install Ubuntu”. Things start loading up.
    • Click “Forward” on the “Welcome” screen and choose the OS language.)
    • Choose a timezone, click “Forward”.
    • Choose a keyboard layout, click “Forward”.
    • The partitioner kicks up.
    • On the “Prepare Disk Space” page, choose “Use the entire disk”.
    • On the “Personal Identification” screen, add the basic details and click “Forward”.
    • There’s an installation summary on the “Ready to install” screen ..
    • And an “Advanced” tab. Most importantly, you can add a network proxy if you like, or just ignore it like me.
    • Back on the “Ready to install” screen, click “Install”.
    • Go make a cup of tea.
    • Your partitions will be formatted and Ubuntu installed. I guess you knew that.
    • When the “Installation Complete” dialogue box pops up, click “Restart now”.
    • When prompted, remove the disk from the tray and click “Enter” to reboot.
    • Up pops the login screen. Do.
  • *** Read this or my guide may not work ***

    I like shortcuts, ‘cos I’m lazy like that. So ..

    In the next section I’ll be editing the bashrc file, which allows us to use simple command line aliases rather than having to remember and type long commands. (I suspect you’ll like this.) If you do prefer to use the standard code, replace the aliases scattered around this tutorial with their corresponding syntax which can be found in the Edit bashrc for User-Friendly Terminal Syntax Shortcut Alias Whatnots section.

    .. So, either way, you’d best read the next section ;)

    Some IFs

    IF: you are scared of the command line interface and prefer using Synaptic Package Manager, else Applications > Add/Remove, or wonder why I use aptitude and not apt-get, ***read this***.

    IF: I suggest you open or type something and you are wondering where to open or type it, use the Terminal, which you can find here:-

    Menu > Applications > Accessories > Terminal

    IF: you have any questions, suggestions or just want to say hi or tell me I’m an idiot, please leave a comment.

    IF: you find this guide truly useful, not tooo dull, and a resource you’d recommend to other folks, do me a favor and Digg the damn thing.

    Hope you like.

    the_guv

  • Edit bashrc for User-Friendly Terminal Syntax Shortcuts

    Such is Linux, to make the most of it, we use the Terminal a whole lot. Let’s make the experience a little less dour by editing the bashrc file. Open:-

    [text]nano ~/.bashrc[/text]

    .. and prompted, give the password you requested at the Ubuntu installation stage, if any.

    Scroll to the bottom of the file and paste whatever you fancy from below, modifying the aliases to suit you:-

    [text]
    ###My Aliases
    #Ubuntu version detail
    alias ver=”cat /etc/lsb-release” #RAM and SWAP detail in MBs
    alias free=”free -m” #open bashrc
    alias ebrc=”nano ~/.bashrc” #update .bashrc
    alias ebrcupdate=”source ~/.bashrc”
    #update software source index
    alias update=”sudo aptitude update” #safe upgrade Linux OS
    alias upgrade=”sudo aptitude safe-upgrade” #full upgrade Linux OS
    alias fupgrade=”sudo aptitude full-upgrade” #install [software_name]
    alias install=”sudo aptitude install” #remove [software_name]
    alias remove=”sudo aptitude remove”
    #detail list of current directory
    alias ll=”ls -la”
    # easy access example of regularly used folder
    alias someFolder=”cd /example/of/regularly/used/folder”
    #reload Nginx web server
    alias n2r=”sudo /etc/init.d/nginx stop && sleep 2 && sudo /etc/init.d/nginx start”

    ###My Functions
    #add color & formatting to Terminal to try to keep me awake
    export PS1=”[e[32;1m]u[e[0m][e[32m]@h[e[36m]w [e[33m]$ [e[0m]”
    [/text]

    They’re pretty self-explanatory but, to break down an example, this one is the shortcut to open this file, bashrc, for when we want more cool ‘cuts:-

    [text]alias ebrc=”nano ~/.bashrc”[/text]

    • alias ebrc tells bashrc we’re issuing an alias directive, and that the alias itself will be “ebrc” (it could be mostly anything you like)
    • = well, it’s an equal sign, obviously!
    • “nano ~/.bashrc” is the quoted, properly syntaxed command we would normally provide

    So, instead of issuing nano ~/.bashrc, now all we need type is ebrc.

    But. First, we must restart bashrc, by typing:-

    [text]source ~/.bashrc[/text]

    In future, tho’, with my example aliases above, instead of source ~/.bashrc, we just type ebrcupdate.

    You may imagine, this bash thing is darnedly handy, especially when maneuvering about remote servers where you also have a jazzed up bashrc. I log into my VPS, for example, with this command:-

    [text]guv[/text]

    How handy is that? Especially for a bloke like me, who can barely remember which is the day of the week.

    Got a personal favorite, or ten? Please share. I’ll add the ones that aren’t shortcuts to Viagra online.

  • Can’t Access the Internet?

    If you’re using an ethernet cable, plug it in.

    Wireless? Click the network icon, which is next to the speaker icon which is next to the date. On the resulting menu, click the name of your network (assuming your router is turned on), add your security key and click Connect.

    If you notice the clock is wrong, BTW, just ignore it. It’ll work itself out quickly enough.

  • Adding Repositories for Jaunty

    Repositories store packages, online. Some are officially recognised and maintained, some are safer than others.

    There are three ways to add extra repositories:-

    • using System > Administration > Synaptic > Settings > Repositories
    • by entering command line directives to the repositories file
    • by editing directly that file (/etc/apt/sources.list)

    We’ll do the latter. In each case, you need a key to use the repo, so we’ll get that too.

    About My Repository List

    Essentially, this list opens up new package choices from Ubuntu’s universe, multiverse, backport and Canonical’s partner sources, as well as adding repositories from some of the most useful vendors, with a slant for web developers. Some you may not want to bother with. I’ve included a line about what some of these things are for, and linked to where you can find out more.

    My choices are are widely recognized as being safe. For sure I’ve had no problems and wouldn’t recommend what I don’t use. Nevertheless: Use them at your own risk!

    For noobs out there, let me be specific, you are not downloading anything here, except the key to each repository you want to query and, when you update your records at the end of this exercise, the details of what packages are available from those repos (from which, if you like, you can download applications thereafter.)

    Importing Repository Keys

    Before you can see what’s available in a repo, you have to unlock the resource. So, 10 repos? .. that’s 10 keys. Let’s get them. Look at the layout of my sources.list file. A typical entry reads:-

    [text]
    # Ubuntu Tweak
    # Must-have Ubuntu configuration tool .. http://ubuntu-tweak.com/about
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 6AF0E1940624A220
    deb http://ppa.launchpad.net/tualatrix/ubuntu jaunty main
    deb-src http://ppa.launchpad.net/tualatrix/ubuntu jaunty main
    [/text]

    Note the line that begins # sudo apt-key adv. There is your repository-specific key-request command. So, minus the ‘commenting-out’ #, for each repo you want, paste just that line into your Terminal, like this, hit return and it’ll download, unlocking the repo:-

    [text]sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 6AF0E1940624A220[/text]

    .. You can paste a bunch of them in one go, too, pasting something like this:-

    [text]
    sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 6AF0E1940624A220
    sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 89GS8GS
    sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com VSZD7800VZSV788
    [/text]

    For each, you’ll receive back a message saying the key has been imported.

    Editing /etc/apt/sources.list

    Open and edit your repository file:-

    [text]gksudo gedit /etc/apt/sources.list[/text]

    .. delete its content, or copy that to somewhere else for now if you prefer, (then bin it in a moment anyway.)

    Now paste your edited version of my list or, if you like, just copy the lot:-

    [text]
    #
    # Ubuntu Jaunty Jackalope 9.04 Repos, from the_guv @ http://guvnr.com
    #

    #
    # Ubuntu Jaunty
    #

    deb cdrom:[Ubuntu 9.10 _Karmic Koala_ - Alpha amd64 (20090917.1)]/ karmic main restricted
    deb http://archive.ubuntu.com/ubuntu jaunty main restricted multiverse universe
    deb-src http://archive.ubuntu.com/ubuntu jaunty main restricted multiverse universe
    deb http://archive.ubuntu.com/ubuntu jaunty-backports main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu jaunty-backports main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu jaunty-updates main restricted multiverse universe
    deb-src http://archive.ubuntu.com/ubuntu jaunty-updates main restricted multiverse universe
    deb http://security.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse
    deb-src http://security.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse
    deb http://security.ubuntu.com/ubuntu jaunty-proposed main restricted universe multiverse
    deb-src http://security.ubuntu.com/ubuntu jaunty-proposed main restricted universe multiverse

    #
    # Canonical Commercial
    #

    deb http://archive.canonical.com/ubuntu jaunty partner
    deb-src http://archive.canonical.com/ubuntu jaunty partner
    deb http://archive.canonical.com/ubuntu jaunty-backports partner
    deb-src http://archive.canonical.com/ubuntu jaunty-backports partner
    deb http://archive.canonical.com/ubuntu jaunty-updates partner
    deb-src http://archive.canonical.com/ubuntu jaunty-updates partner
    deb http://archive.canonical.com/ubuntu jaunty-security partner
    deb-src http://archive.canonical.com/ubuntu jaunty-security partner
    deb http://archive.canonical.com/ubuntu jaunty-proposed partner
    deb-src http://archive.canonical.com/ubuntu jaunty-proposed partner

    #
    # System Tools
    #

    # Ubuntu Tweak
    # Must-have Ubuntu configuration tool .. http://ubuntu-tweak.com/about
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 6AF0E1940624A220
    deb http://ppa.launchpad.net/tualatrix/ubuntu jaunty main
    deb-src http://ppa.launchpad.net/tualatrix/ubuntu jaunty main

    #
    # Productivity
    #

    # Gnome-do
    # Mac-like desktop apps dock for improved productivity .. http://do.davebsd.com/
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 28A8205077558DD0
    deb http://ppa.launchpad.net/do-core/ppa/ubuntu jaunty main

    # Gnome-Globalmenu
    # OS X-style global menu .. http://code.google.com/p/gnome2-globalmenu/
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 7889D725DA6DEEAA
    deb http://ppa.launchpad.net/globalmenu-team/ubuntu jaunty main

    # Nautilus-dropbox
    # File syncing online & across machines, with 2Gb space for free .. http://www.getdropbox.com/
    deb http://linux.getdropbox.com/ubuntu jaunty main

    #
    # Computer Graphics & Themes
    #

    # Compiz-Fusion
    # Improved usability with jazzed up graphics .. http://www.compiz-fusion.org/
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 2ED6BB6042C24D89
    deb http://ppa.launchpad.net/compiz/ubuntu jaunty main

    # Gnome Icon Theme
    # Nice desktop graphics .. http://www.gnome-look.org/content/show.php/GNOME-colors?content=82562
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 2D79F61BE8D31A30
    deb http://ppa.launchpad.net/gnome-colors-packagers/ppa/ubuntu jaunty main
    deb-src http://ppa.launchpad.net/gnome-colors-packagers/ppa/ubuntu jaunty main

    # Project Bisigi Themes
    # Strikingly beautiful Gnome themes .. http://www.bisigi-project.org/?lang=en
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 6E871C4A881574DE
    deb http://ppa.launchpad.net/bisigi/ppa/ubuntu jaunty main
    deb-src http://ppa.launchpad.net/bisigi/ppa/ubuntu jaunty main

    #
    # Web browsers
    #

    # Chromium Browser
    # Open-source Webkit browser, for testing Safari and Chrome .. http://dev.chromium.org/
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 5A9BF3BB4E5E17B5
    deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main

    # Epihany
    # Another Webkit browser, for testing Safari and Chrome .. http://projects.gnome.org/epiphany/
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 2D9A3C5B
    deb http://ppa.launchpad.net/webkit-team/epiphany/ubuntu jaunty main
    deb-src http://ppa.launchpad.net/webkit-team/epiphany/ubuntu jaunty main

    # Firefox
    # Gecko browser
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 632D16BB0C713DA6
    deb http://ppa.launchpad.net/fta/ppa/ubuntu jaunty main

    # Opera
    # Presto browser
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 033431536A423791
    deb http://deb.opera.com/opera/ lenny non-free

    #
    # Communication
    #

    # Pidgin
    # Multi-client instant messenger .. http://www.pidgin.im/
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 7FB8BEE0A1F196A8
    deb http://ppa.launchpad.net/pidgin-developers/ppa/ubuntu jaunty main

    #
    # Media
    #

    # Medibuntu
    # Multimedia, entertainment and other distractions .. http://www.medibuntu.org/
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 2EBC26B60C5A2783
    deb http://packages.medibuntu.org/ jaunty free non-free
    deb-src http://packages.medibuntu.org/ jaunty free non-free

    # VLC Player
    # Media player, well decked with codecs .. http://www.videolan.org/vlc/
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com D739676F7613768D
    deb http://ppa.launchpad.net/c-korn/vlc/ubuntu jaunty main

    #
    # Extend with Web Development Packages Tools
    #

    # Drizzle
    # Modular relational db optimised for Cloud and Net apps, a MySQL fork .. https://launchpad.net/drizzle
    deb http://ppa.launchpad.net/drizzle-developers/ppa/ubuntu jaunty main
    deb-src http://ppa.launchpad.net/drizzle-developers/ppa/ubuntu jaunty main

    #
    # Graphics Tools
    #

    # Shutter
    # Feature-rich screenshot program .. http://shutter-project.org/
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 009ED615
    deb http://ppa.launchpad.net/shutter/ppa/ubuntu jaunty main
    deb-src http://ppa.launchpad.net/shutter/ppa/ubuntu jaunty main

    #
    # Windows/OS Emulators, Translators, Virtualizers, all that
    #

    # PlayOnLinux
    # Run Windows wares and games .. http://www.playonlinux.com/en
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com FC6D7D9D009ED615
    deb http://deb.playonlinux.com/ jaunty main

    # Setup a Virtual OS with Virtualbox (sure beats a dual-boot!)
    # Virtualization software for guest OSes .. http://www.virtualbox.org
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com DCF9F87B6DFBCBAE
    deb http://download.virtualbox.org/virtualbox/debian jaunty non-free

    # Wine
    # Run Windows apps .. http://www.winehq.org/
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 58403026387EE263
    deb http://wine.budgetdedicated.com/apt jaunty main

    #
    # Package Management
    #

    # Subversion
    # Software versioning .. http://subversion.tigris.org/
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 6298AD34413576CB
    deb http://ppa.launchpad.net/anders-kaseorg/subversion-1.6/ubuntu jaunty main
    deb-src http://ppa.launchpad.net/anders-kaseorg/subversion-1.6/ubuntu jaunty main

    #
    # Other Applications
    #

    # Google
    # Picassa, Google Desktop and maybe other stuff .. er, google it!
    # sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com A040830F7FAC5991
    deb http://dl.google.com/linux/deb/ stable non-free
    [/text]

    Save the file.

    Updating the Repository Records

    Type:-

    [text]update[/text]

    Getting Errors?

    Likely you’re getting an error or three, reading something like:-

    [text]
    W: GPG error: http://ppa.launchpad.net jaunty Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 4FEC45DD06899068
    W: You may want to run apt-get update to correct these problems
    [/text]

    The reason you’re getting that, is because you haven’t imported the key, for whatever reason, but basically because you have been a thoroughly disorganized chap ;)

    Of the error message: that last line, ignore it.

    Of the first line: there’s a hexidecimal number, in this case 4FEC45DD06899068.

    Remember our key-request command?:-

    [text]sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com SV9D6SVD97967VSD[/text]

    OK, swap that number on the end for the one in the error message, for each of the error messages, inputting them as before in the Terminal or, for this error:-

    [text]sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 4FEC45DD06899068[/text]

    Then have another go:-

    [text]update[/text]

  • Upgrade Linux Ubuntu

    Once you have repositories set up, with your system updated to reflect what upgrades, patches, packages, software, libraries and so on are available, it’s time to upgrade.

    Upgrading Ubuntu is a bit like running Windows Update (except you’re not unwittingly downloading a bunch of spyware, bloatware, control_freakware, or just_generally_we_don’t_care_about_buggering_up_your_PC_ware.)

    .. Er, and it’s quicker, to the point that you no longer take an enforced vacation while a service pack installs. Type:-

    [text]
    upgrade
    [/text]

    .. if a new kernel is amongst the new files, you’ll be prompted to restart your PC.

    It won’t be possible to upgrade our Ubuntu version yet because, as it stands, Jaunty is the latest but, when Karmic Koala comes out in a month or so, you can upgrade the OS with the command:-

    [text]fupgrade[/text]

    At this point, if you’re new to Linux, you may be forgiven for allowing just a little bit of resentment to pass through you, for all those hours you’ve spent at Windows Update, not to mention their damn reboot demands.

    Peace, love and penguins.

  • Some Miscellaneous Housekeeping

    Just a few things I like to do to get things running, well, just so. Hey, let me know what tweaks you use to improve your desktop environment, usability & productivity.

    Speed Up Ubuntu

    Other than 1. removing unneccessary apps and 2. removing the graphical effects, you can 3. stop unnecessary services with sysvconfig:-

    [text]install sysvconfig[/text]
    [text]sudo sysvconfig[/text]

    With that open, enable or disable, possibly quite a few, most likely from the following services:-

    <tr

    Service Description
    apmd for laptops and/or if you use UPSi
    apport notifies the ubuntu makers of your pc errors
    avahi-daemon printer/scanner service
    bluetooth for bluetooth
    brltty for accessability
    cups for printing
    dns-clean dial-up modems
    hotkey setup laptop thing
    laptop-mode laptop thing
    pcmciautils laptop thing
    ppp-dns for old ADSL modems
    readahead remove
    readahead-desktop remove
    rsync remove
    samba for windows lan
    saned for scanners
    windbind for samba
    wpa-ifupdown for wifi

    Click OK > Finished > Quit

    Restoring Backups

    If you’re migrating from a previous Ubuntu OS, you’ll have backed up various folders, especially from your old /home/username directory. Just pull them into the new /home/username directory.

    Speed Up Ubuntu Boot Time with GRUB

    The GRUB menu is the thing that pops up on boot, asking which OS to load for dual or multi-boot machines, and in what operating mode (ie safemode/recovery/etc).

    If you wanna be ultra careful, first, backup GRUB:-

    [text]sudo cp /boot/grub/menu.lst /boot/grub/menu-backup.lst[/text]

    By default, GRUB gives you 3 seconds to choose an OS. In effect this is a waste of time, as all you need do is to hold down the Escape key to enter the menu anyway. So, to make that 0 seconds, open the file:-

    [text]sudo nano /boot/grub/menu.lst[/text]

    .. look for ..

    [text]timeout 3[/text]

    .. changing the 3 to 0

    Personalise Ubuntu’s GRUB Boot Menu

    If you do want the menu but prefer to change the default settings, maybe to reduce the countdown using a GUI, else to add a background logo or pretty color, the safest way is using Startup-Manager, a GUI tool.

    Install the tool:-

    [text]install startupmanager[/text]

    Run it as root:-

    [text]sudo startupmanager[/text]

    .. and have a play.

    Remember Running Applications on Reboot

    Often we need to reboot but find it annoying to have to reopen our work.

    System > Preferences > Startup Applications > Options > check “Automatically remember running applications when logging out”

    Add Extra Fonts

    Let’s make our PC a bit more font-friendly. We’ll add a directory and install some extras:-

    [text]sudo mkdir -p /usr/lib/X11/fonts/Type1 && install [/text]

    .. followed by any of these ..

    [text]
    mplayer-fonts
    msttcorefonts
    ttf-alee
    ttf-bitstream-vera
    ttf-dustin
    ttf-devanagari-fonts
    ttf-dejavu-extra
    ttf-dejavu-core
    ttf-dejavu ttf-bpg-georgian-fonts
    ttf-essays1743
    ttf-farsiweb
    ttf-fifthhorseman-dkg-handwriting
    ttf-freefont
    ttf-georgewilliams
    ttf-larabie-deco
    ttf-larabie-straight
    ttf-mgopen
    ttf-nafees
    ttf-opensymbol
    ttf-paktype
    ttf-sjfonts
    ttf-sil-ezra
    ttf-sil-gentium
    ttf-sil-padauk
    ttf-tuffy
    tv-fonts
    xfonts-terminus-dos
    xfonts-terminus
    xfonts-terminus-oblique
    xfonts-mona
    [/text]

    .. or just be lazy and have the lot:-

    [text]sudo mkdir -p /usr/lib/X11/fonts/Type1 && install mplayer-fonts msttcorefonts ttf-alee ttf-bitstream-vera ttf-dustin ttf-devanagari-fonts ttf-dejavu-extra ttf-dejavu-core ttf-dejavu ttf-bpg-georgian-fonts ttf-essays1743 ttf-farsiweb ttf-fifthhorseman-dkg-handwriting ttf-freefont ttf-georgewilliams ttf-larabie-deco ttf-larabie-straight ttf-mgopen ttf-nafees ttf-opensymbol ttf-paktype ttf-sjfonts ttf-sil-ezra ttf-sil-gentium ttf-sil-padauk ttf-tuffy tv-fonts xfonts-terminus-dos xfonts-terminus xfonts-terminus-oblique xfonts-mona [/text]

    Add Launcher to Panel

    A launcher is a shortcut to whatever, and the panel is the top bar on the desktop.

    Being a shortcut kind of a guy, now I’ll add a couple of these, and save wading through a menu. Personally, I do this for Tomboy notes, which I find invaluable, and the Terminal, which is essential, by navigating:-

    Applications > Accessories > right click on Terminal/Tomboy/whatever else > Add this launcher to panel

    File Management Preferences

    This is a personal thing, not necessary at all. I just like my file management a little tweaked, so I open a folder, under the Places menu, and then:-

    Edit > Preferences

    On the Views tab:-

    • elect to View new folders using List View, to see more details
    • check to Show hidden and backup files

    On the Behavior tab:-

    • check Single click to open items (why waste 2 clicks when you can use 1?)
    • uncheck Ask before emptying the Trash or deleting files

    On the List Columns:-

    • check to add Group, Owner & Permissions

    There are other handy options, especially for Media .. I’ll leave those alone for now, until I’ve installed my preferred media players.

    Speakers & System Beep

    Another bit of house-keeping, for workstations anyhow .. to turn off those sodding annoying system beeps, goto:-

    System > Preferences > Sound > uncheck “Play alert sounds”

    But. Disabling the PC speaker, in favor of using external speakers, can be more tricky.

    Try by opening:-

    [text]sudo nano /etc/modprobe.d/blacklist.conf[/text]

    .. and appending the lines:-

    [text]
    blacklist pcspkr
    blacklist snd_pcsp
    [/text]

    Reboot your Ubuntu PC.

    If that doesn’t cut it, open:-

    [text]sudo nano /etc/modprobe.d/alsa-base.conf[/text]

    .. and add the lines:-

    [text]
    blacklist pcspkr
    blacklist snd_pcsp
    [/text]

    Reboot the box.

    And if that doesn’t work, as it didn’t for me and you can’t be arsed be mess around anymore, try:-

    Opening the PC case and ripping out the bloody speaker wires.

    I guarantee the last solution works :P

  • Hack-Proofing Ubuntu

    This section of the guide weighs the basic firewall & anti-virus options for sole Linux PCs & network clients. It analyses security concerns, linking to some of the finest reference about iptables and the overall topic.

    (OK, it’s dull as s-h-1-t, but if you have any doubt then skim through it, and I’ll try to make it as painless as possible.)

    Thing is, I can’t bring myself to write up a tutorial like this, where effectively you’re putting your business, to whatever extent, in my hands, without a word of caution.

    Yes, Linux is safe, strikes me. Essentially it is, with a system where you as ‘root’, else a priviledged Super User, would have to execute a virus or port-opener, to compromise things.

    Then again, you know what? I’ve done that very thing in my silly-sod past, and who knows what clever hack-tactic may ensnare my inquisitive nature once again. Times change, knowledge develops, viruses evolve and ports may somehow be prised.

    There are three trains of thought on this subject:-

    • Don’t bother, the Linux permissions system is second-to-none, the rest is common sense
    • Use a Firewall to secure the ports, and don’t ‘sudo execute’ dodgy files
    • Use an anti-virus to help prevent the spread of any Windows-borne viruses to the Windows community, there’s a fine fellow

    I have sympathy with each. But ..

    • Don’t bother: Never say never. At least, be aware.
    • Firewall: Well, I tend to agree with that. Then again, if you’re behind, say, a decent router with a bundled firewall, you’re sorted anyhow at no direct resource cost. And then again, again, you’ve already got Linux’ in-built iptables, which is a configurable firewall. So why not just tighten that ruleset?
    • Windows anti-virus: If that’s to protect the less aware Windows community then, bottom line, I’d say that lot needs to Google up (and for crying out loud stop wasting their wad on Symantic!) If it’s to protect your Samba-networked Windows machines, you probably know the deal already. Aren’t I mean? :P

    Fact is, different setups require different strategies, and a post such as this cannot provide anything other than a roundup of the options and a few pointers. Talking of which ..

    Here are some options:-

    Configure iptables

    We’re a little in the deep end here, to be honest. But like anything, it gets much simpler (just down the page, I promise) so take heart (as well as an aspirin.)

    Installed by default, iptables can be tuned to your needs to provide super-strong defence, but the ruleset syntax requires some time to get to grips with. Some reference:-

    • Ubuntu kicks us off well with their Iptables how-to.
    • Scribd presents a flash animation introduction.
    • LinuxHomeNetworking do a great job of making this subject seem like something you actually might consider wanting to read about. OK, very vaguely. Hats off!
    • The Linux 2.4 Packet Filtering how-to provides a solid guide that doesn’t, quite, make ones toes curl.
    • Oskar Andreasson is rightly recognised as a brilliant mind on the subject but his regularly updating Iptables Tutorial is somewhat of a choker to read, and best left ’till some understanding has been built up already. Nonetheless, this is the ultimate iptables guide, hands-down, from a guy that probably eats sudoku for breakfast, (if he didn’t invent it, along with quantums, rockets and maybe China.)

    Hmmn, let’s apply the brakes a little. For the uninitiated, there is a better way!

    UFW (Uncomplicated Firewall) Bundled with Ubuntu Jaunty

    Not only does that sound appealing, but you’ve already got it, installed by default. It’s just disabled until enacted.

    Once enabled, you can input commands from the Terminal to create bespoke rules for the iptables, which as you may have gathered is rather easier than setting out the iptables ruleset directly. To make life even more uncomplicato – in fact pretty darn simple – there’s a GUI called GUFW that can sit on top, effectively working as an iptables’ dummy guide. Coupled with a little reading from above, playing with GUFW is a great way to gain fundamental understanding, fast.

    I’m not gonna give you all the commands, because Ubuntu already did and these guides are terrific:-

    • UbuntuFirewall gives a general idea with a feature run-down and instructions for basic usage
    • Ubuntu Docs Firewall page expands on that in comprehensive, practically enjoyable detail and yes I realise I sound sad, as well as outlining a variety of alternative firewall solutions
    • The UFW Manual outlines all possible commands, with example usage

    And for UFW’s GUI, GUFW, check out:-

    GUFW has a download link. Ignore that and, instead, type, imaginatively enough:-

    [text]install gufw[/text]

    And run it by typing the uniquely uncomplicated:-

    [text]gufw[/text]

    Or, if you like, use the utterly uncomplicated menu:-

    System > Configuration > Firewall Configuration

    By contrast to ubergeek chessmaster Oskar Andreasson’s scary iptable doctorate thesis, GUFW running on UFW really is for human beings, or more regular ones anyhow, with barely a whiff of intimidation. And the beauty, of course, is that the ABC knowledge of the one leads to a sincere interest in the geek alphabet soup of the other. Isn’t that romantic?

    Firewall with Firestarter

    Not dissimilar to UFW, and again with its user-friendly GUI, Firestarter hooks into your pre-existing iptables.

    While the tiniest bit more demanding, again Firestarter is pretty easy to use and there’s a mighty simple manual to help. In fact, even if you go another route, but are a newbie and want some kind of iptable security solution, read that manual because it really is the Sesame Street of iptables.

    To install it:-

    [text]install firestarter[/text]

    And to run its wizard:-

    [text]sudo firestarter[/text]

    When you’re done configuring the wizard, a console will open and you can play with that too, for instance to start or stop the thing or see what ports are open. When you quit the Firestarter console and the panel icon disappears, it’s firewall remains up, unseen. Even if you specifically stop the Firestarter firewall which, having configured and started it, you have to do from within the console or from the command line, you still have your iptables to protect you.

    Anti-virus Protection

    If you share via a Samba network, and think your colleagues may, shall we say, be a little Windozed (yeah, let’s face it, I mean clueless), this option may prove valuable.

    Look up AVG for Linux, for one.

    And ClamAV is popular with Ubuntans (even if it does sound like an STD.) To install that:-

    [text]sudo nano /etc/apt/sources.list[/text]

    .. and add the repository:-

    [text]deb http://ppa.launchpad.net/ubuntu-clamav/ppa/ubuntu hardy main[/text]

    .. save that file, then add this key:-

    [text]sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 0xf80220d0e695a455e651ac4d8ab767895adc2037 [/text]

    Lastly, get it:-

    [text]update && upgrade[/text]

    And that really is quite enough about that. I mean, God’s teeth! Are you still reading this? Well, I say, your stamina is estimable. Personally, I was asleep at the wheel.

    Then again, I hope that’s handy, not off-putting.

  • Source Compilation Tools

    There are many compilers. So what the bejeebers are they?

    Put simply, because I am plain simple, compilers compile source code packages into applications. Commonly, you download a package, along with some dependent modules perhaps and, at compilation stage, you issue a terminal command stating how you want the executable itself to behave. Other than those modular interests, for example, you may just want to tell the files where to live.

    Let’s install a commonly required compiler, “build-essential”. We’ll need it later, for sure, when we configure the Nginx web server from it’s source. We may need some others, like devscripts and fakeroot, but they’re most likely to be installed automatically as dependency files. For now:-

    [text]install build-essential[/text]

  • Extend Linux by Installing Packages

    With our repositories nicely set up, we’re set to install some creamy warez. You won’t want all this, but hopefully these choice picks give an idea or three.

    Lemme know your suggestions. What have I missed or, of what’s here, what shouldn’t be?

    Essential Packages

    It can be hard to get by without these.

    Software Description Installation Location
    Java Runtime Environment (JRE) Many applications depend on this key framework. install sun-java6-jre sun-java6-plugin sun-java6-fonts to test type java -version
    Adobe Air This Java-based platform is needed for running many rich internet applications, like TweetDeck. 32-bit
    Download here.
    Type:-
    cd /home/USERNAME/Desktop
    chmod +x AdobeAIRInstaller.bin
    sudo ./AdobeAIRInstaller.bin
    Follow installer prompts.

    64-bit
    Follow this guide, observing “John’s comment”.

    Applications > Accessories > Adobe Air Application Installer

    System & Security Tools

    Useful sys tools.

    Software Description Installation Location
    Ubuntu Tweak Configure Ubuntu to your heart’s content, using just the one tool. install ubuntu-tweak Applications > System Tools > Ubuntu Tweak
    Gtkorphan Find and delete unused dependencies. Gtkorphan is the GUI for deborphan which, when installed, does the same thing from the command line. install gtkorphan sudo gtkorphan
    UFW The iptables manager UFW (Uncomplicated Firewall) is a default Jaunty install. GUFW is its handy GUI. I cover this, and the wider topic, in the section Hack-Proofing Ubuntu. install gufw System > Administration > Firewall Preferences
    Clam AntiVirus Anti-virus with GUI, featuring email attachment scanning, a scalable multi-threaded daemon and a tool for auto updates. install clamtk Applications > System Tools > Virus Scanner
    Clam AntiVirus (non-GUI) The command line equivalent. install clamav

    Productivity Tools

    Speed up common tasks with some of these tools:-

    Software Description Installation Location
    Gnome Do Mac-like desktop app-icons dock, with search and other productivity tools. install gnome-do Application > Accessories > Gnome Do
    Nautilus-Dropbox Right click on item in Nautilus, using the Dropbox secure backup, sync and sharing services with 2Gb free space. install nautilus-dropbox right click in Nautilus
    Globalmenu An OS X-style global menu alternative. Quite cool, esp if you went with Linux because you couldn’t afford the Mac. install gnome-globalmenu
    Nautilus Bundled Extras Make the Nautilus explorer more powerful, optional and personalised. Here is my pick of the crop:- see below
    nautilus-actions Configure programs to launch. install nautilus-actions right click in Nautilus
    nautilus-cd-burner Drag/drop files to burn to CD or DVD. install nautilus-cd-burner right click in Nautilus
    nautilus-clamscan Adds a “Scan for viruses” item to the right-click menu. install nautilus-clamscan right click in Nautilus
    nautilus-gksu Grant Super User privileges within Nautilus. install nautilus-gksu right click in Nautilus
    nautilus-image-converter Mass-resize or rotate images. install nautilus-image-converter right click in Nautilus
    nautilus-open-Terminal Open a terminal in arbitrary local folders. install nautilus-open-Terminal right click in Nautilus
    nautilus-script-audio-convert Convert audio formats on the fly. install nautilus-script-audio-convert right click in Nautilus
    nautilus-script-collection-svn Execute Subversion commands on selected files. install nautilus-script-collection-svn right click in Nautilus
    nautilus-wallpaper Set your desktop wallpaper from the context menu. install nautilus-wallpaper right click in Nautilus

    Or if you just want all the Nautilus Bundled Extras:-

    [text]install nautilus-actions nautilus-cd-burner nautilus-clamscan nautilus-gksu nautilus-image-converter nautilus-open-Terminal nautilus-script-audio-convert nautilus-script-collection-svn nautilus-wallpaper[/text]

    Graphic Effects

    You can already implement some striking effects (if your graphics card is up to the task) – System > Preferences > Appearance > Visual Effects > check Extra and reboot. Want more?

    Software Description Installation Location
    Simple CCSM This GUI ‘effects manager’ customises what Jaunty has under the hood. Not only are the effects rather splendid, their functionality aids productivity. install simple-ccsm System > Preferences > Simple CompizConfig Settings Manager

    Sound & video, players & codecs

    Because, obviously, having AC-DC shrieking off in the background also aids productivity.

    Software Description Installation Location
    Players & Audio/Video Codecs These players cover the bases pretty nicely. install amarok gxine helix-player smplayer totem-gstreamer totem-mozilla vlc Applications > Sound & Video > [player]
    A/V Codecs Bundle With this lot, you’ll be able to open pretty much anything, encode, decode, and improve sound quality. Some media tag editors are included. install amarok-common easytag flac id3v2 ffmpeg ffmpeg2theora faac faad flac icedax id3tool lame liba52-dev libflac++6 libjpeg-progs libmad0 libmp4v2-0 libmpcdec3 libmpeg2-4 libmpeg3-1 libquicktime1 mencoder mpg123 mpeg2dec mpg321 mpeg3-utils mpegdemux mozilla-helix-player nautilus-script-audio-convert non-free-codecs sox tagtool toolame uudeview ubuntu-restricted-extras vorbis-tools
    DVD support DVD doesn’t play natively in Ubuntu. Here’s the fix. install libdvdcss2 && sudo /usr/share/doc/libdvdread4/./install-css.sh
    Gstreamer The streaming media framework. install gstreamer0.10-ffmpeg gstreamer0.10-fluendo-mp3 gstreamer0.10-fluendo-mpegdemux gstreamer0.10-gnonlin gstreamer0.10-pitfdll gstreamer0.10-sdl gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-schroedinger gstreamer0.10-plugins-ugly-multiverse gstreamer-dbus-media-service gstreamer-tools
    Boxee Media player with webTV support, said to be good but only for 32-bit systems. Free signup at boxee.tv.

    CD Burning & Ripping

    Burning tip: Copy a cd or dvd to an .iso image by typing at the Terminal:-

    [text]sudo dd if=/dev/cdrom of=/path/to/store/your.iso[/text]

    Then, to create a copy of the original disk, insert a blank disc and right click on your new .iso file, choosing Write to disc.

    Alternatively ..

    Software Description Installation Location
    Gnomebaker Bakes CD’s and DVD’s. install gnomebaker Applications > Sound & Video > Gnomebaker
    K3b As feature-rich as Nero and, unlike still-proprietary Linux Nero, K3b is free. The alternative Brasero burner is installed by default. install k3b k3b-data k3b-i18n libk3b3 Goto Applications > Sound & Video > K3B
    abcde Terminal-operated shell script to grab from CD to ogg or mp3, tagged. Superb. install abcde No GUI

    Web browsers

    I’ve added a special section just for Firefox installs, but this is for the rest.

    Software Description Installation Location
    Chromium Chrome for Linux, it’s an open-source Webkit browser, for testing Safari too. I’ve included an element inspector. install chromium-browser chromium-browser-inspector Accessories > Internet > Chromium
    Epiphany Alternative Webkit (GTK+) browser. I’ve included the extensions pkg for some handy tools. install epiphany-webkit epiphany-extensions Accessories > Internet > Epiphany
    Galeon Quality browser running Mozilla’s Gecko engine but no mod cons for speedy standards-compliant page rendering. install galeon Accessories > Internet > Galeon
    Internet Explorer 7/8 HAHA .. only kidding!! We can install this on the Windows slice so, no worries, we’ll have something to swear at. hell
    Lynx The text-based browser, handy for usability-testing, or just when you’ve got a web 2.0 headache. install lynx Accessories > Internet > Lynx
    Opera Sporting a Presto engine. install opera Accessories > Internet > Opera
    Safari Incompatible with Linux, but it’s Webkit so use one of the above. Can be installed on our virtual Windows slice, so only an extra couple of clicks away.

    Graphics Development

    A few graphics tools. Being a Luddite, I run Photoshop via my Virtualbox installation of XP. (PS CS2 works well thru’ Wine too.)

    Software Description Installation Location
    GIMP Pimp your Gimp with these extras to improve the graphics equivalent of Adobe Photoshop. see below
    gimp-plugin-registry Adds a repo of optional extensions. install gimp-plugin-registry Applications > Graphics > GIMP Image Editor
    gimp-data-extras Extra brushes, palettes and gradients. install gimp-data-extras Applications > Graphics > GIMP Image Editor
    Shutter A feature-rich screenshot program. install shutter Applications > Accessories > Shutter
    Inkscape This vector graphics programme is the Linux equivalent of Adobe Illustrator. install inkscape Applications > Graphics > Inkscape
    Blender Create 3D graphics. install blender Applications > Graphics > Blender
    Picasa Advanced photo management. Download from http://dl.google.com/linux/deb/pool/non-free/p/picasa/picasa_3.0-current_i386.deb and run the .deb Applications > Graphics > Picassa

    Office Apps

    Accounts, project management & similar office utilities.

    Software Description Installation Location
    Gnucash Personal finance tracking, supports multi-accounts, running/reconciled balances, double entry, expense cats, imports QIF & OFX files. install gnucash Applications > Office > Gnucash
    Homebank More accounting for pyjama-clad developers, it’s similarish to Gnucash, from what I’ve heard. install homebank Applications > Office > Homebank (I guess)
    Dia Flowchart/diagram editor, rather like MS Visio. install dia Applications > Graphics > Dia
    OpenProj Project management programme. wget http://nchc.dl.sourceforge.net/sourceforge/openproj/openproj_1.4-2.deb && sudo dpkg -i openproj_1.4-2.deb Applications > Office > OpenProj
    GEdit Improve Jaunty’s default text editor with some handy plugins. install gedit-plugins Applications > Accessories > Text Editor

    Communications Schtuff

    Email, calendar, tasks, IM & VOIP Applications.

    Software Description Installation Location
    Mozilla Thunderbird Jaunty’s standard, Evolution, is very good, with calendar and task management. Thunderbird is also pretty fine though, and the Lightning plugin can be bundled for calendar and tasks. install thunderbird Applications > Internet > Mozilla Thunderbird
    Thunderbird Lightning The calendar and tasks functionality for Thunderbird. install lightning Applications > Internet > Mozilla Thunderbird
    CheckGmail Gmail new mail notification widgetty thing. (Why not just set up Gmail & Thunderbird/Evolution for IMAP?). install checkgmail Goto Application > Internet > CheckGmail
    Instant Messaging Multi-Client Pidgin is installed by default and, just before you bother adding another, it works with the majority of IM clients as well as a few chat networks. Applications > Internet > Pidgin Internet Messenger
    Skype The grand-daddy of VOIP. Jaunty comes installed with an alternative, Ekiga. install skype Applications > Internet > Skype

    P2P File Sharing

    Just a few bits and bobs for torrents and donkeys.

    Software Description Installation Location
    Deluge An alternative to the Jaunty standard bittorent client, Transmission. install deluge-torrent Applications > Internet > Deluge Torrent
    Azureus A Java-based equivalent. install azureus Applications > Internet > Azureus
    Amule You guessed it, kinda like Emule. I think that’s a play on words or, in donkey speak, a neigh play. install amule Applications > Internet > aMule
    Amule-Gnome-Support Amule’s web browser support package for Firefox and other browsers. install amule-gnome-support Check your browser

    File Management Utilities

    So that’ll be apps that help organise the file system, then.

    Software Description Installation Location
    Archivers Unpack anything. install aish arj cabextract file-roller lha mpack p7zip-full p7zip-rar rar unrar sharutils unace uudeview zip unzip.
    Glipper Extend clipboard functionality. install glipper Right click on panel > Add to Panel > drag Clipboard Manager to panel
    Multiget A powerful http and ftp download manager. install multiget Applications > Internet > MultiGet
    Subversion AKA svn, this is a version control system, used to keep favored applications, files, etc bang-up-to-date. In a local environment it’s especially handy for project collaboration whilst, on a live server, it can be used to keep online apps safely patched. install subversion Mug up on this

    Googly-Woogly

    Maybe there are other Google Apps or gnome plugins that you like?

    Software Description Installation Location
    Google Earth Some map thing. I can see my mum in her garden, but it could be the washing on the line. (Seriously brilliant and useful for planning a holiday or war.) install googleearth Application > Internet > Google Earth
    Google Desktop Give Google access to more of your privacy. Intelligent local search using Google’s algorithm, and much much more. Much. (Actually it’s very good.) install google-desktop-linux Applications > Google Desktop > Google Desktop > Google Desktop Preferences, with a handy new icon on the panel too
    Google Gadgets Clutter for your desktop. Sorry, am I cynical? Never tried it. Never will. But it is popular. install google-gadgets-gtk Applications > Internet > Google Gadgets, right click on the newly launched panel icon and something or other, this, that, I’ll be down the pub.

    Windows/OS Translators, Virtualizers, Emulators, Bagofpotaters, whatever they’re called these days

    Use Windows & other systems from within Linux.

    Software Description Installation Location
    PlayonLinux A wine fork, said to be better for games. Needs dual-boot with Windows. Forget it and use Setup a Virtual OS with Virtualbox (sure beats a dual-boot!) install playonlinux Applications > Other > PlayonLinux
    Wine Translates Windows programs for Linux in a buggy kind of a way. Needs a dual-boot system with Winedows. Winedows, geddit?! Anyway, forget it and use Setup a Virtual OS with Virtualbox (sure beats a dual-boot!) install wine Applications > Other > Wine
    Virtualbox Now you’re talking! Run virtual OSes easily (this sure beats a dual-boot.) Read the section Setup a Virtual OS with Virtualbox
  • Extend Linux with Web Development Packages

    If you’re looking for the local web server setup guide, using Nginx, PHP, MySQL, Xcache and so on, read Create a Local Testing Web Server using Nginx. I use Nginx (for local and live servers) because it’s low on resources, modular and benchmarks the best.

    Browsers and other consumables are in the Extend Linux by Installing Packages section.

    Otherwise ..

    Software Description Installation Location
    Quanta Plus Rather like Dreamweaver but less daunting, and not WYSIWYG. Having used both a lot, and having loved DW, I find Quanta to be not dissimilarly productive, but it does lack DW’s wealth of extensions, community and development (and budget, huh!). For cranking code though, at least, it’s excellent. install quanta Applications > Programming > Quanta Plus
    Bluefish A GTK/HTML editor that some people rave about, but that I’ve never tried. I have included weblint and xmllint which it needs for validation. install bluefish weblint xmllint Applications > Programming > Bluefish
    Komposer Basic WYSIWYG HTML editor. install kompozer nvu Applications > Programming > Kompozer
    libphp-phplayersmenu A hierarchical menu system to prepare on-the-fly DHTML menus. install libphp-phplayersmenu
    Seamonkey Born of Mozilla (pre-FF), this suite comprises a browser, HTML WYSIWYG, mail/news client, contacts and IRC, plus I added the Dom inspector. install seamonkey seamonkey-dom-inspector Applications > Internet > Seamonkey
    MySQL Workbench A db design tool from MySQL .. http://dev.mysql.com/workbench/. Grab a deb file from .. ftp://ftp.mysql.com/pub/mysql/download/gui-tools/ubuntu/dists/jaunty/ Applications > Programming > NetBeans IDE
    Drizzle Modular relational db optimised for Cloud and Net apps, a MySQL fork. install drizzle Applications > Programming > Drizzle
    NetBeans Extensible java IDE for desktop, enterprise, web, and mobile applications. install netbeans Applications > Programming > NetBeans IDE
    FileZilla The (Secure) FTP client, (but SCP via the Terminal is much better and I cover that here .. Maintain Unmanaged VPS – Part 10: Copy Site Files between Linux/Linux Computers with the CLI.) install filezilla Applications > Internet > FileZilla
    Woopra A cracking web stats desktop client. Sign up for account and download from .. http://www.woopra.com/ Applications > Other > Woopra
  • Configuring Firefox

    With Ubuntu’s standard repositories, you may not get the version you want. Let’s look at that, straight after our profile configuration.

    Firefox Profile Manager

    Before I even open Firefox for the first time, I add my previously backed up profile. Move it into /home/user/.mozilla/firefox. To link to it:-

    • Close Firefox (if open)
    • Right click on the Firefox panel launcher icon, choosing ‘Properties’
    • Next to Command, it says firefox %u
    • Change that to firefox %u -p
    • Click close and click on the icon. As you see, the -p for profilemanager opens the dialogue
    • In the box, ‘Choose User Profile’ ..
    • Click Create Profile > Next
    • Enter a profile name & choose your restored profile’s folder
    • Click ‘Finish’
    • Reopen the Firefox panel launcher icon, choosing Properties, and reverting firefox %u -p to firefox %u
    • Open Firefox and, after a plugin compatability check, it kicks up
    • Marvel at your beautiful bookmarks and restored add-ons

    Firefox Web Browser

    There are various methods documented on how to upgrade or run dual Firefox packages. Most suck .. as have my methods until recently, but I think now I’ve researched a great solution.

    I want two editions:-

    • the latest stable ‘security’ release, generally not available from the repositories for Jaunty but it is from Mozilla, for day-to-day surfing and development. The upside is security, the downside is that there may be a few addons that don’t work, and it’s the latter reason that leads me also to want ..
    • a second, slightly older release from Ubuntu’s Adding Repositories for Jaunty, by way of a backup browser
    • (some people may even want the bleeding edge release. Not me, it lacks security, has its quirks and would be a daily bandwidth drain, but I’ll show you how to have that as well)

    Firstly, for the regular Ubuntu edition, you’ve got it already and it’ll upgrade any major security fixes as and when, just not as fast as Mozilla’s stable release. Then again, unless you set Ubuntu to stop automatic upgrades, and especially from the point of view of those addons, this is a good fallback version.

    To add the latest stable release:-

    Go here and find the version number. Currently it’s 3.5 but you may change below:-

    [text]install firefox-3.5 firefox-3.5-gnome-support[/text]

    To access the new version easily:-

    On the Desktop, right click on the Firefox panel launcher icon, choosing Properties

    Next to Command, it says:-

    [text]firefox %u[/text]

    Swapping for the correct version, if it has changed, change that to:-

    [text]firefox-3.5 %u[/text]

    Open Firefox and, after a plugin compatability check, it starts. In Firefox, click thru Help > About, the version is updated.

    If you need to revert back to the officially Ubuntu-supported release, simply pop back into the panel launcher’s properties and revert the command from firefox-3.5 %u to firefox %u

    To add the bleeding edge release, open the file:-

    [text]sudo nano /etc/apt/sources.list[/text]

    Adding these two lines:-

    [text]
    deb http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu jaunty main
    deb-src http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu jaunty main
    [/text]

    Reload the file:-

    [text]update[/text]

    Provide the key, unlocking the download resource:-

    [text]sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 247510BE[/text]

    And install, again currently the 3.5 version, but check here:-

    [text]install firefox-3.5 firefox-3.5-gnome-support[/text]

    To access the new version easily:-

    Right click on the Firefox panel launcher icon, choosing Properties. Next to Command, it says:-

    [text]firefox %u[/text]

    Swapping for the correct version, if it has changed, change that to:-

    [text]firefox-3.5 %u[/text]

    Open Firefox and like I say, after a plugin compatability check, it opens. Now if you open Firefox in the regular way, and click thru’ Help > About, the version is updated.

    Remember: To revert back to the officially Ubuntu-supported release, simply pop back into the panel launcher’s properties and revert the command from firefox-3.5 %u to firefox %u.

    Tip: Set up new launchers for different Firefox versions or just start them from the Terminal using commands like firefox or firefox-3.5

    A footnote: A lot of people rave about Ubuntuzilla. All I can say is, I used it once, it did something weird, broke my Firefox upgrade, I had no browser functionality and ended up reinstalling Ubuntu from scratch. I read the wiki, followed the precedure and took no risks. Never again. But as I say, many people love it. Really though, with this method above, I simply don’t see the point in the extra bloat anyway.

    Setting Your Preferred Firefox Version in Application Defaults

    Scenario: You have a URI on a Tomboy note. Click thru’ it and it may open the wrong browser version, else throw the Cannot open location error.

    To fix that, open:-

    System > Preferences > Preferred Applications

    Ensuring the Web Browser options is set to ‘Custom’, in the Command box, type:-

    [text]firefox-3.5 %s[/text]

    .. where -3.5 is changed to your preferred default browser version. (Note: there is an s here, not a u.)

    Changing the Language

    • Head to https://addons.mozilla.org/en-US/firefox/
    • In the ‘search for add-ons’ box, type in your language
    • From the dropdown next to the ‘all add-ons’ box, choose Language Support
    • Hit go
    • Install the newly downloaded language add-on and restart Firefox
    • From the Firefox menu, choose:-
    • Tools > Options > Languages > Choose > choose [language] > Add > Move language to the top of the list.
  • Extend Firefox with Web Development Addons

    I use these, generally not all enabled at the same time. You can search for all these addons here:-

    Firefox Addon Description
    bit.ly preview for uncovering url behind shortened links
    Capture Fox screen capture software
    Codetch file editing from the browser
    ColorZilla great color-picker
    CoLT better link copy/paste facility
    EditCSS browser-sidebar CSS editor
    FEBE Firefox data backup
    Feedburner Subscribers real-time stats
    Firebug guess you know!
    Google Toolbar googly stuff
    Live HTTP headers view page headers while browsing
    Live Pagerank displays for active url
    lori (Life of request onfo) tracks like of request
    Palette Grabber creates color palette from current page
    QuickRestart adds restart option to “File” menu
    Rankchecker check ranking for main search sites
    Rankquest SEO Toolbar SEO toolbox
    refspoof url referrer spoofing tool
    Right-Click-Link tidies up Firefox tab management a bit
    Save Complete saves a website
    Scribefire nice browser-integrated blogging editor
    SenSEO SEO page analyser
    SeoQuake extensive SEO data added to search engine results pages
    Seo Toolbar more SEO tools
    Session Manager save Tabs/Windows state, great utility this
    Sxipper alternative to Roboform on Windows
    Tab control more browser tab management
    Web Developer Toolbar guess you know!
    Yellowpipe Lynx Viewer Tool see the page with Lynx
    YSlow page performance tracking
  • Create a Local Testing Web Server using Nginx

    The whole point of having a local web server setup is to test web apps before putting them live. To do that, ideally, you should be using the setup you have for your live server.

    If you are using Apache, grandad, then you’d best set that up, ideally the way it has been set up on your server. There are loads of tutorials about that.

    I use the state of the art Nginx on my VPS, recommend and write about it, so want it for my desktop too.

    You can try it, as well as running Apache or whatever, to serve sites locally. If you do, you can share your web file locations between the servers.

    By following the following links in order, and following the steps therein, let’s set up the Nginx solution:-

    .. just follow the visudo bit in there, adding your Linux username as shown in the file example in the post.

    .. follow the lot.

    Now point the domain to localhost, using the hosts file:-

    [text]sudo nano /etc/hosts[/text]

    .. add the line:-

    [text]127.0.0.1 yourdomain.com[/text]

    To set up Nginx itself, follow this:-

    Then this:-

    And finally, if you play with WordPress, this:-

    .. and, er, this:-

    Want More Nginx Reference?

    Check out Moving Day! How to Move Your Blog or Site for various tips, Add Web Sites Nginx Cheatsheet for adding extra sites thereafter and Maintain Unmanaged VPS (4 Newbies) .. V-P-S Admin for my 21-part guide on how to administer an Nginx web server.

    .. that’ll keep you busy ;)

  • Remote Access with openSSH

    You’ll be wanting the openSSH protocol to communicate securely and efficiently with remote web servers.

    I Have My Backed Up Key Files

    openSSH is installed with Ubuntu Desktop by default these days, so all you need to do is to copy your pre-existing, backed-up private authentication keys to a new hidden folder in /home/username.

    The first time you connect to the remote host:-

    • your local machine will ask you to type “yes” to confirm
    • the remote host will be added to your known hosts file
    • you’ll be prompted for your keys’ passphrase
    • and you’re logged in

    I’m a Total Noob So What’s The Deal?

    If you are setting up ssh or authentication keys for the first time, ***read this***

    ***read this*** doesn’t link yet, sorry! It’s written tho’, so I’ll wrap it in code and publish it on Thursday (2pm Spanish time, to be precise.)

    If you don’t know anything about ssh but do make regular remote connections with ftp clients like Filezilla, then you really, really should read that guide of mine. Save buckets of time, using supercool ssh :)

    ssh and bashrc – a Marriage Made in Geekdom

    So, when you log into your remote server you type something like:-

    [text]ssh -p 54321 mail.somesite.com[/text]

    If you’d rather just type something like:-

    [text]somesite[/text]

    .. read the section on editing the bashrc file. Maybe you already did, sorry!

  • Setup a Virtual OS with Virtualbox (sure beats a dual-boot!)

    Simply put, this is the bees-knees. Some may be tempted to call it the dog’s danglies or the billy bollocks, but I couldn’t possibly comment. It gives second-to-none Windows virtualisation, and is open source. Sun of a gun, it’s a Sun Microsystem thing. It supports casing most OS’es.

    Let me say more. Install and run guest OS apps practically seamlessly. With Windows, boot up, shut down and reboot it in a fraction of the time it takes normally to load or unload within a dual boot system or on its own (because a rack of those pointless services don’t get cranked up). With VB – and especially the recently launched VB3 – you may well wonder why on earth anyone would bother with dual boot anymore, or apps such as Wine (which in fairness has been darned handy in the past).

    I use Virtualbox for running non-Linux apps that to date have no equal, like Photoshop and Camtasia, and for testing Linux web and desktop setups. Currently I’ve got XP and Karmic Koala Desktop systems running through VB.

    Note the Dynamic Kernel Module Support (DKMS) that is installed alongside. That’s so that, when we upgrade to Karmic Koala, VB isn’t cocked up by the updated kernel mods.

    [text]install virtualbox-3.0 dkms[/text]

    Notes on Installing Virtualbox

    Installation is dead simple, just follow the prompts.

    Regarding the RAM allocation, it depends how much you’ve got to spare but, bear in mind, the RAM will only be allotted to the guest while it’s running.

    Re. Disc space, again, it depends how much you can afford, or need, to give.

    For instance, of my Linux host’s 4gB RAM, 128 mB video card and 500gB disc space, I allocate 512 mB, 36mB and 30gB respectively to guests.

    One config screen will tell you a new user group is being set up, called “vboxusers” and, of course, you need to be a member of that group. No worries ..

    When installation has finished, pop open a Terminal and type:-

    [text]sudo usermod -G vboxusers -a username[/text]

    .. where username is your Linux username. So now you are a member of the Virtualbox group.

    To start Virtualbox, goto Applications > System Tools > Sun Virtualbox

    Installing Guest Operating Systems with Virtualbox

    Once installed, open the app and click on “New”, and follow the instructions to install your OS, just as you would normally.

    F’rinstance, if it’s Windows XP, you can use my Perfect Windows PC Install to ensure security.

    Installing Guest Additions

    Guest Additions improve the performance of the guest OS, in a bunch of ways. Say, you want full screen? Course you do! Install Guest Additions.

    To install them open Virtualbox, then one of the guest operating systems. The virtual OS dialogue appears:-

    • In the top left menu, goto Devices > Mount CD/DVD-ROM > choose your disc drive
    • Goto Devices > Mount CD/DVD-ROM > CD/DVD-ROM Image…
    • Up pops the Virtual Media Manager, possibly already displaying the file VBoxGuestAdditions.iso. If not, find it in somewhere like /usr/share/virtualbox/VBoxGuestAdditions.iso
    • Select the file and it’s mounted on your guest OS, triggering the image’s autostart
    • Follow the setup procedure

    Creating Shared Folders

    This is handy, for instance, if you want to create an image in Photoshop (via Virtualbox/Windows), before adding it to your local Linux-based web files.

    If your guest Windows system is running:-

    • Goto Devices > Shared Folders > press the ‘Insert’ button or click on the ‘+’ icon
    • Type the folder path or browse for it
    • There are options for ‘read only’ and whether you want the share to be permanent or temporary

    If the guest OS isn’t running:-

    Open Virtualbox > click on Settings > click on Shared Folders .. and follow the above procedure

    Now, use your guest as normally you would, were it a primary system, and switch back and forth between the host Linux and however many guest systems.

What more could you possibly want?

Let me know, and I’ll add it in.

Hope that’s handy.

I will be updating this for Ubuntu 9.10 Karmic Koala, due out in a few weeks’ time, and which I’m beginning to play with now as one of my Virtualbox systems.

At first glance though, it doesn’t look like there’ll be too many changes to this guide for the new edition.

Famous last words, huh!

the_guv

[sniplet jauntyIndex]

Be Sociable, Share!

Related posts:

  1. Build a Sex-On-Legs WebDev Machine

.