Configure Supervisor to run Apache2 webserver on Ubuntu/Debian Linux

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

Read more

Nginx web server Docker image based on Debian GNU/Linux


The automated build docker Nginx image “linuxconfig/nginx” can be used as a basic testing environment for a static websites deployments.


The image is build based on default Nginx webserver configuration running on Debian GNU/Linux. Nginx webserver run in foreground and listens on default port 80.


Create a directory and place your static website within.

$ mkdir html
$ echo "My Static Website" > html/index.html
$ cp -r /path/to/your/static/website/* html/

Read more

Enable SSH root login on Debian Linux Server

After fresh system installation the root login on the Debian Linux is disabled by default. When you attempt to login as root user to your Debian Jessie Linux server the access will be denied eg.:

$ ssh root@
root@'s password: 
Permission denied, please try again.
root@'s password: 
Permission denied, please try again.
root@'s password: 
Permission denied (publickey,password).

To enable SSH login for a root user on Debian Linux system you need to first configure SSH server. Open /etc/ssh/sshd_config and change the following line:

PermitRootLogin without-password
PermitRootLogin yes

Read more

How to install and setup Debian 8 minimalist Docker Host

Author:Tobin Harding
Task is to configure x86 bare metal machine as a docker host using
Debian 8. You will need a network connection to the host to follow
this guide. Also a connected keyboard and monitor.


  1. Host machine. I will be using an optiplex 760 but any machine will
  2. Internet connection. I will be using the net install Debian 8
  3. About half an hour.

Read more

How to verify an authenticity of downloaded Debian ISO images

There are two steps to verify an authenticity of downloaded Debian ISO images from Debian mirrors:

  1. Firstly, we need to verify check-sum of the CD image content against its relevant checksums files whether it would be MD5SUMS or SHA512SUMS
  2. Secondly, we need to verify the actual checksums files for a correct signature using accompanied signatures such as MD5SUMS.sign or SHA512SUMS.sign

To get started, first download all relevant files including desired ISO images within a single directory. In this case we will validate the authenticity of debian net install CD image:

$ ls
MD5SUMS  MD5SUMS.sign  SHA512SUMS  SHA512SUMS.sign  debian-8.0.0-arm64-netinst.iso

Read more

installation of spotify music client on debian jessie linux 8

Installation of Spotify client on Debian Linux 8 ( Jessie ) 64-bit

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

Read more

setup django develoment on Debian Linux 8 jessie

Setting up Django, Python and MySQL development environment on Debian Linux 8 Jessie

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

Read more

Failed to fetch cdrom:// – Ubuntu/Debian apt-get error message – Solution


When using apt-get or some other GUI package management application to install a new package on Ubuntu or Debian Linux the following error message appears:

W:Failed to fetch cdrom://Ubuntu 14.04 LTS _Trusty Tahr_ - Release amd64 (20140416)/dists/trusty/main/binary-amd64/Packages
Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs

Read more

Using Debian package archive as a configuration tool


How often do you need to install your favorite Linux distribution in a single year either virtually or using real hardware? How frequently it happens that you just want to test new release of certain Linux distribution so you install it on different partition or simply virtually using your current system as a host. How often do you need to deploy a server which is a complete clone of the one you configured yesterday. The installation part of any Linux system today is a very straightforward process. Nonetheless, the hardest and the most tedious part comes with a fine tuning, customization and configuration of your system’s services as well as your own user environment. You can simply copy your custom system configuration files from one system to another but engaging in this concept this task can become quite disorganized, time consuming and most importantly error-prone.

In this article, we are going to take a different approach which involves a creation of a Debian package archive containing all required custom user and configuration files. First part of this article describes a rather simple way on how to create a Debian package archive containing all custom files followed by its installation. In the second part, we will look at the way on how to create our own very basic Debian Repository and use it to deploy a simple website including Apache webserver installation and configuration on a freshly installed Linux system.


In this section, we create and install simple Debian package. The package will accommodate some sample user data to serve as an example.

Creating a Debian Package

It took you a while to configure your desktop to have it the way it best suits your needs and convenience. In your custom environment, you may for example include some bash scripts, create several aliases using .bashrc file or changed default behavior of a vim text editor by altering .vimrc file. Furthermore, you may also have customized numerous system configuration files such as /etc/network/interfaces and so on. All this hard work can be saved within a Debian package and installed and removed from any system with a single dpkg command. As a first step we need to create a bare minimum skeleton for a Debian package. This is a fairly simple task as it only involves a single DEBIAN/control file. So let us start by creating a directory named “myenv”. This directory will hold all data for our own version 1.0 Debian package.

$ mkdir myenv

In the next step, we need to create a control file:

$ cd myenv
$ mkdir DEBIAN
$ vi DEBIAN/control

Read more

How to install Python3 Beautiful Soup environment on Debian Linux

Beautiful Soup is a Python package for parsing HTML and XML documents and it resides within a Debian package named python-bs4. However, python-bs4 package is a default package on Debian Linux system for Python 2 version. Therefore, if your intention is to use Python3 as a default environment you will need to also install Python3 and its corresponding version of BS4 python3-bs4. Let’s start by python3 installation:

# apt-get install -y vim python3

After a successful installation of python3 package make sure that python3 is set as default:

# update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2
update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode

Confirm that python 3 is a default version:

# python --version
Python 3.4.2

All what remains is to install Beautiful Soup parsing HTML and XML package to match python version 3:

# apt-get install python3-bs4

All done. Test Beautiful Soup parsing HTML and XML with the following example script:

#!/usr/bin/env python3

from urllib.request import urlopen
from bs4 import BeautifulSoup

html = urlopen("")
bsObj = BeautifulSoup(;

print (bsObj.title)

Read more