CentOS7にDjangoWebフレームワークをインストールする方法
序章
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)username@hostname:~/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
をインストールする必要があります。 pip
Pythonパッケージマネージャーもインストールします。 これを使用して、ダウンロード後の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
次のようなものが表示されます。
次に、URLの末尾に/admin
を追加して、管理者ログインページにアクセスします。
server_ip_address:8000/admin
作成した管理者のユーザー名とパスワードを入力すると、サイトの管理者セクションに移動します。
デフォルトサイトの確認が終了したら、ターミナルでCTRL-C
と入力して開発サーバーを停止できます。
作成したDjangoプロジェクトは、より完全なサイトを設計するための構造的な基盤を提供します。 アプリケーションを構築してサイトをカスタマイズする方法の詳細については、Djangoのドキュメントを確認してください。
結論
これで、CentOS 7サーバーにDjangoがインストールされ、強力なWebアプリケーションを作成するために必要な主要なツールが提供されます。 また、新しいプロジェクトを開始して開発者サーバーを起動する方法も知っておく必要があります。 Djangoのような完全なWebフレームワークを活用すると、開発が高速化され、アプリケーションの固有の側面にのみ集中できるようになります。