Django-zinnia-blogを使ってブログを作ろう。
この記事では、Django-zinnia-blogをテストサーバーを使ってテストするまでの過程を調べ紹介しています。本番のサーバーでデプロイする際は、さらに設定が必要となるのでご留意ください。また、この記事は、私の環境(Mac OS X,Xcodeをインストール済み)で行っております。
テスト環境を整える。
テストのために、さくらVPSなどを借りるのも馬鹿らしい、ましてや買うのも馬鹿らしいので仮想環境を用意しましょう。もちろん、いずれは本願環境のサーバーが必要になります。仮想環境を用意するために、virtualboxとvagrantをインストールしましょう。
virtualboxのインストール
まずは以下のサイトでvirtualboxを環境に合わせてダウンロードします。(私の場合はOS X)
Downloads – Oracle VM VirtualBox
dmgをダウンロードすれば、クリックだけでインストールできるので問題はないでしょう。
vagrantのインストール
そもそもvagrantとは何か?簡単に言えば、コマンドライン上だけの仮想環境です。vagrantを使えば、皆さんが一度はやってみたい以下のコマンドを実行しても問題ありません。
sudo rm -f /*
さて、インストールを行いましょう。
Download Old Vagrant Version - Vagrant
へ行って、自分の環境にあった実行ファイルをダウンロードしましょう。あとは、virtualbox同様に適当にクリックをしてもらえればインストールできると思います。
テスト環境を構築する。(vagrantを使って、テスト環境を作る)
vagrantの日本語ドキュメントがありますので、詳しいことを知りたい方は参照ください。
Vagrant日本語ドキュメント
以下、手順を踏んで説明します。
- お試しディレクトリの作成
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のインストールを忘れていることに気付く...。