PR

XserverでWordPressとFlaskを共存させる方法【CGIで動かす手順・初心者向け】

3. プログラミング

XserverでWordPressを運用していると、

「同じサーバーでFlaskも動かしたい」
「学習用にPythonのWebアプリ環境を作りたい」

と思うことはありませんか?

本記事では、既存のWordPressをそのまま残しつつ、
同一ドメイン上でFlaskアプリを動かす方法を解説します。
(この記事は「WordPressを消さずにFlaskを動かしたい人」向けです。)

初心者でも実装できるように、フォルダ構成・コード・設定まで具体的に説明します。

結論:XserverではWordPressを残したまま、
Flaskアプリをサブディレクトリに配置することで共存可能です。

本記事ではその具体手順を解説します。

スポンサーリンク

前提条件

本記事は以下の環境を前提としています。

  • XserverでWordPressが動作している
  • FTP接続が可能(FFFTPなど)
  • Python(Flask)の基本が分かる

※XserverはWordPressに強いレンタルサーバーで、安定性・高速性が特徴です

全体の流れ

  1. Flask用のフォルダを作成
  2. 必要なファイルを設置
  3. CGIでFlaskを実行する設定
  4. パーミッション設定
  5. 動作確認

※WordPressとFlaskは同一ドメイン内で併用可能です

Flask用のフォルダを作成

1.FFFTPでサーバーに接続

2.ドメインフォルダ → public_htmlに移動

2.次に「public_html」フォルダをダブルクリックして移動します。

3.任意のフォルダ名を作成(例:flask_folder)

このフォルダがFlaskアプリの公開ディレクトリになります。

必要なファイルの配置

作成したフォルダ内に以下の3つのファイルを配置します。

  • .htaccess
  • index.cgi
  • hello.py

.htaccess

文字コードは「UTF-8」、改行コードは「LF」で保存します。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /flask_folder /index.cgi/$1 [QSA,L]

index.cgi

「xs******」には、XSERVERのサーバーIDを入力します。

「hello」は、サンプルプログラムのファイル名を記入します。

#! /home/xs******/.linuxbrew/bin/python3
from wsgiref.handlers import CGIHandler
from hello import app
CGIHandler().run(app)

hello.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
return 'Hello, World!'

パーミッション設定

以下のように設定します。

  • .htaccess:644
  • index.cgi:755
  • hello.py:644

1.対象のファイルを右クリックし、「属性変更」をクリックします。

2.右下の「現在の属性」に数字を入力し、「OK」をクリックします。

3.上記の手順で、3つのファイルの権限を変更します。

動作確認

以下のURLにアクセスします。

https://あなたのドメイン名/flask_folder/

「Hello World」と表示されれば成功です。

https://saigusalife.com/flask_folder/

よくあるエラー

① 500 Internal Server Error

– index.cgi のパスが間違っている
– パーミッションが755になっていない

② ModuleNotFoundError

– Flaskがインストールされていない
– Pythonのパスが違う

③ 画面が表示されない

– .htaccessのRewrite設定ミス

まとめ

XserverではWordPressを運用しながら、
同一ドメイン内でFlaskアプリを動かすことが可能です。

ポイントは以下の通りです。

– FlaskはCGIとして実行する
– .htaccessでルーティング設定
– パーミッション設定を忘れない

学習用途や簡易Webアプリの公開環境として活用できます。

タイトルとURLをコピーしました