#Linux Server Configuration
Linux Distribution on a virtual machine.
This is in fulfillment for a project in the Fullstack Nanodegree. I have configured a remote server to deploy a previous project in the Nanodegree, the Shared Library Project.
The ip address is : 35.162.17.201
SSH port is : 2200
The complete url is either http://35.162.17.201 or http://ec2-35-162-17-201.us-west-2.compute.amazonaws.com
- created a new user 'grader' with the ability to sudo
- disabled root login
- updated all packages
- changed the ssh port from
22
to2200
- configured the UFW to deny incoming connections
- configured the UFW to allow incoming connections from SSH, HTTP and NTP
- configured timezone to UTC
- installed and configured Apache to serve mod-wsgi app
- installed and configured Postgresql
- installed git
Other software installed:
- sudo pip install httplib2
- sudo pip install requests
- sudo pip oauth2client
- sudo pip install sqlalchemy
- sudo apt-get install python-psycopg2
I then cloned my project's repository and moved the files to the correct directory, with help from Digital Ocean
I used this Digital Ocean Reference on how to deploy a flask application to guide me.
I made the .git directory inaccessible by editing the .htaccess
file, guided by the second answer on this Stack Overflow post.
Converting from sqlite to postgresql was done by looking it up in the sqlalchemy docs. Changing the database setup was done following steps in Ellis Enobun's project readme, section J. His project readme is amazingly well detailed and was a great reference point for me.
Besides the links listed above, I used the Udacity forums a lot when I was stuck, this forum post on permission denied publickey was very helpful.