おいも貴婦人ブログ

生物系博士課程満期退学をしたAIエンジニアのブログ。

Django-zinnia-blogを使ってブログを作ろう。

この記事では、Django-zinnia-blogをテストサーバーを使ってテストするまでの過程を調べ紹介しています。本番のサーバーでデプロイする際は、さらに設定が必要となるのでご留意ください。また、この記事は、私の環境(Mac OS X,Xcodeをインストール済み)で行っております。

テスト環境を整える。

テストのために、さくらVPSなどを借りるのも馬鹿らしい、ましてや買うのも馬鹿らしいので仮想環境を用意しましょう。もちろん、いずれは本願環境のサーバーが必要になります。仮想環境を用意するために、virtualboxvagrantをインストールしましょう。

virtualboxのインストール

まずは以下のサイトでvirtualboxを環境に合わせてダウンロードします。(私の場合はOS X)
Downloads – Oracle VM VirtualBox
dmgをダウンロードすれば、クリックだけでインストールできるので問題はないでしょう。

vagrantのインストール

そもそもvagrantとは何か?簡単に言えば、コマンドライン上だけの仮想環境です。vagrantを使えば、皆さんが一度はやってみたい以下のコマンドを実行しても問題ありません。

sudo rm -f /*

さて、インストールを行いましょう。
Download Old Vagrant Version - Vagrant
へ行って、自分の環境にあった実行ファイルをダウンロードしましょう。あとは、virtualbox同様に適当にクリックをしてもらえればインストールできると思います。

テスト環境を構築する。(vagrantを使って、テスト環境を作る)

vagrantの日本語ドキュメントがありますので、詳しいことを知りたい方は参照ください。
Vagrant日本語ドキュメント
以下、手順を踏んで説明します。

  1. お試しディレクトリの作成
mkdir ~/test
cd test

以下のサイトへ行き、好きなOSを選んでください。
OS名の横に記載さているURLをコピーしてください。(ここではCentOS6.5を選択)
A list of base boxes for Vagrant - Vagrantbox.es

vagrant box add https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box centos65
vagrant init centos65

testディレクトリ内にVagrantfileがありますので、そのファイルの中の以下の行のコメントアウトを戻してください

config.vm.network "private_network", ip: "192.168.33.10"

これで、192.168.33.11のIPが自分のパソコンからのみアクセスすることができます。

vagrant up

を実行すると、CentOS6.5を基にした環境が構築されます。以下、vagrantに関するコマンドの補足です。

vagrant destroy
vagrant halt
vagrant ssh

不具合などが生じた場合、destroyしちゃって構いません。そのときはvagrant init centos65を実行していただくと、真っさらの仮想環境が構築されます。

Django-zinnia-blogのインストール

pythonの仮想環境を整える。

仮想環境にログインをしましょう。~/test内で以下のコマンドを実行すると仮想環境にログインできます。

vagrant ssh

以下、仮想環境でのコマンドには、行頭に[vm]を付けます。
適当に必要なものをyumでインストールしましょう。

yum install gcc make git emacs python-setuptools gcc-c++ kernel-devel make openssl-devel sqlite-devel bzip2-devel expat-devel gdbm-devel readline-devel wget python-imaging

Django-zinnia-blogを使うためにはpython2.7以上が必要となります。しかし、CentOSに入っているPythonはpython2.6のため、2.7のインストールが必要です。てことで以下からソースをダウンロードしインストールしましょう。

wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar zxvf Python-2.7.9.tgz
cd Python-2.7.9
./configure
make
make install

で、pipのインストール

[vm]easy_install pip

pipを使って、virtualenvをインストール

[vm]pip install virtualenv

virtualenvを使ってpythonのパッケージをインストール

[vm]mkdir ~/vp27
[vm]virtualenv --python=/usr/local/bin/python2.7 vp27
[vm]source ~/vp27/bin/activate

次にzinnia-blogに必要なパッケージをインストール。以下を参考にして
Installation — Django Blog Zinnia 0.15.2.dev0 documentation

[vm](vp27)pip install django django-mptt django-tagging beautifulsoup4 mots-vides django-contrib-comments pytz pyparsing django-xmlrpc Pillow django-blog-zinnia

Django-zinniaのセットアップ

プロジェクトを作成する。

django-admin.py startproject blog 

settings.pyとurls.pyを設定する。

~/blog/blog/settings.pyのINSTALLED_APPSの前に以下を追記

SITE_ID=1

INSTALLED_APPS内に以下を追記(タプルになっている)

    'django.contrib.sites',
    'django_comments',
    'mptt',
    'tagging',
    'zinnia',

urls.pyのurlpatternsに以下を追記(リストになっている)

    url(r'^weblog/', include('zinnia.urls', namespace='zinnia')),
    url(r'^comments/', include('django_comments.urls')),

次にzinniaアプリのためにデータベースを作成

./mange.py migrate

問題なければ

./manage.py runserver 0.0.0.0:8080

ブラウザから192.168.33.10:8080/weblog/にアクセスするとzinnia-blogが作成されていることを確認することができる。

...ここまで来て、Apacheのインストールを忘れていることに気付く...。