サーバ側のあれこれを動かすために使う。なくても(他のものでも)作れる
ブラウザに表示するものを作るために使う。基本的に必須。
これは開発環境というかエディタなのでなくてもいいし他のものでもいい。メモ帳でもやれなくはないし(おすすめしないけど)、リッチなIDE入れても良い。
webアプリとして動かすために必要。VPS借りてもいいし、herokuとかでもいい。
ぶっちゃけた本音
初心者がいきなりwebアプリに取り組むのは茨の道なので、プログラミングの基礎、コンピュータの(というかTCP/IPとかクライアント・サーバモデルとかその辺の)仕組みから学んで、どういう手順でやればできるのかわかるようになってからやった方が良い。
ここで手順を聞いても正直あんまり当てにならないし、たかだか数千文字の回答では語り尽くせない。質問文で上がってるタームに限定して「何をどのように使うのか、ざっくり」でもトータルで1万文字は超えると思う。そんなに書いてくれる人は普通はいない。
それでもやるとしたら、手順通りやれば初心者でもwebアプリを作れるという教材は探せばあるので(書籍だったりオンライン学習だったり)、そういうのを探すと良いかもしれない。
あと、Pythonでもwebアプリは作れるけど、それをやろうとすると(日本語の)情報も少なく、初心者にとってはなおさら茨の道。最初は情報が多いものが無難なので、PHPかRubyあたりでやった方が良いはず。でも、どの言語でやるにしてもまず「プログラミング言語」を使いこなしていないとwebをやるのは難しすぎる(エラーが出たときに問題の切り分けができない、どうでもいいところでハマったりする)。