Python
Django
vagrant

5分でできるVagrantでDjangoの環境構築

More than 3 years have passed since last update.

Webアプリケーションの開発をする方法としてフレームワークを使用する方法があります。フレームワークには色々とありますが今回はPythonで開発ができるDjangoを使用します。また、開発環境の構築方法としてテスト用のローカルの環境を作りたいのでVagrantを使用して作成します。

Vagrantのセットアップ

Vagrantの初期化と起動

今回はゲストOSとしてUbuntuを使用します。Vagrantのインストールは事前にしておいてください。また、VMとしてVirtualBoxを使用しています。

また、vagrantのboxとしては”hashicorp/precise64”を使用しています。Vagrantのboxに入っていない場合には次のコマンドによりVagrantのboxに追加をしておいてください。

$ vagrant box add hashicorp/precise64

Vagrantを実行する際には適当なフォルダを作成して、その中で実行するのが良いでしょう。ここでは、~/Vagrant/Djangoというフォルダを作りそこで実行しています。

$ mkdir -p ~/Vagrant/Django
$ cd ~/Vagrant/Django
$ vagrant init hasjicorp/precise64

できたVagrantファイルの設定を変更します。ここではlocalhost(127.0.0.1)のポート12345でDjangoにアクセスするようにします。
適当なエディタでVagrantfileを開きます。

$ vim Vagrantfile

ファイル内に以下の内容を追加します。

config.vm.network "forwarded_port", guest: 8000, host: 12345

設定した条件でVagrantを起動します。

$ vagrant up

起動したVM内に入ります。

$ vagrant ssh

Djangoのインストールと起動

起動したVM上にDjangoをインストールします。

まずpipをインストールします。pipはPythonで書かれたパッケージソフトウェアをインストール・管理するためのパッケージ管理システムです。これを使うことにより、簡単にDjangoをインストールすることができるようになります。

vagrant@precise64:~$ sudo apt-get install python-pip

pipによりDjangoをインストールします。その後、django-admin.pyを使ってプロジェクトを作成します。

vagrant@precise64:~$ sudo pip install Django
vagrant@precise64:~$ sudo django-admin.py startproject spam

DBのマイグレードを行いサーバを動かします。Djangoはポート8000で動作していますが、ホスト側からはVagrantで設定した127.0.0.1:12345からアクセスすることになります。

vagrant@precise64:~$ cd spam/
vagrant@precise64:~/spam$ sudo python manage.py migrate
vagrant@precise64:~/spam$ sudo python manage.py runserver 0.0.0.0:8000

起動後にVagrantファイルで事前に設定したローカルホスト(127.0.0.1:12345)にアクセスすることで、Djangoが動作していることがわかります。

Welcome_to_Django_と_Welcome_to_Django.png