Top Tools to Install on Your Ubuntu Web Server
Last updated: July 19th 2023
Introduction
This guide explores the various tools available that can make managing your server tasks a breeze. There are many options out there, and it can be overwhelming to try and figure out which ones are worth your time and which aren't. That's why I've put together this guide to help you find the top tools to install on your Ubuntu web server.
First and foremost, it's important to note that the tools you need will depend on what kind of web server you're running. Are you hosting a simple static website, or are you running a complex web application with many moving parts? Additionally, the tools you need will depend on your preferences and what you're comfortable with.
That being said, some tools are universally helpful for web server management, which I'll focus on in this post. Let’s see what those are!
Prerequisites
- An Ubuntu web server (Ubuntu Focal or newer, LEMP/LAMP stack is preferred)
- SSH access to your VPS
Snapd
Snapd offers a convenient solution for installing software on any Linux distribution with the ease of using a standard app store like Apple's App Store or Android's Play Store. With just a few basic commands, you can have your desired software up and running quickly. You don't need to worry about updating the software, as Snapd will automatically do it, and it's a hassle-free way of managing your software needs on your server.
Snapd is likely installed on your system if you are using a current version of Ubuntu or any other contemporary Linux distribution. However, if you don’t find Snapd on your system, install it by simply running the following commands:
$ sudo apt-get update && sudo apt install snapd -y
You can then install any program you see on snapcraft.io
phpMyAdmin
Databases are crucial for any web-based application that stores records and user data. As a web developer, you may already know the significance of having a reliable database management system. In this regard, phpMyAdmin is a popular web-based tool that simplifies managing MySQL databases. It offers a user-friendly interface that makes it easy to navigate and interact with the system, even for those who need to be better versed with the MySQL prompt.
For many users, having a database management system like MySQL is a necessity. However, without tools like phpMyAdmin, managing databases can be quite daunting and time-consuming. This is where phpMyAdmin comes in handy, as it provides a seamless web interface that allows users to manage their MySQL databases efficiently and with ease. If you're looking for a reliable tool to manage your MySQL databases, phpMyAdmin is definitely worth checking out. To install phpMyAdmin, run the following commands:
(You can install Composer from here if it's not already available)
$ sudo su # mkdir -p /var/www/html # composer create-project phpmyadmin/phpmyadmin # cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php # mysql -u root -pYOUR_ROOT_PASSWORD < /var/www/phpmyadmin/sql/create_tables.sql # sed -i "s/\$cfg\['blowfish_secret'\] = '';.*/\$cfg\['blowfish_secret'\] = '$(uuidgen | tr -d -)';/" /var/www/phpmyadmin/config.inc.php # mkdir /var/www/phpmyadmin/tmp; chown www-data:www-data /var/www/phpmyadmin/tmp; # ln -s /var/www/phpmyadmin/ /var/www/html/phpmyadmin; mkdir /var/www/logs; chown www-data:www-data /var/www/html; chown www-data:www-data /var/www/logs; chown www-data:www-data /var/www; chmod -R g+rw /var/www;
Note: Replace ‘YOUR_ROOT_PASSWORD’ with your actual root password.
Webdock understands the importance of having a reliable and user-friendly database management tool. That's why they have enabled phpMyAdmin by default in all of their stacks. This means that customers can easily access and manage their databases from anywhere with an internet connection.
Vim
Creating and modifying your files using a text editor is a fundamental task that every operating system recognizes. Whether it's editing configuration files, HTML files for your website, or simple text documents, you may need to edit files on your Cloud Server.
Regarding Linux text editors, Vim (short for Vi IMproved) stands out for its versatility and feature-packed offerings. Vim can accelerate the coding process by providing shortcuts for modifying, deleting, or replacing text.
Moreover, Vim Text Editor allows users to install various plugins, which can transform this plain text editor into a full-blown Integrated Development Environment (IDE) for programming in different languages.
To install Vim, simply run the following command:
$ sudo apt-get update && sudo apt-get install vim -y
Once you’ve installed Vim, you can simply open any document using Vim as its prefix. For example:
$ vim example.conf
Nano
This is yet another beginner-friendly text editor. If it's not already installed you can install it using:
$ sudo apt install nano -y
You can open any document using nano as its prefix. For example:
$ nano example.conf
You'll see the keyboard shortcuts, for example to write the changes (Ctrl + O) and exit the editor (Ctrl + X)
Zip/Unzip
You can zip and unzip ".zip" archives using zip and unzip commands. To install them just use the command:
$ sudo apt install zip unzip -y
To zip a file:
$ zip filename.zip foldername
Replace filename and foldername accordingly.
Unzipping a zip file is very simple. Just run:
$ unzip filename.zip
Fail2Ban
The widespread usage of SSH on the internet makes it a common target for malicious actors attempting to gain unauthorized access. Any network-exposed service becomes vulnerable to such attacks. One may observe repeated attempts to log in to SSH services on highly popular servers, indicating brute-force login attempts by both humans and bots. Keeping a close eye on such activities is essential to prevent unauthorized access and maintain the security of the network.
By implementing Fail2ban, your server can proactively defend against brute force attacks by implementing automated rules that dynamically modify your firewall configuration. This means that after a specific number of failed login attempts from a particular IP address, the system will automatically ban that IP, reducing the likelihood of successful unauthorized access. This automated approach minimizes the need for manual intervention and strengthens the security posture of your server. To install Fail2Ban, simply run:
$ sudo apt update && sudo apt install fail2ban -y
Webdock preinstalls Fail2Ban in all stacks to ensure your website is always protected from brute-force attacks and unauthorized access.
Certbot
To ensure secure communication over the internet, HTTPS and digital SSL certificates ensure the identity of the server. SSL certificates are provided by trusted third-party certificate authorities such as Let's Encrypt. The best and easiest tool to obtain SSL certificates from Let's Encrypt and deploy them to web servers, including Nginx, Apache, WordPress, and self-hosted cloud servers, is Certbot.
To install Certbot, you’ll need snap, as the apt version of Certbot is now retired. To install certbot via snap, run the following:
$ sudo snap install --classic certbot
To see the further steps, you can check the official guide of Certbot here.
However, it is essential to note that SSL certificates created by Certbot expire after 90 days. To avoid any lapses in security, renewing these certificates every 90 days is necessary. Fortunately, modern tools such as Cron can automate the SSL certificate renewal process, making it easier to maintain secure online communication.
Webdock servers are equipped with pre-installed Certbot, which simplifies and streamlines the process of obtaining SSL certificates. Once a new domain is added to your server, Webdock takes care of everything, generating and assigning SSL certificates to your domain and automatically renewing them as needed. This convenient and hassle-free solution ensures your website remains secure and trustworthy at all times.
HTop
Htop is a cutting-edge system monitoring tool that has been developed explicitly for Unix systems. Its interactive interface allows users to keep a close eye on all the running processes on their system, giving them complete control over their system's performance.
As a highly flexible alternative to the Unix program top, htop is designed to provide users with a comprehensive view of their system's processes. Unlike top, htop displays the complete list of running processes, allowing users to identify and manage any resource-consuming activities on their system quickly.
Furthermore, htop offers a unique process tree view, providing users with a detailed breakdown of all the processes running on their system. This feature, coupled with htop's use of color-coded resource-usage statistics, makes it the ultimate tool for managing system performance.
To install HTop, simply run the following:
$ sudo apt update && sudo apt upgrade -y
Followed by:
$ sudo apt install htop -y
You can also use Snap to install HTop:
$ sudo snap install htop
Once you’ve installed Htop, launch it by running the htop command.
New Relic
If you're looking for an effective way to keep tabs on your entire infrastructure, New Relic is a monitoring tool worth considering. This powerful software allows you to easily monitor cloud services, dedicated resources, or containers in an orchestrated environment.
One of the standout features of New Relic is its modern UI, which presents all host data on a single page for easy monitoring. Additionally, real-time data collection means that your operations team can work faster and more efficiently.
But perhaps the most exciting aspect of New Relic is its custom query capabilities. By creating custom charts, tables, and other data presentations, you can gain unparalleled insights into your infrastructure and make more informed decisions about how to optimize it. You can check out my guide on installing New Relic on your server here.
Malware and Virus Scanners
One wrong click or command can lead to a malware or virus infection on your cloud server. These malicious entities can remain hidden, causing unexpected behavior and wreaking havoc on your system. However, there are methods to detect and eliminate these threats.
A comprehensive server-wide scan can help identify the presence of malicious software and remove it effectively. There are various methods to clean your cloud server of these harmful entities, and choosing the most appropriate one for your needs is essential. You can check out my guide on some of the best Malware and Virus scanners.
Netdata
Netdata provides a comprehensive performance monitoring solution that offers accuracy and ease of use. The user-friendly web dashboards allow you to easily visualize the processes and services running on your Linux systems. Netdata simplifies monitoring by providing metrics such as CPU usage, memory, disks, networks, processes, and other critical information. Its advanced features enable you to monitor and analyze the performance of your systems in real-time.
With Netdata, you'll have a clear overview of your system's performance and be able to take proactive measures to optimize it. Check out my guide on how to install Netdata here.
We highly recommend this tool as it is cgroup-aware and can monitor LXD containers too!
Conclusion
This guide outlined some of the tools that are most commonly used with Ubuntu web servers.
Aayush Nair has been a passionate freelance WordPress designer for the past eight years. He likes to share his knowledge to help and enrich the community in his free time.
Related articles
-
Optimizing Network Speed on Your Webdock KVM Server
A mini article with some kernel tweaks to improve network performance on your server
-
How to configure Crontab on Linux
-
How to free up disk space on an Ubuntu Nginx or Apache Web Server
This article outlines useful commands you can run on your server in order to free up disk space.
-
How to monitor webdock server resources using Prometheus, Grafana, Node Exporter and Prometheus Alert Manager
-
How to Disable IPv6 on Your Webdock Server
The article explain how to disable IPv6 on your Webdock server, both temporarily and permanently.
-
Automating Initial Server Configuration with Ansible
Read our new article: Learn how to automate your cloud server configuration using Ansible.
-
How To Benchmark Your Server with YABS
A guide to do benchmarking of your server's CPU, network performance, and such using YABS.
-
Systemd Units - A Comprehensive Guide for Linux Admins
A detailed guide on systemd internals for Linux admins
-
A Quick Guide to Managing Systemd Services
A short guide that helps you manage systemd services
-
How to Benchmark PHP Performance on Your Webdock Server
Instructions for bechmarking PHP performance on your Webdock server