序章

Djangoは、PythonWebアプリケーションを作成するための強力なフレームワークです。 Djangoのようなフル機能のフレームワークを使用すると、一般的な構造コードを気にすることなく、アプリケーションとサイトをより迅速に稼働させることができます。 フレームワークを使用すると、アプリケーションの固有の部分に焦点を合わせ、ツールに手間のかかる作業を行わせることができます。

このガイドでは、CentOS7サーバーにDjangoをインストールするさまざまな方法を紹介します。 インストール後、サイトの基盤として使用するプロジェクトを開始する方法を簡単に説明します。

EPELリポジトリをインストールする

以下で説明するすべてのインストール方法は、CentOSおよびRedHatのようなディストリビューションのEPELリポジトリに依存しています。 EPELリポジトリには、コアディストリビューションの一部として維持されていない追加のパッケージが含まれていますが、これはかなりまばらです。

EPELリポジトリへのアクセスの構成は、これまでよりも大幅に簡単になりました。 サーバーで、次のように入力して、EPELリポジトリを使用するようにyumを構成できます。

sudo yum install epel-release

これで、EPELリポジトリ内に保持されているすべてのアプリケーションにアクセスできるようになります。

さまざまな方法

ニーズや開発環境の構成方法に応じて、Djangoをインストールする方法はいくつかあります。 これらにはさまざまな利点があり、1つの方法が他の方法よりも特定の状況に適している場合があります。

さまざまな方法のいくつかを以下に示します。

  • パッケージからのグローバルインストール:EPELリポジトリには、従来のyumパッケージマネージャーで簡単にインストールできるDjangoパッケージが含まれています。 これは非常に単純ですが、他の方法ほど柔軟ではありません。 また、リポジトリに含まれているバージョンは、プロジェクトから入手できる公式バージョンよりも遅れている可能性があります。
  • pip を介したグローバルインストール:pipツールは、Pythonパッケージのパッケージマネージャーです。 pipをインストールすると、システムレベルでDjangoを簡単にインストールして、すべてのユーザーが使用できるようになります。 これには、常に最新の安定したリリースが含まれている必要があります。 それでも、グローバルインストールは本質的に柔軟性が低くなります。
  • Virtualenvにpipを介してインストール:Python virtualenvパッケージを使用すると、さまざまなプロジェクト用の自己完結型環境を作成できます。 このテクノロジーを使用すると、大規模なシステムに影響を与えることなく、プロジェクトディレクトリにDjangoをインストールできます。 これにより、プロジェクトごとのカスタマイズとパッケージを簡単に提供できます。 仮想環境は、グローバルにアクセス可能なインストールと比較して、精神的およびプロセスのオーバーヘッドをわずかに追加しますが、最も柔軟性があります。
  • 開発バージョンgitを介したインストール:安定版リリースではなく最新の開発バージョンをインストールする場合は、gitリポジトリからコードを取得する必要があります。 これは最新の機能/修正を取得するために必要であり、グローバルまたはローカルで実行できます。 ただし、開発バージョンには同じ安定性の保証はありません。

上記の注意事項と品質を念頭に置いて、以下の手順からニーズに最適なインストール方法を選択してください。

パッケージからのグローバルインストール

EPELリポジトリを使用してDjangoをインストールする場合、プロセスは非常に簡単です。

yumパッケージマネージャーを使用して、関連するパッケージをダウンロードしてインストールできます。

sudo yum install python-django

次のように入力して、インストールが成功したことをテストできます。

django-admin --version
1.6.10

これは、ソフトウェアが正常にインストールされたことを意味します。 また、Djangoバージョンが最新の安定版ではないことに気付くかもしれません。 ソフトウェアの使用方法について少し学ぶには、サンプルプロジェクトの作成方法をスキップしてください。

pipを介したグローバルインストール

Djangoの最新バージョンをグローバルにインストールする場合は、Pythonパッケージマネージャーであるpipを使用することをお勧めします。 まず、pipパッケージマネージャーをインストールする必要があります。

次のように入力して、EPELリポジトリからpipをインストールできます。

sudo yum install python-pip

pipを入手したら、次のように入力することで、Djangoをグローバルに簡単にインストールできます。

sudo pip install django

次のように入力すると、インストールが成功したことを確認できます。

django-admin --version
1.7.5

ご覧のとおり、pipから入手できるバージョンは、EPELリポジトリから入手できるバージョンよりも最新です(上記とは異なる可能性があります)。

Virtualenvにpipを介してインストールします

おそらく、システムにDjangoをインストールする最も柔軟な方法は、virtualenvツールを使用することです。 このツールを使用すると、システムの他の部分に影響を与えることなく、必要なPythonパッケージをインストールできる仮想Python環境を作成できます。 これにより、他のプロジェクトの要件との競合に関係なく、プロジェクトごとにPythonパッケージを選択できます。

まず、EPELリポジトリからpipをインストールします。

sudo yum install python-pip

pipをインストールしたら、次のように入力してvirtualenvパッケージをインストールできます。

sudo pip install virtualenv

これで、新しいプロジェクトを開始するたびに、そのプロジェクトの仮想環境を作成できます。 新しいプロジェクトディレクトリを作成して移動することから始めます。

mkdir ~/newproject
cd ~/newproject

次に、次のように入力して、プロジェクトディレクトリ内に仮想環境を作成します。

