Using Linux for Web Design and Development (Ubuntu)

[Note: to install the following programs on Ubuntu, make sure that you have the Universe repository enabled. You can either use the terminal, or Synaptic. For more information on how to install software on Ubuntu, see this article. Generally you can just type the following in the terminal: sudo apt-get install program.]

Linux Web Hosting

If you don't already have Web hosting, I recommend Site5 for Linux Web hosting. Site5 can run popular content management systems like Drupal and WordPress.

Linux Dreamweaver Replacements

Quanta Plus and Kompozer (formerly NVU) both have WYSIWYG editing features. I highly recommend writing your HTML by hand though. WYSIWYG editing is not a good way to make web sites. Quanta Plus probably has the most features of any visual HTML editor on Linux.

HTML/CSS/PHP/Text Editors for Linux

  • Quanta Plus — Many features. If you are coming from Windows, try Quanta first. Quanta does have some WYSIWYG features, but I prefer to write everything by hand. Quanta also works great for editing files over FTP.
  • Vim, gVim, and Cream — If you are not already a vim user, try Cream. Cream is a non-modal version of gvim that has all of the features of vim under the surface and it can help you work up to expert level with the regular Vim. I use vim/gvim for most text editing and have a section of this site about Vim. See also my Vim tutorial and Vim tips.
  • Bluefish — Programmer's editor. I've had some problems with syntax highlighting on Bluefish, but some people like it a lot.
  • Screem — An HTML editor for GNOME.
  • SciTE — Nice, fast text editor for Linux and Windows. Setting the preferences is done in a configuration file. Once you have set it up the way you like it, SciTE is great. One especially nice feature is export to PDF. The PDF files will retain your syntax highlighting.
  • CSSed (see also this rundown of CSS editors for Linux)
  • Emacs, with HTML Helper Mode — steep learning curve, but worth it.
  • gedit — GNOME's default text editor. Simple, yet very useful.
  • KateKate is made for KDE, but you can use it under GNOME also. Like Quanta, it's great for editing files over FTP. I generally set up my FTP client (Konqueror) to open PHP and CSS files in Quanta Plus, and my configuration files (like .htaccess and php.ini) in Kate.
  • gphpedit — a GNOME editor specifically configured for PHP editing. The gphpedit web site has a list of features. I haven't used it beyond a quick test.
  • PHP Eclipse — PHPEclipse is an excellent IDE for working on PHP projects. I haven't used it extensively because I've already settled on Vim, but this is a good PHP IDE for Linux.

It isn't finished yet, but there is a version of HTMLkit for Linux in development. HTMLkit is a great program and it will be interesting to see how this project turns out.

Checking for Broken Links

I use KLinkStatus to automatically check my web sites for broken links. It is similar to Xenu Link Sleuth for Windows.

Web Graphics Programs for Linux

The GIMP is the classic image editing program for Linux (and Windows/Mac). It comes with Ubuntu. You can use it to slice up images for the Web with the following menu option: Filters —> Web —> Pyslice.

Inkscape is a great vector graphics program for Linux (and Windows/Mac). You can use it to make web site layouts, clip art, buttons, etc.

It's still in beta, but there is a GPL version of Xara Xtreme for Linux now. I've installed version 0.7 on my computer and it looks like an excellent option for working with graphics on Linux. I highly recommend giving Xara Xtreme a try.

FTP Programs for Linux

UPDATE on 19 May 2008: Filezilla FTP for Linux is now out! Filezilla is a great FTP program for Windows that has been ported to Linux. I highly recommend trying it. It supports sFTP too. I downloaded it through Synaptic on Ubuntu Hardy Heron.

I used to use Konqueror on Ubuntu (GNOME) as my main FTP program. It works really well. I can split the Konqueror window (right click on the status bar) and FTP to several servers at once. I have it set up to open my PHP and CSS files in Quanta on a double-click for remote editing.

gFTP is another good FTP program, but I prefer Konqueror because I can quickly access multiple servers at once. Filezilla (mentioned above) is probably a better choice than gFTP.

Essential Firefox Extensions for Web Development

Dont forget the Firefox Web Developer Toolbar, and the other essential web design extensions. You can read more about Firefox extensions here.

Creating Image Maps in Linux

Try KImageMapEditor. The GIMP also has a tool for this under Filters —> Web —> ImageMap.

Content Management Systems

There are many free open source content managment systems. I recommend Drupal and WordPress. There are also many free photo gallery scripts available. For information about other PHP/MySQL content management systems, check out

Web Application Frameworks

There are also many web application frameworks to choose from, such as Ruby on Rails (Ruby) and Django (Python). Wikipedia has a long list of web application frameworks, including ones written in PHP like CakePHP, CodeIgniter, and Symfony.

Installing PHP, MySQL, Postgresql, Ruby, Python, and other web development tools on Linux is very easy. If you are using Ubuntu, see the article how to install anything on Ubuntu for more information.


"Symphony" vs "Symfony"

Please note the PHP framework is not called "Symphony" but "Symfony", thus the Domain name:

Webmaster Tips's picture


Thanks for pointing that out. It has been fixed...

graphics programs.

Xara Xtreme for linux is good, but it's really unstable. For me it crashed about every 7 minutes of use, and quite frequently in the process of saving a file. (this was using the new .package based install)

That said, Inkscape is rock solid, but somewhat immature feature-wise. Some of that may be due to limitations of using SVG as a native format.

There's a pretty fair rundown of the pluses and minuses of each here


I found your tips very useful!
I`m new on Ubuntu and this programs helped me very much!

Syndicate content