Moving from Mac to Ubuntu for Web Development

This is more of a post on what I was using on Mac, and what I use now that I have switched to Ubuntu.

So first of all I will briefly list the setup:

This guide is on why I chose the following software and the basics for each of them.

Mac OSX 10.7 to Ubuntu 12.04 LTS

This assumes you already have your Ubuntu distro setup just how you like it. However if you are using a Mac keyboard, and you have just switched, you may have a slight irritation whenever you hit ?C or ?V, as this is the super key, and will usually open the dash.

My setup is to use the command and control keys as control keys, so I have multiple ways to access copy, paste, most UI things such as closing windows, switching tabs etc. One primary downfall to this is I use the alt key to launch the dash, and disable the HUD behaviour, if you need this, then this change is not for you.

To change this you will have to do multiple things,
1. Go to system settings - Keyboard - Layout Settings - Alt/Win key behaviour and select "Control is mapped to Win Keys (and the usual Ctrl keys)".
2. Open up ccsm (Compiz configuration manager, you can find it in the Bbuntu software centre), find the Ubuntu Unity Plugin, and change the "Key to show the launcher" to alt, and change the key to show the HUD to something else (I used h, but I never use it).

Coda 2 to Sublime Text 2

Cost Matrix

Software Paid Free
Coda 2 $75AUD from the AU Mac App Store Coda 2 does not offer a free version
Sublime Text 2 $59USD from their website [](

Coda clearly wins with UI and simplicity, however in sublime, it is much more powerful and there is a plethora of plugins.

One key feature I saw missing from Sublime was the lack of FTP. But first you must install package control, to do so follow the guide . If you get an error while executing the script in sublime's console, you may have to run sublime as root, to do so close sublime, open a terminal and type "sudo sublime" and enter your password, then run the command again.

Now to install free open source (but with only basic functionality) FTPSync by NoxArt, follow the .

One of the key options in the ftpsync.settings I found was the upload_on_save, this really bugged me due to my slow Internet connection, so I set it to false and now I just manually upload files/folders when I'm done working on them.


First thing that you may first ask if you are coming from mac is, where is a GUI application? well, there isn't one. You just install the tools one by one and your local web server will always be running.
A great guide on how to install the webserver and phpmyadmin can be found here
Your web root will be found in /var/www/ but if your like me, and you have code somewhere in your home directory (I have a GIT folder with all my projects in it that is located in my home directory) you may want to change this. I found the easiest way to perform this, is to add a symlink from your webroot to your desired destination. If you do not know how to do this, it is done as follows:
1. Open your terminal2. cd to /var/www with the command "cd /var/www"3. create the symlink to your desired directory with "sudo ln -s ~/GIT" and replace ~/GIT with you desired directory.4. You can now access your folder from your webserver by going to localhost/GIT (or whatever your directory is called) in your browser.

Github for Mac to Git

First of all let me start this by stating I am by no means an expert on Git, and If any experts out there want to correct anything I say, drop me a comment below.
On Github for Mac, it was all a very plush GUI, but once I had moved to Ubuntu, none of the GIT GUI's did it for me. I just use the command line, so here are the basics you should know.
To complete any communications with github from the terminal, you will need to get  and set up you ssh keys
Here are some basic commands:
"git clone <repo_location>", where <repo_location>is the location on your github repo page I have highlighted in the following screenshot.</repo_location></repo_location>
This will create a folder that already has git initialized and ready to go inside it.
From there the commands you will want to know are:
"git pull origin master" to update your source from the Github repo.
"git add ." to add any untracked (new) files to the repo.
"git commit -a" to commit your local changes. This will open a document in the default terminal editor for you to write your commit message. From this screen you will be able to see the changes listed below.
"git commit -a -m 'my commit message' " for when you want to commit but don't need to see the changes, you just pass your message inside the quotes.
"git push origin master" to push your local commits to the Github repo.
That sums up the basics without getting into any depth with branching or other things. Also note that wherever I have used the word "origin" in the commands, this is the default remote repo added when you clone the repo. If you need to add a remote repo manually, use "git remote add <name_of_remote><location_of_remote>" where <name_of_remote>is whatever you want to call your repo locally (such as origin) and <location_of_remote>is the git location as mentioned in the above screenshot.</location_of_remote></name_of_remote></location_of_remote></name_of_remote>

Other Goodies for Web development on Ubuntu

PHATCH - PHoto bATCH processorguide on the github repo

Benjamin Kaiser

Benjamin Kaiser

Software Engineer working on the SharePoint team at Microsoft. I'm passionate about open source, slurpess, and Jesus.
Gold Coast, Australia

Post Comments