UNISIA-SE Tech Blog

気まぐれお勉強日記

[4] Python、Djangoインストール + Django起動確認

1. 前提条件


▼ 以下の環境下であることが前提。
・OS:CentOS7.4
・ドメイン:example.com

※「次ページ」以降の下記ページは、この環境を作ることを目的とした関連記事。
[1] VPS契約とCentOSインストール + 初期設定 [2] CentOS7にApacheインストール + アクセス周りの設定[3] Let's EncryptのSSL/TLS導入と定期更新[5] Apache + Django + PostgreSQLで本番環境を構築 (インストール編)
[6] Apache + Django + PostgreSQLで本番環境を構築 (設定編))

2. インストール準備


▼ 開発パッケージのインストール
開発に必要なパッケージをインストールする。

$ yum -y install epel-release

▼ IUSリポジトリの追加
Pythonの最新アップストリームバージョンを提供するリポジトリ。
IUSリポジトリ経由 でPythonの最新バージョンをインストールできるようにする。

$ yum -y install https://centos7.iuscommunity.org/ius-release.rpm

3. Pythonインストール


▼ Python3.6のインストール
python36upython36u-devel をインストールする。

$ yum -y install python36u
$ yum -y install python36u-pip python36u-devel

▼ インストール / バージョン確認
※ Python バージョン 3.6.4

$ python3.6 -V
 Python 3.6.4

4. Djangoインストール


▼ venvで仮想環境を構築
Pythonの仮想環境を作成するパッケージは、他にも virtualenvanacondapyenvpyenv-virtualenv など多数あるが、ここでは、Python3 から標準搭載されている venv を使用する。

vopsは、仮想環境が入るディレクトリ名なので各自の環境に合わせること。

$ python3.6 -m venv /var/www/vops

▼ 仮想環境上にDjangoをインストール
pipDjango をインストールする。

$ source /var/www/vops/bin/activate # 仮想環境起動
$ pip install django # djangoインストール

▼ Djangoプロジェクトの雛形作成
ops は、プロジェクト名なので、各自の環境に合わせること。

$ django-admin startproject /var/www/vops/ops

5. データベース、アクセス周りの設定


▼ データベース作成
※ 後にPostgresSQLに切替るが、一旦 Django起動確認のために標準のsqliteで作成する。

$ /var/www/vops/ops/manage.py makemigrations
$ /var/www/vops/ops/manage.py migrate
$ chmod 664 /var/www/vops/ops/db.sqlite3

▼ スーパーユーザーの作成
Django管理サイトの管理者を作成する。

$ /var/www/vops/ops/manage.py createsuperuser

▼ staticファイルの設定、収集
settings.pySTATIC_ROOT を定義する。
collectstatic により、このパスへ静的ファイルが収集される。

$ vim /var/www/vops/ops/ops/settings.py
 # STATIC_ROOT = os.path.join(BASE_DIR, "static/") ← この行を追記
$ /var/www/vops/ops/manage.py collectstatic

▼ Djangoのポートを解放
Djangoで使用するポートを解放する。
※ ここでは開発用として8080を解放する。

# firewall-cmd --permanent --add-port=8080/tcp
# firewall-cmd --reload

▼ プロジェクトのドメイン設定
settings.pyALLOWED_HOST にドメインを設定する。

$ vim /var/www/vops/ops/ops/settings.py
 # STATIC_ROOT = os.path.join(BASE_DIR, "static/") ← この行を追記
$ /var/www/vops/ops/manage.py collectstatic

settings.pySTATIC_ROOT を定義する。
※ collectstaticにより、このパスへ静的ファイルが収集されるようになる。

$ vim /var/www/vops/ops/ops/settings.py 
 # ALLOWED_HOSTS = ['example.com']を指定する。

6. Django起動確認


▼ 下記、manage.pyrunserver コマンドでDjangoを起動する。

$ /var/www/vops/ops/manage.py runserver example.com:8080

runserver コマンド実行後、「http://example.com:8080」にアクセスし、ロケットが離陸している画像が表示されれば正常にDjangoが起動している。

runserver は、開発モードでの起動であることに注意。

以上。

前ページ:[3] Let's EncryptのSSL/TLS導入と定期更新
次ページ:[5] Apache + Django + PostgreSQLで本番環境を構築 (インストール編)

Copyright UNISIA-SE All Rights Reserved.
s-hama@unisia-se.jp