Skip to main content

Part 1- Install Django using Virtualenv, Apache and MySQL on Ubuntu Server 14.10


I have been using Microsoft Excel to do my Personal Budget. Excel is extremely powerful and has fulfilled my needs. But I always wanted to build a web application which is accessible via a browser and in order to do so we need the following:

  • An admin interface (website) to plug in my expenses
  • A database to store all the entries
  • Code to parse the database and calculate the expenses per month
  • A public interface (website) to display expense charts

After browsing the web I stumbled across Django. Django (as copied from the project page) is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. It focuses on automating as much as possible and adhering to the DRY principle.

In the first part of this tutorial we will walk through the installation of Django using Virtualenv. In the following series we will build our Personal Budget application using Django.

What is virtualenv and why use it?

Virtualenv (as copied from the project page) is a tool to create isolated Python environments. By creating an isolated environment, we can install, develop and test specific versions of software or code. It creates an environment that has its own installation directories, that doesn’t share libraries with other virtualenv environments


In this tutorial we will

  • Install and configure virtualenv
  • Install Django 1.7.1 on Ubuntu Server 14.10 using virtualenv
  • Test our installation using the built-in Django web server


  • Fresh Install of Ubuntu Server 14.10
  • SSH enabled (sudo apt-get install ssh-server)
  • User has root privileges
  • Basic familiarity with using the Linux command line (terminal)


Step 1 - Get root access and update repository

sudo su
apt-get update

Step 2 - Install PIP and Virtualenv

apt-get install python-pip python-virtualenv vim -y

STEP 3: Install mysql server - Will be prompted for mysql root password

apt-get install mysql-server libmysqlclient-dev python-dev build-essential -y

STEP 4: Install apache2

apt-get install apache2 libapache2-mod-wsgi -y

STEP 5: Configure database. Will be prompted for password

mysql -u root -p
Enter password:
mysql> create database django;
mysql> GRANT ALL ON django.* TO django@'%' IDENTIFIED BY 'django';
mysql> quit

STEP 6: Create a virtual environment and activate it

cd /var/www/html
virtualenv projects
cd projects/
. bin/activate

STEP 7: Install Django and mysql lib

pip install django
pip install mysql-python

STEP 8: Create a django project

django-admin startproject webapps
cd webapps
python -c "import django; print(django.get_version())"

Your output should say 1.7.1

STEP 9: Start the built-in web server

python runserver

STEP 10: Navigate to the web browser and check your installation


Congratulation!! You have successfully installed Django 1.7.1. In part 2 of this tutorial we will cover how to configure Django with Apache and MySQL



Post a Comment

Popular posts from this blog

Installing Zurmo on Ubuntu Sever 14.10

Introduction Zurmo is an Open Source Customer Relationship Management (CRM) application that is mobile, social, and gamified. It can be used to: Create and Track Project progress Create Customer Accounts Tasks - Associate Tasks to Accounts and/or Projects Customize fields of Tasks, Accounts etc. Generate Reports etc. Objective The final objective is to install Zurmo 2.8.5 on Ubuntu Server 14.10 Assumptions Fresh Install of Ubuntu Server 14.10 SSH enabled (sudo apt-get install ssh-server) User has sudo or root privileges Step 1: Install the Apache Webserver sudo apt-get install apache2 -y Step 2: Install MySQL Server sudo apt-get install mysql-server -y Step 3: Install PHP5 sudo apt-get install php5 -y sudo apt-get install php5-mysql -y sudo apt-get install php5-memcache -y sudo apt-get install php5-curl -y sudo apt-get install php-apc -y sudo apt-get install php-soap -y sudo apt-get install php5-imap -

Traefik Install and configuration - Part 1

Introduction In this tutorial we are going to install and configure Traefik Proxy . As quoted on their website "Traefik is a leading modern reverse proxy and load balancer that makes deploying microservices easy. Traefik integrates with your existing infrastructure components and configures itself automatically and dynamically." All our applications will be front-ended by traefik. Objective The core objective for this tutorial is to: Configure an A record in our DNS server (pfsesne firewall) to point to our traefik proxy Configure and install Traefik in docker Configure and install two http based applications ( homer and heimdall ) in docker that will be accessed via traefik Topology The above image represents our topology. Our pfsense firewall is connected directly to the Internet and is NAT'ing all traffic from the internal network to the outside world. We have a single LAN segment ( defined on pfsense and we have the following two PC's connected d