Linux Web Development Tools

linux-web-development-tools-heading-image

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
Fedora
it will almost certainly be available for the other Linux distributions
too.

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!

Browsers – Firefox and Chromium

firefox-logo-image

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.

chromium-logo-image

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
two,
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
Google.
If you need those codecs, Google has an official Linux version of Chrome for download
too.

If you really don’t like Google’s evil tracking ways, then check out
another
version of Chromium, Iridium, the differences between Iridium and
Chromium
.
It has even more things removed for the sake of your privacy. There is a Iridium Fedora Repository provided

Javascript Package Manager – NPM (Node Package Manager)

npm-logo-image

If you are developing using Javascript,
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
allows
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
leave
your house.

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.

LAMP (Linux, Apache,
MySQL, PHP) Development
Environment

lamp-heading-image

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
databases.

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
access
your development site through your browser just as if the site was live on
the
internet. All this happens as fast as your computer can handle it, there is
no
need to upload or download any data from the internet, so things are very
fast.

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
(deployment.)

Great news.. you have the Linux part of the LAMP environment installed
already!
The other applications will be available in your distributions repository, or
maybe even pre-installed.

Version Control Software – GIT

git-logo-image

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
than
just tying commands right into the terminal.

WordPress Development – WP-Cli

wp-cli-logo-image

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
that
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
to
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.
You
may not want all of these extras, but I highly recommend them if you don’t
have
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
this
guide Configuring
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
configuration
of the machine. Perfect for if you need HW info to copy/paste for support
on forums

A program you can use to store all your passwords for various websites
and
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
default, essential

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
manage
your databases

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
and
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
you
don’t need that, then you might not need this

Shell script analysis tool, can be used as a plugin via VS Code. Lints
and
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

A JavaScript runtime built on Chrome’s V8 JavaScript engine (includes
Node
Packet Manager)

Offline documentation browser for software developers, similar to Dash
for
macOS. This is an amazing bit of software, you can access hundreds of
up-to-date sets of documents offline, including the entire Mozilla
developers network

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
code the best extensions for general use javascript and shell

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
.

I am often finding new and amazing tools, but beware spending too much time
on
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!

Leave a Reply

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