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 10.1.1.251. Server2 run basic website using Apache2 webserver on IP address 10.1.1.252. We assume that Server2 is up and running to serve a content on port 80:
$ lynx -dump http://10.1.1.252
   Hello this is apache2 sitting on host 10.1.1.252

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

Symptoms:

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 http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-4.3-2.zip
Next, we will unzip and move the phpVirtualBoxcode into root directory of our apache2 webserver directory.
# unzip phpvirtualbox-4.3-2.zip
# 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 
Password:
Verify:

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 spotify.com 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 http://repository.spotify.com stable non-free
to our /etc/apt/sources.list. Next, install authentication key and run repository update:
# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --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 VBoxLinuxAdditions.run script to install VirtualBox Guest Additions you may receive a following error message:
Building the main Guest Additions module ...fail!
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

There are many web browsers which comes from official Debian Jessie 8 repositories such as Iceweasel, Konqueror to name just few. For all reasons and intentions you should be able to do any work required a web browser using Iceweasel the official Debian Firefox clone. However, if you insists on using Firefox web browser you can install it easily by using Linux Mint's imports repository. First edit your /etc/apt/sources.list file to include:
deb http://packages.linuxmint.com debian import
Update system repositories:
# apt-get update

This article describes an installation of the Valve Steam Linux client on Debian 8 Jessie 64bit. The article assumes that you have already installed your VGA drives required to run Steam client. Let's start with steam client download:
$ wget http://media.steampowered.com/client/installer/steam.deb
Once you have client downloaded install the steam.deb package. Please not the below command requires root privileges and will show errors due to the dependency problems which we will address next:
# dpkg -i steam.deb
Selecting previously unselected package steam-launcher.
(Reading database ... 82762 files and directories currently installed.)
Preparing to unpack steam.deb ...
Unpacking steam-launcher (1.0.0.49) ...
dpkg: dependency problems prevent configuration of steam-launcher:
 steam-launcher depends on curl; however: 
  Package curl is not installed.
 steam-launcher depends on zenity; however:   
  Package zenity is not installed. 
                                            
dpkg: error processing package steam-launcher (--install): 
 dependency problems - leaving unconfigured
Processing triggers for mime-support (3.58) ...   
Processing triggers for hicolor-icon-theme (0.13-1) ...  
Processing triggers for man-db (2.7.0.2-5) ... 
Errors were encountered while processing:  
 steam-launcher   

The easiest way to install NVIDIA GeForce Driver on Debian Linux 8 ( Jessie ) ( for Debian 9 Stretch visit: How to install the latest NVIDIA drivers on Debian 9 Stretch Linux) is to use official contrib and non-free debian repository. First, add the following non-free and contrib repositories to your /etc/apt/sources.list. Therefore, first change the content of your /etc/apt/sources.list file to include contrib and non-free packages eg.:
deb http://ftp.au.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.au.debian.org/debian/ jessie main contrib non-free
Next, update your repositories:
# apt-get update

Using jigdo downloader is a smarter and greener way of downloading data from the Internet mirrors. In comparison to a regular download where you point your browser or wget command to a single mirror URL, jigdo allows for multiple mirrors where the main feature is to re-use a previously download ISO image of a lower version to use as base and thus only new packages not downloaded previously are downloaded.

For this reason using jigdo is often faster way of downloading debian ISO images. To start using you first need to install it on your system:
# apt-get install jigdo-file
Once the jigdo-file package is downloaded your can start using jigdo do download official Debian instillation images. All you need is the URL of the *.jigdo file of the image you intend to download. In the example below we download Debian Jessie KDE iso image. First start jigdo:
$ jigdo-lite
Jigsaw Download "lite"
Copyright (C) 2001-2005  |  jigdo@
Richard Atterer          |  atterer.net
Getting mirror information from /etc/apt/sources.list

-----------------------------------------------------------------

FIND LATEST LINUX JOBS on LinuxCareers.com
Submit your RESUME, create a JOB ALERT or subscribe to RSS feed.
LINUX CAREER NEWSLETTER
Subscribe to NEWSLETTER and receive latest news, jobs, career advice and tutorials.
DO YOU NEED ADDITIONAL HELP?
Get extra help by visiting our LINUX FORUM or simply use comments below.

You may also be interested in: