This readme covers linux server configuration process for the final project of Udacity's Full Stack Nanodegree.
IP address: 18.217.92.66
SSH Port: 2200
URL: http://ec2-18-217-92-66.us-east-2.compute.amazonaws.com/
To access the site, simply visit http://18.217.92.66
or http://ec2-18-217-92-66.us-east-2.compute.amazonaws.com/
in your preferred browser. The app utilizes Google oauth, so a google account is necessary to create/update/delete within the app.
ssh grader@18.217.92.66 -p 2200 -i <location of private key pasted in "Notes to Reviewer">
Configurations:
-Update packages
-Disable remote login to root
-Change SSH Port from 22 to 2200
-Configure UFW to only allow connections via SSH (port 2200), HTTP (port 80), and NTP (port 123)
-Create new user `grader`
-Grant `sudo` permission to `grader`
-Create SSH key pair via `ssh-keygen` for `grader` and add public key to server
-Set timezone to UTC
-Install Apache
-Install/Enable mod_wsgi applications for Python3
-Install/setup PostgreSQL DB
-Create postgresql `catalog` user with limited permissions
-Confirm remote connections are not enabled
-Install git for catalog app deployment
-Clone item catalog project from github
-Add catalog.conf file to serve app
-Install py dependencies view virtualenv
-Modify project to work with PostgreSQL instead of SQLite, and function as a wsgi app
Installations:
-apache2
-libapache2-mod-wsgi-py3
-flask (via pip/python3)
-sqlalchemy (via pip/python3)
-oauth2client (via pip/python3)
-virtualenv (via pip/python3)
-ntp
During the configuration process I utilized Udacity's forums, as well as documentation/direct tutorials (i.e. apache, ubuntu, digitalocean).