mirror of
https://github.com/FAUSheppy/jeffrey_miller_flask_ftp
synced 2025-12-10 04:48:34 +01:00
44 lines
1.2 KiB
Markdown
44 lines
1.2 KiB
Markdown
# Local Requirements
|
|
## setup.sh
|
|
|
|
- ssh
|
|
- rsync
|
|
|
|
## AWS
|
|
|
|
- awscli
|
|
|
|
# Remote Requirements
|
|
## Packages (APT)
|
|
|
|
- vsftpd
|
|
- python3
|
|
- pip
|
|
|
|
## Python Requirements
|
|
|
|
- flask
|
|
- flask-sqlalchemy
|
|
- waitress
|
|
|
|
## Setup-Script
|
|
|
|
./setup.sh TARGET_IP_OR_DNS
|
|
|
|
The start script (*setup.sh*) performs the following task in this order:
|
|
|
|
- run apt update and install relevant packages (CMD\_APT)
|
|
- install the python packages via the python package manager pip (CMD\_PIP)
|
|
- add a user for flask to run as (CMD\_FLASK\_USER)
|
|
- add sudoers lines to allow flask user to add and delete users (CMD\_SUDOERS\_ADD/DEL)
|
|
- transfer the web-server files (rsync)
|
|
- change FTP configuration to allow writes (CMD\_SET\_FTP\_WRITE\_YES)
|
|
- restart the FTP to apply the new configuration server (CMD\_RESTART\_FTP)
|
|
- lock out any ssh but root just to be safe (CMD\_LOCK\_SSH)
|
|
|
|
# AWS
|
|
|
|
- create a keypair called *"flask-ftp"* or change the value of *"KeyName"* in *aws/template.yml* to an existing key pair (see "AWS Network & Security -> Key Pairs" for details)
|
|
- create a new stack (CloudFormation -> Stacks -> Create Stack) and upload the template (*aws/template.yml*)
|
|
- goto Instances, select Security and click the security group, add inbound for the ports you want to use (e.g. 80, 443 or 5000)
|