Monday, August 15, 2011

Preparing Ubuntu Linux desktop for web development

There are a lot of articles on the Internet about configuring Ubuntu desktop for web developer. I'm using Ubuntu for 3 years already as my working desktop station for web development and want to share my own list of software each web developer should have. So here is just another guide to prepare Ubuntu powered desktop for web development.


OS Installation


Ubuntu is an easy to use operating system so the installation should go straight forward and I'll not go into details here. Just make sure to set the SWAP partition with the size of 2x of your RAM to enable suspend and hibernation as that can be useful especially if your development environment installed on laptop.

After operating system was successfully installed we are ready to install all required software. Here is the list of tools I use in my everyday development.


WEB development tools


Configure LAMP environment in Ubuntu
https://help.ubuntu.com/community/ApacheMySQLPHP

The easiest way is to run:
# sudo apt-get install mysql-server phpmyadmin

I like to hold project files inside my home directory
/home/[user]/www/

So pointing the document root for each sub-domain into appropriate directory located in home directory like

sub1.localhost
/home/[user]/www/sub1/public_html

sub2.localhost
/home/[user]/www/sub2/public_html

for example

blog.localhost
/home/joseph/www/blog/public_html


Eclipse PDT - enterprise level IDE with the PHP support
https://help.ubuntu.com/community/EclipseIDE


Install ZendDebugger

I wasn't able to download Zend Debugger for the latest PHP 5.3.x from the official website download
but you can follow instruction from the following page in order to find the new download links:

http://www.zend.com/products/studio/downloads

So go ahead and install Studio Browser Toolbar for Firefox and Studio Web Debugger.


MySQL Workbench - native MySQL GUI client
SQLite browser

Geany - very fast notepad-like source code editor with syntax highlight
FileZilla - multifunctional FTP client

Browsers:
Google Chrome
Opera
Opera Mobile
Firefox Addons
- FireBug
- FireBug Autocompleter
- Flashblock
- Flash-Aid
- YSlow
- Web Developer Toolbar


SVN
Git



Graphics software


GIMP - graphics editing software that will allow you to create/edit your WEB graphics.
UFRaw - allows to open RAW images from your digital SLR camera.
Agave - colors variants generation software. Usefull in case you need the list of simmilar or harmonious colors.
Shutter - screenshots capturing application and graphics editor
Scribus - SVG vector graphics editor



Multimedia software


Audacity - audio editing software, will be helpfull while preparing podcasts
Decibel - the lightest audio player ever
VLC - light weight video player
Openshot - Video editor, can be helpfull while preparing webinars and video tutorials


Other


Ubuntu Tweaks - allows to manage additional repositories with lots of software
VirtualBox - create virtual machines with installation of other operating systems like Windows XP. Sometimes its quite usefull to have a VirtualBox + Windows XP installation + Internet Explorer Collection
Wine - application platform compatible with Win32 API that will allow you to run majority of native Windows applications
X-Chat - IRC software


Free but closed source software


Skype - popular VoIP and chat messaging software
Dropbox - files sharing, collaboration and backups tool
TeamViewer - remote assistance software
SQLYog - open source version of the best MySQL GUI IMHO
WinRAR support - required to open RAR-archives


Conclusion


Its always hard to find the right tools for your needs. Let me know if you can recommend some interesting software that can make web-developer's life easier. Cheers!