Linux for Web Development Guide

linux-for-web-development-tux-badge-image Many years ago a good friend of mine named his pet rat Linux. I had heard of this mysterious operating system before, but tales of days spent configuring hardware drivers, and cellar dwelling neck beards scared me away. Why bother using it, never mind naming your rat after it!? In this guide we will discover:
  • Exactly what Linux is, and how it differs from Windows and Mac.
  • Why we should use it for web development.
  • Exactly which version of Linux is best for the job.

What exactly is Linux, and how is it different from Windows and Mac?

linux-kernel-layout-imageThe title ‘Linux’ refers to the actual kernel, the heart of the operating system. It sits between the hardware and the software you use. The Linux kernel is technically known as a ‘monolithic kernel’ as it contains things like device drivers and file system management. One big difference between a Linux system and a Windows or Mac system is that you get to choose the desktop environment. This might seem a strange idea at first, especially if you are used to thinking of the desktop as the OS! In Linux the kernel and the desktop environment are two separate things. This is all part of the Unix philosophy of doing one thing only, and doing it well. Unix was the OS that Linux is based on.

Why use Linux for web development?

The main problem with using Linux for web development is that not enough people know how perfect it is for the job! Linux is probably the OS that your server is going to be running, so it makes complete sense to create your application/site on Linux too. Here are a few more good reasons to use Linux:
  • Linux is stable, secure, and 100% free and open source.
  • Linux can be configured exactly how you want, you can change anything from the choice of desktop right down to re-writing the supplied software.
  • Windows 10.
If you are a web developer, you are probably the kind of person who would love Linux. When I moved over from Windows I was shocked at how much better it was in so many areas. The control it gives back to the user is amazing. It just feels like it’s your computer again. The only really good reason not to switch I can think of is the initial investment of time. If you are used to Windows or Mac then you are going to have to learn about how to use a new operating system. Linux is no harder to master, but some things are done in a different way. You will be rewarded for your effort, but not everyone has the time to put in to get that reward. You will probably need help setting up Linux to do what you want. As Linux is not so popular on the desktop, it means there are not the same amount of high quality online guides as there are for Windows and Mac. To compound the problem, different Linux distributions are set-up in different ways, so you not only need to find a Linux-based guide, but also a guide that relates to your chosen Linux distribution.

What is the best Linux distribution to use?

There are a lot of different distros, and a lot of different opinions on which is the best. Many of the smaller ones are based on larger ones with a few things tweaked and different software by default. Here are the main distros, and the most popular smaller ones that are based on them:
Distribution Based on Support
Mint Ubuntu 9 months LTS: 5 years
Debian 3 years
Ubuntu Debian 9 months LTS: 5 years
openSUSE SUSE 18 months LTS: 3 years
Elementary Ubuntu 9 months LTS: 5 years
Manjaro Arch Linux Rolling release
Fedora 1 year approx
Zorin Ubuntu 9 months LTS: 5 years
CentOS RHEL Up to 10 years
Arch Linux Rolling release
In my opinion, Fedora is the best choice for developers. Fedora was designed for developers from the ground up. It comes out of the box with everything you need. Nearly everything is installed by default, and any extras needed are contained in the official Fedora repositories. The world of web development changes fast, and applications and frameworks need to stay up-to-date. Fedora takes care of all of this for you. There is a dedicated team checking that dependencies do not clash. All you need to do is perform a system update and everything is intelligently updated for you. Fedora tracks all the important programs like Node.js and PHP and keeps your development environment fully patched and up-to-date. In the next article Configuring Fedora & Localhost Setup I will go into detail about how to set things up for my favourite Linux distribution Fedora.

Conclusion

  • Linux refers to the actual kernel of the OS. There are many different desktops built on top of it.
  • There are different distributions of Linux, like Ubuntu and Debian.
  • Stability, security, and the open source ethic make Linux what it is. Your time management is the only thing stopping you using it.
I hope you will make the switch to Linux. By doing so you would be supporting free and open source software, and helping to loosen the stranglehold that Microsoft and Apple have over personal computing. Linux can take over the world of software development as it has the server market if enough people start using it. I hope you have found this guide helpful. If you would like to employ me for any upcoming projects, please do not hesitate to get in contact. Please leave your feedback on this guide below and I will be sure to take it into account for future updates.

Leave a Reply

Your email address will not be published. Required fields are marked *