さくらのレンタルサーバーにPython3.7.2 とDjango2.1.7をインストール

さくらのレンタルサーバー便利ですよね。しかしながらインスタンス借りではないので、標準で提供されてる以外のWebサーバーで運用するのは大変です。基本的にPHPでのWebサービスが想定されているサービスですが、Python3.7.2とDjango2.1.7 Finalをさくらのレンタルサーバー(スタンダードプラン)で動かすことが出来たので、手順メモです。

大きな手順は以下

    1. Python3.Xをコンパイル
    2. PyenvにてDjango実行環境を作成
    3. pipコマンドでDjangoをインストール
    4. Djangoにて新規プロジェクトを開始
    5. CGIファイルを設置しコンフィグファイルを修正
    6. CSSなどのStaticファイルを収集

Python3.Xをコンパイル

# bash
# wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
# cd Python-3.7.2
# ./configure –prefix=~/acountname/python
# make install
#
# ./acountname/python/bin/python3 -V
# Python 3.7.2

PyenvにてDjango実行環境を作成

# ./acountname/python/bin/python3 -m venv ~/acountname/venv-django
# cd acountname/venv-django
# source ./bin/activate

pipコマンドでDjangoをインストール

#(venv-django) pip install django

Djangoにて新規プロジェクトを開始

#(venv-django) django-admin startproject ~/acountname/hogehoge

CGIファイルを設置しコンフィグファイルを修正

#(venv-django) mkdir ~/www/hogehoge
wget https://raw.githubusercontent.com/chibiegg/django-cgi/master/django-python3.cgi
# vi django-python3.cgi

#!/home/acountname/venv-django/bin/python #インストールしたpython環境のパス
sys.path.append(“/home/acountname/venv-django/lib/python3.7/site-packages”) #インストールしたpython環境のsite-packagesへのパス
sys.path.append(“/home/acountname/hogehoge”) #インストールしたDjangoプロジェクトフォルダのパス
os.environ[‘DJANGO_SETTINGS_MODULE’] = ‘hogehoge.settings’ #インストールしたDjangoプロジェクトの名前に変更

#(venv-django) cd ~/acountname/hogehoge/
#(venv-django) vi setting.py

ALLOWED_HOSTS = [‘accountname.sakura.ne.jp’]
ROOT_URLCONF = ‘hogehoge.urls’
LANGUAGE_CODE = ‘ja’
TIME_ZONE = ‘Asia/Tokyo’
STATIC_URL = ‘/hogehoge/static/’
STATIC_ROOT = ‘/home/acountname/www/hogehoge/static/’

#(venv-django) cd ~/acountname/hogehoge/
#(venv-django) ./managy.py migrate
#(venv-django) ./managy.py creagesuperuser

CSSなどのStaticファイルを収集

#(venv-django) ./managy.py collectstatic

http://acountname.sakura.ne.jp/hogehoge/django-python3.cgi/admin/ にアクセス

関連ファイルの配置確認
~/acountname/python #インストールしたpython3.7.2
~/acountname/venv-django #インストールしたpython仮想環境
~/acountname/hogehoge #Djangoプロジェクトのルート
~/acountname/www/hogehoge #cgiを設置直接インターネットから叩く場所
~/acountname/www/hogehoge/static #cssなどの静的ファイルを設置

最終的にインターネットにさらされるのは、.cgiのファイルとstaticのみです。

ちなみに、問題なく動作するのですが、叩くたびにpythonのライブラリを全て読み込んでいるのか、なかなか動作は遅いと思いますが、お試し公開サービスぐらいには使えるかと思います。
また、setting.pyを編集すればさくらで提供されているホスティングのMySqlサービスも使用することが出来ます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください