ホーム >  Python >  VagrantでCentOS7 + Python + Django環境を作る(その1 仮想環境作成)

投稿日:

VagrantでCentOS7 + Python + Django環境を作る(その1 仮想環境作成)

Python

Vagrantを使い、WebフレームワークであるDjangoを使って、Webアプリケーションを作ります。

Djangoとその他のWebフレームワーク

日本でWebアプリケーション開発というと、Ruby on Rails(Ruby)が圧倒的シェアです。PythonでもWebフレームワークがいくつか用意されており、これらのほかにBottle、Pyramid、Tornade、Ploneがあります。その中でも有名で多く使われている2つを紹介します。

Django

Python Webフレームワークとしては最も利用されています。以下の点で優れています。

  • テンプレートエンジンやORM、テスト機能や日本語化機能などを包括している。
  • オールインワン型のWebフレームワーク。
  • Webアプリケーションの管理者用GUIを自動生成してくれる。

デメリットは以下の通りです。

  • 操作する対象ファイルが多い。
  • 学習コストが多い。

Flask

軽量なWebフレームワークで、Djangoの次に人気があります。メリットは以下のとおりです。

  • 軽量。
  • オールインワン型のWebフレームワーク。
  • 少ないファイル構造で構成。
  • 学習コストが低い。
  • データベースを使わない小規模のWebアプリケーションの開発に向いている。

デメリットは以下の通りです。

  • 大規模のWebアプリケーションを作成する場合、他のPythonパッケージを組み合わせる必要がある。

Djangoを使う理由

業務で使うWebアプリケーションを開発する場合は、Djangoを利用することで広範囲の機能をカバーすることができます。初めは苦戦はするかもしれません。しかし、早い段階からDjangoに慣れておくことをお勧めします。Djangoを使えば、モダンなWeb開発プロセスも学ぶことができます。

準備

Vagrantでゲスト環境(仮想環境)を作ります。ゲスト環境の中にDjangoを構築します。その前に、以下の作業を終わらせましょう。

①Virtualboxをインストールします。Virtualboxのインストールまでで結構です。

VirtualBoxをインストールする for Ubuntu

②Vagrantをインストールします。centos7環境を作りますので、Vagrantのインストールのみ済ませてください。

Vagrantをインストールしてテスト環境を作る for Ubuntu

ホスト環境

OS Ubuntu 16.04.1 LTS 64bit
Virtualbox 5.1
Vagrant 1.9.5

ゲスト環境

OS CentOS 7.1.1503
Python 3.6.1
pip 9.0.1
Web フレームワーク Django 1.11.2
データベース MariaDB 5.5.52-1.el7.x86_64
Webサーバ nginx 1.13.2

vagrantでcentos7環境作成

①【ホスト環境】端末を開き、ホームディレクトリから以下の環境を作ります。

mkdir vagrant
cd vagrant
mkdir django_apps
cd django_apps

②【ホスト環境】下記のコマンドでvagrantの設定ファイルを作成します。

vagrant init

lsコマンドを実行すると、下記のようなファイルが作成されます。

ls -l -a
drwxrwxr-x 3 username username 4096  6月 24 18:32 .
drwxrwxr-x 3 username username 4096  6月 24 18:23 ..
drwxrwxr-x 2 username username 4096  6月 24 18:32 .vagrant
-rw-rw-r-- 1 username username 3348  6月 24 18:24 Vagrantfile

③【ホスト環境】Vagrant boxで公開されているCentOS7のイメージをダウンロード・インストールをします。Vagrantbox.es に公開されている「CentOS7のboxファイル」のダウンロードを実施します。

vagrant init

数分後、成功すると下記のような結果が表示されます。

==> box: Successfully added box 'centos70' (v0) for 'virtualbox'!

④【ホスト環境】vagrantfileを編集して、下記のような内容に変更します。

Vagrant.configure(2) do |config|
   config.vm.box = "centos70"
   config.vm.network "private_network", ip: "192.168.33.15"
end

ゲスト環境にDjangoでWebアプリケーションを作成しますが、ホスト環境からhttpアクセスするためのネットワーク設定も追加しています。

⑤【ホスト環境】Vagrantfileで記述した設定で仮想マシンを起動します。(※起動まで数分かかります)

vagrant up

⑥【ホスト環境】正常に仮想マシンが立ち上がったか、下記コマンドで確認します。

vagrant status

正常に立ち上がれば、以下のような結果が表示されます。

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

⑦【ホスト環境】正しく作成されたか、ログインして確認します。

vagrant ssh

正常にログインできれば、以下のような結果が表示されます。

Welcome to your Vagrant-built virtual machine.
[vagrant@localhost ~]$ 

共有が有効か確認

ゲスト環境とホスト環境のフォルダ共有が有効になっているか確認します。デフォルトでは、ゲスト環境の「/vagrant」ディレクトリと、ホスト環境のVagrantfileが設置されたディレクトリが共有されています。共有ディレクトリ「/vagrant」に簡単なファイルを設置して共有できるか確認します。

①【ゲスト環境】vagrantディレクトリに移動します。現在の日時を記述したファイル「date.txt」を作成します。

cd /vagrant/
date >date.txt
cat date.txt

②【ゲスト環境】ファイルの一覧を確認します。

ls -l -a
合計 16
drwxrwxr-x   1 vagrant vagrant 4096  6月 26 04:23 .
dr-xr-xr-x. 18 root    root    4096  6月 26 04:24 ..
drwxrwxr-x   1 vagrant vagrant 4096  6月 26 04:23 .vagrant
-rw-rw-r--   1 vagrant vagrant 3438  6月 26 04:23 Vagrantfile
cat date.txt

③ゲスト環境からログアウトして、今度はホスト環境からlsコマンドを実行します。ホスト環境の「/vagrant」ディレクトリと同じ内容が表示されます。

ls -l -a
合計 16
drwxrwxr-x 3 yiwasaki yiwasaki 4096  6月 26 14:31 .
drwxrwxr-x 3 yiwasaki yiwasaki 4096  6月 24 18:23 ..
drwxrwxr-x 3 yiwasaki yiwasaki 4096  6月 26 13:23 .vagrant
-rw-rw-r-- 1 yiwasaki yiwasaki 3438  6月 26 13:23 Vagrantfile
-rw-rw-r-- 1 yiwasaki yiwasaki   43  6月 26 14:30 date.txt

④【ホスト環境】catコマンドで「date.txt」の中身を確認します。

cat date.txt

ゲスト環境にパッケージのインストール

①【ゲスト環境】CentOSにインストールされている全パッケージを最新にしておきます。

sudo yum update -y

次回

次回は、ゲスト環境(仮想環境)にPythonをインストールします。

VagrantでCentOS7 + Python + Django環境を作る(その2 Pythonとpyenv + virtalenv)

トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告