Python環境の準備
最初に行う必要があるのは、ローカルPython環境をセットアップすることです。このために、Python環境を分離するために一般的に使用されるVirtualEnvを使用します。このチュートリアルでは、アカウントへのSSHアクセスが必要です。これについては<こちら>で説明しています。また、いくつかの場所でアカウントのホームディレクトリを参照し、「%USER%」(引用符なし)を使用してアカウントのユーザー名を参照します。 「%USER%」はすべて、実際のアカウントのユーザー名に置き換えてください。
まず、SSH経由でアカウントにログインします。すでにログインしている場合は、次のように入力して、ホームディレクトリのベースにいることを確認しましょう。
cd ~
次に、ホームディレクトリ(/ home /%USER%/ pyenv)を基準にして、「pyenv」ディレクトリの下にあるローカルPython環境を初期化します。
virtualenv --python=python2.6 pyenvsource pyenv/bin/activate
最後のコマンドの後、プロンプトは少し異なって表示され、Python環境に入ったことを示します。それでは、Djangoをインストールしましょう:
pip install django
最初のDjangoアプリケーションの作成
このチュートリアルに再度アクセスする場合に備えて、アカウントのホームディレクトリに移動しているか、移動していることを確認してください。
cd ~
Djangoをサポートするように環境が設定されたので、最初のDjangoベースのプロジェクトを作成できます。このチュートリアルでは、標準のHelloWorldアプリケーションを作成します。まず、djangoプロジェクトを作成しましょう:
~/pyenv/bin/django-admin.py startproject whyhellothere
そして、アプリケーションのディレクトリに移動します:
cd whyhellothere
次に、アプリケーションディレクトリレイアウトの作成を完了する必要があります:
mkdir publicmkdir tmp
それでは、アプリケーションのビューを作成しましょう:
vi whyhellothere/views.py
このファイル内に、これらのコンテンツを配置して、最初のビューを作成します。
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello World")
次に、ビューをURLに接続する必要があります:
vi whyhellothere/urls.py
このファイルの上部、「from django.conf.urls import pattern、include、url」のすぐ下に、次を追加します。
from whyhellothere.views import hello
次に、ファイルの後半に「url(r'^ admin /'、include(admin.site.urls))」と表示されます。この行のすぐ上に、次を追加します:
url(r'^$', hello),
ファイルを保存して閉じます。次に、静的アセットを適切に提供するように設定する必要があります。次のファイルを開きます。
vi whyhellothere/settings.py
ファイルの下部に、「STATIC_URL ='/ static /'」のような行があります。これを次のように変更する必要があります:
STATIC_URL = '/'
そして、その行のすぐ下に、次を追加します:
STATIC_ROOT = '/home/%USER%/whyhellothere/public/'
ファイルを保存して閉じます。次に、新しいDjangoアプリから静的アセットを「収集」する必要があります。次のコマンドを実行します:
~/pyenv/bin/python manage.py collectstatic
上記でSTATIC_ROOT設定用に指定したディレクトリ内のファイルを置き換えることについて「はい」または「いいえ」の質問を表示する必要があります。 「はい」と入力します。
Passenger用の新しいDjangoアプリのセットアップ
ほぼ完了です。次に、「passenger_wsgi.py」という名前のファイルを作成する必要があります。これは、アプリケーションへのエントリファイルです:
vi "passenger_wsgi.py"
このファイル内に、サーバー上の自分のユーザーの代わりに%USER%を使用する以下のコンテンツを配置します。
import sys, os
virt_binary = "/home/%USER%/pyenv/bin/python"
if sys.executable != virt_binary: os.execl(virt_binary, virt_binary, *sys.argv)
sys.path.append(os.getcwd())
os.environ['DJANGO_SETTINGS_MODULE'] = "whyhellothere.settings"
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
ファイルを保存して閉じます。最後のステップは、アプリケーションをドメインのドキュメントルートに接続することです。これにはディレクトリをシンボリックリンクに置き換えることが含まれるため、ファイルの損失を防ぐためにドキュメントルートは空である必要があることに注意してください。アカウントで他のドメインまたはコンテンツをホストしていて、これをプライマリドメイン用に設定している場合は、最初にドキュメントルートの変更についてサポートに連絡してください。これがアカウントの唯一のドメインであり、他のコンテンツがここでホストされていない場合は、そのまま続行しても安全です。問題のドキュメントルートは「public_html」であると想定しています。別のドキュメントルートのディレクトリを調整してください!
まず、古いディレクトリを削除します:
rm -fr /home/%USER%/public_html
アプリケーションのパブリックフォルダへのシンボリックリンクに置き換えます:
ln -s /home/%USER%/whyhellothere/public /home/%USER%/public_html
ファイルを保存して閉じます。 Webサイトにアクセスしてみると、「HelloWorld」が表示されます。