XREAへのflask環境作成

無料ssl設定

XREA新コントロールパネルで【サイト設定】サイト名【sub】のボタンをクリック

subドメインの表示がされたら、【サイト設定の変更】ボタンをクリック

【サイト設定の変更】ページが表示されたら、SSLの項目で【無料SSL】のラジオボタンをクリック

【サイト設定を変更する】ボタンをクリック

20分程放置したら、https://【サブドメイン名】でアクセスできるか確認。

uvはpublic_htmlフォルダ内で作成

.htaccessとapp.pyは【サブドメイン名】フォルダ内に作成する

uvのインストール


# 1. uvをインストール(自分のディレクトリにバイナリを置く)
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.cargo/env
export PATH="$HOME/.local/bin:$PATH"

# 2. uvを使って新しいPythonをインストールしてみる
uv venv flask_env python install 3.12
source .venv/bin/activate
uv pip install flask

.htaccessの記述


Options +ExecCGI
AddHandler cgi-script .py
RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /app.py [QSA,L]

app.pyの記述


#!/virtual/【ユーザ名】/.local/share/uv/python/cpython-3.12.13-linux-x86_64-gnu/bin/python3.12
# -*- coding: utf-8 -*-
import sys
import os

sys.path.append("/virtual/【ユーザ名】/public_html/.venv/lib/python3.12/site-packages")
from flask import Flask
from wsgiref.handlers import CGIHandler

app = Flask(__name__)

@app.route('/')
def hello():
	return render_template('top.html')

if __name__ == '__main__':
	CGIHandler().run(app)

なお、.htaccessのパーミッションは644とapp.pyとtemplatesフォルダ及び内部の*.htmlは755のパーミッションとする