Apacheのダウンロードサイト(https://www.apachelounge.com/download/)にアクセスします
最新版のApache(画像ではX.X.XX)をダウンロードします。
OSが64ビット版なら
httpd-X.X.XX-win64-VS16.zip
OSが32ビット版なら
httpd-X.X.XX-win32-VS16.zip
をリンクからダウンロードしてください
Apacheのパスを環境変数に設定して、容易に利用できるようにします。以下はWindows10での設定方法です
「コントロールパネル」→「システム」をクリックしシステムのプロパティを表示します。
「システムの詳細設定」を開き、詳細設定タブを表示します。
「環境変数(N)…」ボタンをクリックします。
システム環境変数を設定します。システム環境変数側の「Path」変数を選択し、「編集(I)…」ボタンをクリックします。
「新規(N)」ボタンをクリックし、以下の値を新しい行で追加してください
C:\Apache24\bin
設定後、「OK」ボタンをクリックし画面を閉じます。
mod_wsgiはPythonのプログラムをApache上で動作させるためのモジュール、今回はこちらをインストールします
インストール方法
mod_wsgiはpipコマンドでインストールが可能、下記のコマンドを実行します
#pip install mod_wsgi
正常にインストール出来ない場合は下記を確認してください
・ApacheのフォルダをC:の直下に展開しているか?
mod_wsgiのインストールに成功したら、以下のコマンドを実行します
mod_wsgi-express module-config
すると、以下のような内容の結果が3行分出力されるはずです
LoadFile "c:/users/user/appdata/local/programs/python/python38/python38.dll"
LoadModule wsgi_module "c:/users/user/appdata/local/programs/python/python38/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd"
WSGIPythonHome "c:/users/user/appdata/local/programs/python/python38"
その結果をすべてコピーして、C:\Apache24\conf 内のhttpd.confファイルの末尾に追記します
ここまででApacheの事前準備は整いました。
バーチャルホストを利用して、Apacheで特定のURLに接続したときに、mod_wsgiを利用してPythonのファイルを読み込むように設定します
C:\Apache24\conf 内のhttpd.confに以下の内容を記載します
ServerName localhost
DocumentRoot Flaskの作業ディレクトリ
WSGIScriptAlias /top Pythonのスクリプトファイル
Require all granted
設定が完了したら、Apacheサーバーを(再)起動します
httpd
サーバー起動後に、http://localhost:80/top にアクセスして、指定したPythonのファイルが実行されれば成功です
ここで仮想ホスティングを利用し、ポート80で来る全アクセスは対象の仮想ホスティングで処理するように設定しています
ServerName localhost
対象サーバーのサーバー名を指定しています、この場合はlocalhostとしてサーバーが立てられます
WSGIScriptAlias /top Pythonのスクリプトファイル
指定されたURLとPythonスクリプトの紐づきを指定します
/topがアクセスの来るパスの指定となり、/topにアクセスが来たら指定したPythonスクリプトを実行します