Mezzanineインストール – Python3 + MySQL + Django

Django

Mezzanineインストール – Python3 + MySQL + Django

今回は、Python/Djangoフレームワークを使用したCMS(ワードプレスのようなもの)であるMezzanineのインストール方法をご紹介します。

Mezzanineのインストール方法や使い方もまだまだ日本語の情報は少ないですが
以前に、DJANGOインストール – PYTHON3 + MYSQLでご紹介したDjangoのインストールが完了している方は、これからご紹介するインストール方法ですぐに導入することができます。

 

Mezzanineインストール環境

# cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.2 LTS (Xenial Xerus)"
# cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.2 LTS (Xenial Xerus)"

 

Mezzanineインストール手順概要

インストール手順は、以前ご紹介したDJANGOインストール – PYTHON3 + MYSQLをベースにしてご紹介します。
既に以前の記事で完了している方は、ここでの作業は不要です。

Djangoインストール手順概要の以下を実施

 

Mezzanineインストール

Mezzanineインストール手順を実施

 

MezzanineのMySQL設定

MezzanineのMySQL設定手順を実施

 

Mezzanine動作確認

Mezzanine動作確認手順を実施

 

Mezzanineインストール手順

Mezzanineのインストールと確認

まずは、Mezzanineをインストールした後、しっかりインストールできているか確認してください。

# apt-get -y install python-dev git tree

# pip install mezzanine

# pip freeze|grep -i mezzanine
Mezzanine==4.2.3

Mezzanineプロジェクトの作成

任意のディレクトリ(ここでは、ホームディレクトリ)にMezzanineのプロジェクトを作成し、そこへ移動してください。

# mezzanine-project awesome_mezzanine

# cd awesome_mezzanine
 

MezzanineのMySQL設定手順

Mezzanineの使用データベースとユーザ作成

MySQLに接続して、Mezzanineで使用するデータベースとユーザを作成してください。
その後しっかり、作られているか確認してください。

# mysql -uroot -p

mysql> create database awesome_mezzanine;

mysql> GRANT ALL ON awesome_mezzanine.* TO mezzanine@localhost IDENTIFIED BY 'mezzanine';

mysql> exit

# mysql -uroot -p -e "SELECT user,host FROM mysql.user;"|grep -i mezzanine
Enter password:
mezzanine       localhost

# mysql -uroot -p -e "show grants for mezzanine@localhost;"
Enter password:
+--------------------------------------------------------------------------+
| Grants for mezzanine@localhost                                           |
+--------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'mezzanine'@'localhost'                            |
| GRANT ALL PRIVILEGES ON `awesome_mezzanine`.* TO 'mezzanine'@'localhost' |
+--------------------------------------------------------------------------+

Mezzanineユーザの接続確認

先程作成したユーザで接続できるか、またそのユーザから作成したデータベースが見えるかを確認してください。

# mysql -umezzanine -p'mezzanine'

mysql> select user();
+---------------------+
| user()              |
+---------------------+
| mezzanine@localhost |
+---------------------+
1 row in set (0.01 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| awesome_mezzanine  |
+--------------------+
2 rows in set (0.00 sec)

MezzanineのMySQL設定

MezzanineでMySQLを使用するために、設定ファイルをバックアップしてから、差分を参考にして、編集してください。

# cp -p awesome_mezzanine/local_settings.py awesome_mezzanine/local_settings.py_`date +%Y%m%d`&&ls -l awesome_mezzanine/local_settings.py*
-rw-r--r-- 1 root root 1609 Sep  5 04:11 awesome_mezzanine/local_settings.py
-rw-r--r-- 1 root root 1609 Sep  5 04:11 awesome_mezzanine/local_settings.py_yyyymmdd

# vi awesome_mezzanine/local_settings.py
※DATABASES部分を変更する
------------------------------------------
DATABASES = {
    "default": {
        # Ends with "postgresql_psycopg2", "mysql", "sqlite3" or "oracle".
        "ENGINE": "django.db.backends.mysql",
        # DB name or path to database file if using sqlite3.
        "NAME": "awesome_mezzanine",
        # Not used with sqlite3.
        "USER": "mezzanine",
        # Not used with sqlite3.
        "PASSWORD": "mezzanine",
        # Set to empty string for localhost. Not used with sqlite3.
        "HOST": "localhost",
        # Set to empty string for default. Not used with sqlite3.
        "PORT": "3306",
    }
}
------------------------------------------

# sdiff -s awesome_mezzanine/local_settings.py awesome_mezzanine/local_settings.py_`date +%Y%m%d`
------------------------------------------------------------------------------------------------------------
        "ENGINE": "django.db.backends.mysql",                 |         "ENGINE": "django.db.backends.sqlite3",
        "NAME": "awesome_mezzanine",                          |         "NAME": "dev.db",
        "USER": "mezzanine",                                  |         "USER": "",
        "PASSWORD": "mezzanine",                              |         "PASSWORD": "",
        "HOST": "localhost",                                  |         "HOST": "",
        "PORT": "3306",                                       |         "PORT": "",
------------------------------------------------------------------------------------------------------------
 

Mezzanine動作確認手順

createdbの実行

以下コマンドで、Mezzanineで使用するテーブルなどを自動で作成してくれます。
対話式に情報を求められるので、以下「★」で記載したように入力すれば問題ありません。
完了後、作成したデータベースにテーブルが作られているか確認しています。

# python3 manage.py createdb
------------------------------------------------------------
A site record is required.
Please enter the domain and optional port in the format 'domain:port'.
For example 'localhost:8000' or 'www.example.com'.
Hit enter to use the default (127.0.0.1:8000):            ★EnterでOK

Creating default site record: 127.0.0.1:8000 ...


Creating default account ...

Username (leave blank to use 'root'):                     ★EnterでOK
Email address:                                            ★EnterでOK
Password:                                                 ★rootのパスを入れる「root」
Password (again):                                         ★rootのパスを入れる「root」
Superuser created successfully.
Installed 2 object(s) from 1 fixture(s)

Would you like to install some initial demo pages?
Eg: About us, Contact form, Gallery. (yes/no): yes        ★yesにしておく

Creating demo pages: About us, Contact form, Gallery ...

Installed 16 object(s) from 3 fixture(s)
------------------------------------------------------------


# mysql -umezzanine -p'mezzanine' awesome_mezzanine -e "show tables;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+-----------------------------+
| Tables_in_awesome_mezzanine |
+-----------------------------+
| auth_group                  |
| auth_group_permissions      |
| auth_permission             |
| auth_user                   |
| auth_user_groups            |
| auth_user_user_permissions  |
| blog_blogcategory           |
| blog_blogpost               |
| blog_blogpost_categories    |
| blog_blogpost_related_posts |
| conf_setting                |
| core_sitepermission         |
| core_sitepermission_sites   |
| django_admin_log            |
| django_comment_flags        |
| django_comments             |
| django_content_type         |
| django_migrations           |
| django_redirect             |
| django_session              |
| django_site                 |
| forms_field                 |
| forms_fieldentry            |
| forms_form                  |
| forms_formentry             |
| galleries_gallery           |
| galleries_galleryimage      |
| generic_assignedkeyword     |
| generic_keyword             |
| generic_rating              |
| generic_threadedcomment     |
| pages_link                  |
| pages_page                  |
| pages_richtextpage          |
| twitter_query               |
| twitter_tweet               |
+-----------------------------+

接続設定

今回は検証環境での動作を想定していますので、ゲストOSからも参照できるように
「ALLOWED_HOSTS」に「*」を入れて、「0.0.0.0:8000」でMezzanineを起動してみましょう。
なお、「ALLOWED_HOSTS」は最初コメントアウトされているかと思いますので有効化をするのを忘れないようにしてください。

# pwd
/root/awesome_mezzanine

# cp -p awesome_mezzanine/local_settings.py awesome_mezzanine/local_settings.py_`date +%Y%m%d`_2&&ls -l awesome_mezzanine/local_settings.py*
-rw-r--r-- 1 root root 1649 Sep  5 04:19 awesome_mezzanine/local_settings.py
-rw-r--r-- 1 root root 1609 Sep  5 04:11 awesome_mezzanine/local_settings.py_yyyymmdd
-rw-r--r-- 1 root root 1649 Sep  5 04:19 awesome_mezzanine/local_settings.py_yyyymmdd_2

# vi awesome_mezzanine/local_settings.py
----------------------------
# Domains for public site
ALLOWED_HOSTS = ["*"]
----------------------------
※コメントアウトを外して、「*」をセットする。

# sdiff -s awesome_mezzanine/local_settings.py awesome_mezzanine/local_settings.py_`date +%Y%m%d`_2
----------------------------
ALLOWED_HOSTS = ["*"]                                         | # ALLOWED_HOSTS = [""]
----------------------------

# python3 manage.py runserver 0.0.0.0:8000

Mezzanineアプリへの接続

「http://192.168.***.***:8000/」に接続して、以下のような画面が確認できれば、OKです。

 

 

 

皆さんお疲れさまでした。

次回以降は、Mezzanineの使い方などもご紹介していきたいと思います。

オススメの関連商品

コメント