virtualenv newenv

これにより、スタンドアロンバージョンのPythonとpipが、プロジェクトディレクトリ内の分離されたディレクトリ構造にインストールされます。 仮想環境をnewenvと呼ぶことにしましたが、わかりやすい名前を付ける必要があります。 選択した名前でディレクトリが作成され、パッケージがインストールされるファイル階層が保持されます。

分離された環境にパッケージをインストールするには、次のように入力してパッケージをアクティブ化する必要があります。

source newenv/bin/activate

プロンプトは、仮想環境にいることを反映するように変更されます。 (newenv)[email protected]:~/newproject$のようになります。

新しい環境では、pipを使用してDjangoをインストールできます。 ローカルにインストールするため、sudoを使用する必要がないことに注意してください。

pip install django

次のように入力して、インストールを確認できます。

django-admin --version
1.7.5

仮想環境を離れるには、システムのどこからでもdeactivateコマンドを発行する必要があります。

deactivate

プロンプトは従来の表示に戻るはずです。 プロジェクトで再度作業する場合は、プロジェクトディレクトリに戻ってアクティブ化することにより、仮想環境を再度アクティブ化する必要があります。

cd ~/newproject
source newenv/bin/activate

開発バージョンgitを介してインストール

Djangoの開発バージョンが必要な場合は、gitリポジトリからDjangoをダウンロードしてインストールする必要があります。

そのためには、yumを使用してシステムにgitをインストールする必要があります。 pipPythonパッケージマネージャーもインストールします。 ダウンロード後のDjangoのインストールを処理するためにこれを使用します。

sudo yum install git python-pip

gitを入手したら、Djangoリポジトリのクローンを作成できます。 リリース間で、このリポジトリには、安定性を犠牲にして、より最新の機能とバグ修正が含まれるようになります。 次のように入力して、ホームディレクトリ内のdjango-devというディレクトリにリポジトリのクローンを作成できます。

git clone git://github.com/django/django ~/django-dev

リポジトリのクローンが作成されたら、pipを使用してリポジトリをインストールできます。 -eオプションを使用して、バージョン管理からインストールするときに必要な「編集可能」モードでインストールします。

sudo pip install -e ~/django-dev

次のように入力すると、インストールが成功したことを確認できます。

django-admin --version
1.9.dev20150305200340

単一の環境に開発バージョンのDjangoをインストールする場合は、この戦略を上記のvirtualenvの使用と組み合わせることもできることに注意してください。

サンプルプロジェクトの作成

Djangoがインストールされたので、プロジェクトを開始する方法を簡単に説明します。

django-adminコマンドを使用して、プロジェクトを作成できます。

django-admin startproject projectname
cd projectname

これにより、現在のディレクトリ内にprojectnameというディレクトリが作成されます。 この中に、管理スクリプトが作成され、projectnameという別のディレクトリが実際のコードで作成されます。

virtualenvコマンドで使用するために作成したプロジェクトディレクトリに既にいる場合は、管理スクリプトと内部ディレクトリを追加なしで現在のディレクトリに配置するようにDjangoに指示できます。これを入力してレイヤーを作成します(終了ドットに注意してください)。

django-admin startproject projectname .

Djangoの最新バージョンでデータベースをブートストラップするには(これはデフォルトでSQLiteを使用します)、次のように入力できます。

python manage.py migrate

migrateコマンドが機能しない場合は、古いバージョンのDjango(おそらくインストール済み)を使用している可能性があります。 代わりに、次のように入力できます。

python manage.py syncdb

このプロセスの一環として、管理ユーザーを作成するように求められます。 ユーザーのユーザー名、メールアドレス、パスワードを選択します。

上記のmigrateコマンドを使用した場合は、管理ユーザーを手動で作成する必要があります。 次のように入力して、管理ユーザーを作成できます。

python manage.py createsuperuser

ユーザーのユーザー名、電子メールアドレス、およびパスワードの入力を求められます。

ユーザーができたら、Django開発サーバーを起動して、新しいDjangoプロジェクトがどのように見えるかを確認できます。 これは開発目的でのみ使用してください。 走る:

python manage.py runserver 0.0.0.0:8000

サーバーのIPアドレスにアクセスし、続いてWebブラウザーで:8000にアクセスします

server_ip_address:8000

次のようなものが表示されます。

Django public page

次に、URLの末尾に/adminを追加して、管理者ログインページにアクセスします。

server_ip_address:8000/admin

Django admin login

作成した管理者のユーザー名とパスワードを入力すると、サイトの管理者セクションに移動します。

Django admin page

デフォルトサイトの確認が終了したら、ターミナルでCTRL-Cと入力して開発サーバーを停止できます。

作成したDjangoプロジェクトは、より完全なサイトを設計するための構造的な基盤を提供します。 アプリケーションを構築してサイトをカスタマイズする方法の詳細については、Djangoのドキュメントを確認してください。

結論

これで、CentOS 7サーバーにDjangoがインストールされ、強力なWebアプリケーションを作成するために必要な主要なツールが提供されます。 また、新しいプロジェクトを開始して開発者サーバーを起動する方法も知っておく必要があります。 Djangoのような完全なWebフレームワークを活用すると、開発が高速化され、アプリケーションの固有の側面にのみ集中できるようになります。