サブドメインでDjango

XServerのサブドメインでDjangoがうまくいった様子。

あっているかどうかわからないが、やったことのメモ。

サブドメインを作成する。(例:djan)

public_html配下にdjanというディレクトリができるので、これをリネームして退避。

ドメインのpublic_htmlにいることを確認。でなければpublic_htmlに移動。

Djangoのプロジェクトをdjanという名前で作成。

django-admin startproject djan

必要ないかもしれないが、仮想環境の作成。(意味ないかもしれない)
もし、意味があったとしても、サブドメインだといりません、とか言われるのかも。

djanに移動して、

python -m venv .venv

.htaccess と index.cgiの設置。 .htaccessは改行キーがLFでないといけないらしい。

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

.htaccessの例だが、1行目はいらないと思う。

次は、index.cgi。accountnameはアカウント名で。

#!/home/accountname/anaconda3/bin/python3
# # encoding: utf-8

import sys, os

sys.path.append("/home/accountname/itsagent.net/public_html/djan/")

os.environ['DJANGO_SETTINGS_MODULE'] = "djan.settings"

from wsgiref.handlers import CGIHandler
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
CGIHandler().run(application)

Shebangを指定する。anaconda3をインストールした場所を書いている。
次は、ここに書いてあるdjan.settingsの設定。

ALLOWED_HOSTS = ['www.djan.itsagent.net','djan.itsagent.net']

許可されるHOSTSにWWWのありなしバージョンを登録しておく。

パーミッション設定を忘れずに。
djanフォルダーはサブドメインを作ったときは711だったので、711とした。
.htaccessは644、index.cgiは755。

djan.itsagent.net

CAT