i-mw / linux-server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linux Server Deployment

Linux server deployment is the last project at Udacity's full-stack nanodegree.

The goal of the project is to deploy a project to a linux server and to protect the server.

Instructions to access the server

Use bash's ssh command line to access the remote machine according to this syntax:

ssh <user_name>@<ip_address> -p <port> -i <private_key>
  • user_name: grader

  • ip_address : 18.184.94.109

  • port: 2200

  • private_key: messaged privately

  • Url of the app: http://18.184.94.109.xip.io

N.b. to view the app in the browser, use the url and not the ip, as Google's requires a hostname for Oauth to work on the website.

Installed Software

  • Apache2
  • SQLite3
  • mod-wsgi for python3
  • pip3
  • finger

Third Party Resources

  • flask
  • requests
  • sqlalchemy
  • oauth2client
  • Google's OAuth

Configuration Changes made

  • Set and enable the firewall to allow only connections over 80, 2200 and 123 ports
  • create grader user
  • give him sudo access
  • restrict access to ssh keys
  • disable root access
  • configure timezone
  • install and update required software
  • deploy the project's code
  • connect wsgi file to project's code
  • change all project's files owner and group to www-data and no one else has permissions.

About