There are a few packages I always install when installing a new Linux server, regardless of the purpose. Some packages are installed by default depending on the distribution of Linx and the version.
I will mostly describe the tools and what they are used for. I will leave it up to you to figure out how to use them by looking at their man page or doing a Google search for the ones that interest you.
Htop
htop is one of the first packages I install. If you are familiar with top then you have a good understanding of what this tool does.
htop is a more modern version of top with additional features, the biggest feature is color for easy visibility.
I can't explain htop any better than CodeAhoy did in these two images.
vnstat
vnstat is another tool I find tremendously useful for all Linux boxes.
vnstat is used to monitor activity on your network interfaces. It will track not only current activity but will give you historic data over hours, days, months for inbound and outbound traffic.
If your server's connection is metered, this is a good tool to see how much bandwidth you are using.
vnstat also has the ability to output a png with traffic summary graphs.
etckeeper
etckeeper is an extremely handy package that helps version your configuration files in /etc. At its core, it is just Git wrapped with some triggers. I wrote a post about etckeeper a couple of years ago.
Once you install etckeeper and configure it to keep track of your configuration files. It will automatically create comments on a daily basis but you can also trigger a commit after you make a change. If you are making multiple changes then triggering manual commits will allow you to have individual commits for each of your changes. This allows you easily to roll back a bad change in isolation.
Tmux
I recently just wrote a post about tmux.
tmux is a terminal multiplexer, it is also a session state manager. As a terminal multiplexer, it allows you to run multiple terminals in one terminal session by adding the ability to create windows and panes.

As a session state manager, tmux allows you to disconnect from an SSH session and later reconnect exactly where you were before. It is handy for running programs you want to be able to monitor console logs but you don't want it to quit when you exit your session. There are many ways of doing this using log files and background tasks with nohup. tmux is just a quick and easy way to do this and easily switch back to them as needed. Add in the window and pane functionality and you have a super handy tool.
Process Manager 2
pm2 or Process Manager 2 is another tool I recently wrote about in a post that I highly recommend getting familiar with.
While PM2 is designed to manage NodeJS apps, it works great with most scripting languages like Ruby, Python, Javascript, Bash, PHP, Perl, and more.
Using PM2 you can start scripts automatically when your server boots and restart them whenever the scripts terminate due to a bug or system error. It also does a great job of managing logs even for scripts that have no native logging functionality.