A Summary for preparing a Linux Web Server to host Web Applications
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Preparing a baseline installation of a Linux server to host web applications and securing it from a number of attack vectors. The prepation includes installation and configuration of a database server and deployment of a python flask web application.

This project is for completion of Udacity's Full-Stack Web Developer Nanodegree.

Server info

  • IP Address:
  • SSH Port: 2200

Software Installed

  • OS: Ubuntu 16.04
  • Database MS: PostgreSQL, SQLite.
  • Apcahe2
  • mod_wsgi
  • Python 2.7


  • Blocking the remote access for the root user
  • Configuring the Uncomplicated Firewall (UFW) to only allow incoming connections for SSH (port 2200), HTTP (port 80), and NTP (port 123).
  • Forcing Key-pair Authentication