Pythonを使ったオープンソースのCMS「Mazzanine」を導入する手順

オープンソースのCMSで有名なのはPHPで作られたWordPressですが、Pythonを使ったMazzanineというCMSもあります。

MazzanineはWordPressを意識して作られており、WordPressよりも機能が豊富なのが特徴です。

今回はそんなMazzanineを導入手順を紹介します。

 

Mazzanineの導入

MazannineはPythonのフレームワークであるDjangoを使って開発されており、導入前にあらかじめ環境を作っておく必要があります。

今回はLinuxにPython3.6をインストールした環境でやっていきます。

 

環境構築

Pythonが使えるように環境構築から始めていきましょう。

まずはPython3.6をインストールします。

$ sudo yum install python36-devel python36-libs python36-setuptools

 

次にpipをインストールします。

$ sudo /usr/bin/easy_install-3.6 pip

 

pipからMazzanineをインストールします。

$ sudo pip3 install mezzanine

 

Mazzanineのmazzanine-projectコマンドを使ってプロジェクトを作成します。プロジェクト名は任意で決めることができますが、今回はhatenaという名前にします。

$ mezzanine-project hatena

 

作成したディレクトリに移動し、データベースを構築していきます。

デフォルトではデータベースはSQLiteとなっています。設定を変更すればMySQLなどを使うこともできます。

cd hatena
$ python3 manage.py createdb --noinput

 

これで一通り作業は完了です。8000番ポートでサーバーを起動してみます。

localhostで起動したい場合は0.0.0.0:8000を省略してください。省略した場合はデフォルトではlocalhostでしかページが閲覧できなくなるので注意してください。

$ python3 manage.py runserver 0.0.0.0:8000

 

起動に成功すると大きな丸にMAZZANINEと書いてあるなんかすごい画面が出てきます。

ブラウザからアクセスできるようになったので、早速アクセスしてみましょう。

と言いたいところですが、おそらくこのままだとエラーが出ると思います。

「Disallowebhost at /」と表示されていたらホスト名が許可されていないということです。

その場合、プロジェクト内のsettings.pyを以下のように設定してmezzanineを再起動しましょう。

ALLOWED_HOSTS = ['サーバーの IPアドレス']

 

そうしたらもう一度ブラウザからアクセスしてみてください。

Congratulations!という画面が表示されれば成功です。/adminで管理画面を確認することができます。

デフォルトではユーザー名はadmin、パスワードはdefaultとなっています。

管理画面にログインするとわかりますが、かなりWordPressに似ていますね。

 

日本語化する

英語のままだとわかりにくいので、日本語化していきます。

settings.pyを以下のように書き換えてmezzanineを再起動します。

LANGUAGE_CODE = "ja"
LANGUAGES = (
    ('ja', _('Japanese')),
)
TIME_ZONE = 'Asia/Tokyo'
SE_I18N = True

 

すると管理画面含め日本語になっているのが確認できると思います。

 

また、MazzanineもWordPressのようにテーマやプラグインがたくさんあります。テーマはプロジェクト配下のディレクトリに配置した後、settings.pyのINSTALLED_APPSとして登録する必要があります。

 

最後に

MazzanineはWordPressと比べると導入のハードルが高く、プラグインやテーマの豊富さでも劣っています。また、日本語の情報も少ないので調べてもあまり情報が出てこないです。

ただ、Pythonで作られているのでプラグインもPythonで書くことができるし、カスタマイズもPythonで行うことができます。

Pythonの勉強の一環として導入してみるのもいいですし、今後の活躍に期待して色々いじってみるのも面白そうですね。