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が動作していることがわかります。