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インストール手順概要の以下を実施
- 3.1. MySQLをインストール
- 3.2. Python3をインストール
- 3.3. PyMySQLをインストール
- 3.4. mysqlclientをインストール
- 3.5. Djangoをインストール
- 3.6. インストール後の確認
Mezzanineインストール
MezzanineのMySQL設定
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の使い方などもご紹介していきたいと思います。
コメント