So you took
my advice and decided to try Linux, congratulations! Now you need some
software tools to start developing with. All the best web development tools
are open source, so they are generally available on Linux.
This guide will refer directly to software for Fedora, but if it is on
it will almost certainly be available for the other Linux distributions
In this guide we will discover:
- The best Linux web browsers.
- Node package manager with cool packages.
- LAMP for CMS/PHP development, Git, WP-Cli and much much more!
Fedora has Firefox built in, and
also has Chromium in the official repository. I find it useful to have both
of these for browsing, and also their built in developer tools. They both
have different strengths and weaknesses, and you need more than one browser
for testing the compatibility of your code.
Chrome is based on Chromium. Google
Chrome is just the Chromium open source project built, packaged, and
distributed by Google. There are quite a few differences between the
but the main one is that Chromium lacks a few closed source video and audio
codecs. I go with Chromium, as I want to support open source and not
If you need those codecs, Google has an official Linux version of Chrome for download
If you really don’t like Google’s evil tracking ways, then check out
version of Chromium, Iridium, the differences between Iridium and
It has even more things removed for the sake of your privacy. There is a Iridium Fedora Repository provided
you will want to take advantage of these awesome tools, even if you don’t
plan to use NodeJS directly.
Some of the paranoid ones say never install NPM modules globally as it
them privileged access to your machine, but I would not worry if it comes
from a reputable source. You have to trust someone, or you would never
Lets you keep your modules up-to-date easily. It’s one of those things
you can’t help but wonder why it was not built in? Essential really.
If you are going to use a CMS like
WordPress or Drupal, or just PHP/databases in general, you will want a nice
local development environment to run your PHP and create your MySQL
The LAMP environment allows you to have your development site on a server on
your laptop or desktop. You can execute PHP code, create databases, and
your development site through your browser just as if the site was live on
internet. All this happens as fast as your computer can handle it, there is
need to upload or download any data from the internet, so things are very
To access your site, you just point your browser to localhost and view it
there. Once things are finished you upload the final site to the internet
Great news.. you have the Linux part of the LAMP environment installed
The other applications will be available in your distributions repository, or
maybe even pre-installed.
Version Control Software – GIT
At some point you will need version
control software, and the industry standard right now is GIT.
GIT was written by the creator of Linux, Linus Torvalds, and is built right
into many Linux distributions by default. If you are using VS Code, there are
also extra plugins you can install to make it easier to use for beginners
just tying commands right into the terminal.
WordPress Development – WP-Cli
If you use WordPress, then you are
going to love this little tool. It sorts out all the tedious mouse clicking
work inside the WP GUI and lets you do everything on the command line, and
is just the start of the awesomeness:
mkdir ~/bin curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar sudo mv wp-cli.phar ~/bin/wp wp --info
I am installing it into ~/bin as that is already in my $PATH. I renamed it
WP so it’s quick and easy to type on the command line.
General System Tools
Many of the most important tools are already built into Fedora by default.
may not want all of these extras, but I highly recommend them if you don’t
alternatives you prefer. These are the general tools I personally use for
everyday tasks, many are just a case of personal preference.
You must have installed the relevant repositories for some of these
applications to be available, that was all covered in the last section of
Fedora & Localhost Setup.
To install these is as easy as typing:
sudo dnf install [name exactly as show below]
A small tool to extract detailed information on the hardware
of the machine. Perfect for if you need HW info to copy/paste for support
A program you can use to store all your passwords for various websites
services. The best one I have found
Provides a full-featured exFAT file system implementation for Unix-like
systems. Essential for accessing things like digital cameras
Allows the adjustment of several advanced GNOME options that can’t be
configured in gnome-control-center. I think it should be installed by
A widely-used open source general-purpose scripting language that is
especially suited for web development
Handle the administration of MySQL over the Web. A nice easy way to
A module for PHP applications that use MySQL databases. You will almost
certainly need this module
The Zend Opcache, provides faster PHP execution through opcode caching
optimization. You will need this module too
A community-developed fork of the MySQL relational database management.
Everyone uses this rather than the official MySQL, it’s a long story why
A very widely used Mail Transport Agent. This is needed for WP-CLI. If
don’t need that, then you might not need this
Shell script analysis tool, can be used as a plugin via VS Code. Lints
gives best practice suggestions for your BASH scripts, if you make shell
scripts, you are going to love this
Open source WebKit (Blink) powered web browser. The slightly less evil
version of Chromium
The most used graphical FTP, FTPS and SFTP client
Offline documentation browser for software developers, similar to Dash
macOS. This is an amazing bit of software, you can access hundreds of
up-to-date sets of documents offline, including the entire Mozilla
You can install the whole lot at once if you like by typing:
sudo dnf -y install php phpmyadmin php-mysqlnd php-opcache mariadb-server sendmail fuse-exfat gnome-tweak-tool keepassx code ShellCheck chromium filezilla nodejs lshw zeal
I did not mention the best code editor for Linux yet, as that is in the next
article for your reading pleasure vs
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
I am often finding new and amazing tools, but beware spending too much time
the tooling, it can be very distracting. What do you think, maybe you would
make different choices? Tell us all about it in the comments!