The idea about starting your services under Supervisor's supervision is to be able to run multiple services under a single daemon. Depending on the Supervisor's configuration it will be able to start,stop or restart any given service as a child process. In this config we show how to runapache2 as supervised service ( useful for docker images etc. ) on Ubuntu/Debian Linux. First, install supervisor:
# apt-get install supervisor
Include apache2's supervisor configuration into /etc/supervisor/conf.d/. Supervisor will pick any configuration files from this directory where the only requirement is *.conf file extension. For example insert a following lines into a new file /etc/supervisor/conf.d/apache2.conf:
command=/usr/sbin/apache2ctl -DFOREGROUND

This article describes an upgrade procedure from Debian Wheezy to Debian Jessie. Debian Linux with a code name "Jessie" is the latest stable Debian release which succeeds previous stable version "Wheezy".

It is important to point out that nothing is bulletproof and proper failover procedure should be discussed before the upgrade takes place. The rule of thumb is, the less software is installed on your system the higher chance for a successful upgrade. Before you move on with the upgrade consider the following recommendations.

Relevant article:

Upgrade Recommendations

  • Remove unnecessary packages
  • Fully upgrade your current system
  • Make a data backup
  • Although there should not be a problem to perform update via SSH. If possible it is recommended to perform upgrade directly using console

Fully Upgrade current System

First, fully upgrade your current Wheezy Debian system:
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade

Let's say you wish to do some changes to nginx source code in order to add or remove some features before the actual nginx package installation. In this config we will show how to recompile nginx package on Debian linux.

First install package building tools:
# apt-get install dpkg-dev
Next, we need to install all nginx build dependencies:
# apt-get build-dep nginx

What is Reverse Proxy

In short a reverse proxy server acts as intermediary service between client requesting a resource such as HTTP page and one or more servers. Using reverse proxy allows for multiple advantages such as improved performance, load balancing, transparent server maintenance of servers behind the reverse proxy server, improved security and more.

Basic scenario

In this section we will setup a basic reverse proxy using Nginx webserver on Debian Linux. We will be running two separate servers server1 and server2. Server1 is running Debian Linux with Nginx reverse proxy and an IP address Server2 run basic website using Apache2 webserver on IP address We assume that Server2 is up and running to serve a content on port 80:
$ lynx -dump
   Hello this is apache2 sitting on host

In this config we will setup a python virtualenv. The intention behind the use of virtualenv as a python development environment is to separate global system installed executables and libraries with packages installed directly inside virtualenv. As a result, one is able to test a given python application with multiple system environments on a single host.
The installation of virtualenv on Debian Linux is simple as:
# apt-get install python-virtualenv


Using a apt tools may result in a following error:
Traceback (most recent call last):
  File "/usr/bin/lsb_release", line 28, in 
    import lsb_release
ImportError: No module named 'lsb_release'
Traceback (most recent call last):
  File "/usr/bin/lsb_release", line 28, in 
    import lsb_release
ImportError: No module named 'lsb_release'

phpVirtualBox allows you to manage locally or remotely your virtual machines running under VirtualBox via web-based interface. This config will describe an installation and basic configuration of phpVirtualBox on Debian Linux.

First, we need to install apache2 and php support:
# apt-get install libapache2-mod-php5 apache2 unzip wget
Next, we need to download phpVirtualBox. Please update your download link if necessary:
$ wget
Next, we will unzip and move the phpVirtualBoxcode into root directory of our apache2 webserver directory.
# unzip
# mv phpvirtualbox-4.3-2/ /var/www/html/vbox

In this config we will show a quick VNC server/client configuration on Debian Linux Jessie 8. Visit the following page on how to configure VNC on Debian 9 Stretch Linux.

We will be using vnc4server to start a VNC server and xvnc4viewer client to connect remotely. First perform a server installation on the server you wish to remotely connect to:
# apt-get install vnc4server
Next, setup your password. Login as a user you will eventually use to create a remote VNC session and set your password consisting of 6 - 8 characters:
$ vnc4passwd 

This config is intended to help reader to quickly setup a Django Web development environment with Python 3 and MySQL on Debian Linux 8 Jessie. The outcome will be installed Django Framework ( 1.7.1 ) and Python ( 3.4.2 ). Once completed and would like to learn more by creating your first Django app you can continue with the official Django Documentation by skipping the first part about settings up the Django environment.

Let's begin by installation of Django Framework and Python 3: The below command will install both Django Web development Framework and Python 3 packages:
# apt-get install python3-django

Your Debian Linux installation may include multiple python versions and thus also include multiple python binary executables. You can run the following ls command to find out what python binary executables are available on your system:
$ ls /usr/bin/python*
/usr/bin/python  /usr/bin/python2  /usr/bin/python2.7  /usr/bin/python3  /usr/bin/python3.4  /usr/bin/python3.4m  /usr/bin/python3m
To check what is your default python version execute:
$ python --version
Python 2.7.8

In this article we describe a installation procedure of Spotify client on Debian Linux 8 (Jessie). Looking on the Spotify for Linux on page we can see a simple instructions which we are going to follow. However, based on the statement from spotify developer the "Spotify for Linux" version available is for an older Debian 6 Squeeze version so we will come across some issues which we will fix after the main Spotify installation.

Let's start the spotify installation by adding spotify repository
deb stable non-free
to our /etc/apt/sources.list. Next, install authentication key and run repository update:
# apt-key adv --keyserver hkp:// --recv-keys 94558F59
# apt-get update
At this stage we are ready to install spotify client on Debian 8 Jessie by following linux command and disregarding the warning message about apt-get not being able to verify package:
# apt-get install spotify-client

When you attempt to script to install VirtualBox Guest Additions you may receive a following error message:
Building the main Guest Additions module!
Futher, investigation into a suggested log file may reveal:
/tmp/vbox.0/Makefile.include.header:97: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR= and run Make again.  Stop.

Having a slow Debian mirror can be frustrating and thus it is always best to choose closest mirror to your geographical location as possible. Even your best guess may not always bring good results. Fortunately netselect-apt command line tool is here to help you find the fastest mirror available.
Here is the basic idea:
finding a fastest debian mirror

As you can see on the above image 87.0 kB/s is rather disappointing. Let's try to change that using netselect-apt faster mirror locator tool. Installation is simple:
# apt-get install netselect-apt

Submit your RESUME, create a JOB ALERT.
Subscribe to NEWSLETTER and receive latest news, jobs, career advice and tutorials.
Get extra help by visiting our LINUX FORUM or simply use comments below.

You may also be interested in: