revised: 05-Sep-2023
Prerequisites: Basic Server (Ubuntu22.04 64bit) with Webmin, FTP, Firewall and Fail2Ban: a server linked with a domain name (eg. example.com)
For a National Office or a Local Assembly seeking a more complex, adaptable website with the option to have a mail-form within and possibly including a Google map link, then Flask (a python-based environment) offers significant potential and ease.
As with the BasicSite, the setup proposed here is to have the Flask website up and running first on the PC then to have the same site established on the server (running iRedmail/Nginx) with the two sites synchronized via FTP (eg. FileZilla)
Part A: Creating the Python/Flask Environment on the PC
Step01: Install Python on a PC (Windows)
As Python 2 has become outdated, it is recommended to install the version 3 of Python (currently at version 3.10) by following this link: how-to-install-python-on-windowsStep02 Install Flask
Check to update pip and install Flask, using these commands via 'PowerShell'[Win10] or in Win 7+, typing in 'cmd' after opening the Windows Start button.Step03 Create a 'Scripts' folder as a sub-directory of 'Documents' and add there a folder called 'myapp'. Open a new file in a text editor (eg. Notepad++), copy & paste this text ( myproject.py) within and save it in the 'myapp' folder as 'project.py'
Open the console (via 'PowerShell'[Win10] or in Win 7+, typing in 'cmd')and enter these commands:
Enter in the browser, type in this url: localhost:5000 (eg. http://localhost:5000), the result should 'Hello there!' in red letters. Type in the console: 'ctl'+c to exit.
Download the 3-page Flask Website and unzip in the 'Scripts' folder and do the following:
Step04(Optional) Site with Email Contact Form
Where the website associated with a mailserver (eg. using iRedmail), then there is the option to add the following extensions:
Download the enhanced 3-page Flask Website and unzip in the 'Scripts' folder and redo the above
Flask | Flask-PartB |
Flask-PartC | Flask-PartD |