dimak1 / udacity-fsnd-project6

Project 6 - Linux Server Configuration - Full Stack Web Developer ND Program

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linux Server Configuration

Sixth project from Udacity's Full-Stack Web Developer Nanodegree Program.

About

In this project I configured Linux server hosted on AWS and deployed my User Management App created in Project 4.

Server Info

  • Virtual Server: Amazon Lightsail
  • Public IP: 34.215.251.86
  • SSH Port: 2200
  • Live no more...

NOTE: Below is summary of steps taken to configure the server. Check References section for details.

High-Level Steps

  1. Create new user, generate public key and login into server
  2. Give new user permissions to sudo
  3. Update packages and install needed for the project
  4. Configure firewall
  5. Install git and clone app that will be deployed
  6. Ensure git folder is not accessible via web server
  7. Update code with correct paths
  8. Install PostgreSQL and add user/database
  9. Setup and configure virtual environment
  10. Configure virtual host with Amazon's servername
  11. In Google's App, update 'Authorized JavaScript origins' with Amazon's url
  12. Restart apache server and check if app is live

Installed Packages

  • apache2
  • git
  • libapache2-mod-wsgi
  • PostgreSQL
  • python3

Firewall Configuration

Allow incoming connections for SSH (Port 2200), HTTP (Port 80), and NTP (Port 123)

$ sudo ufw allow 2200/tcp
$ sudo ufw allow 80/tcp
$ sudo ufw allow 123/udp
$ sudo ufw enable

References

About

Project 6 - Linux Server Configuration - Full Stack Web Developer ND Program