# 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 #