UbuntuにDjangoベースのMezzanineCMSをインストールして開始する方法
序章
コンテンツ管理システム(CMS)は、さまざまな種類のコンテンツをオンラインで公開することを目的としたアプリケーションです。少なくとも、それが彼らの本来の目的です。 ますます人気が高まり、需要が高まっているため、ほとんどのCMSアプリケーションは、フレームワークに基づいて独自のソリューションを作成するよりもさらに使いにくいものになっています。
幸い、このルールにはいくつかのすばらしい例外があります。メザニンCMSはその1つです。
強力な(そして拡張可能な) Django Webフレームワーク上に構築されたメザニンは、Web開発者とオンラインパブリッシング愛好家に、最初から非常に直感的なWebサイト構築方法で本当にスムーズな乗り心地を提供します。
このDigitalOceanの記事では、MezzanineCMSベースのWebサイトを完全にゼロからインストールして展開するための新しいUbuntu13クラウドサーバーを準備する方法を説明します。 続いて、最初のコンテンツを公開するときに、このエレガントなライブラリの使用を開始する方法を説明します。
用語集
1. Djangoの概要
2. メザニンCMS
- 特徴
- サードパーティのサポート
- 完全なアプリケーションモジュール
3. はじめに:Ubuntuドロップレットの準備
4. メザニンのインストール
- メザニンのPython仮想環境
- メザニンと依存関係をインストールする
5. メザニンの操作
- プロジェクトを作成する
- データベースを開始する
- 基本構成
- アプリケーションをテストする
- 最初のコンテンツを作成する
6. 生産の準備
7. 概要
Djangoの概要
Djangoは、Pythonプログラミング言語ベースのWeb開発フレームワークです。 非常に大規模なプロジェクトとライブラリであるため、すぐに開始することを楽しみにしている開発者に大量のツールと機能をパックして出荷します。 将来的にフレームワークを節約するためにフレームワークを「学習」するためにかなりの時間を費やすことをいとわないのであれば、DjangoforPythonがおそらく頼りになるソリューションです。
その性質上、強力なフレームワークは、カスタムアプリケーションやAPIを作成するだけでなく、特定の問題のセットを解決することを目的としたパッケージソフトウェアにも役立ちます。 Django上に構築されたこれらのカスタムソフトウェアの1つは、MezzanineCMSです。
メザニンCMS
Mezzanineは、前述したように、人気のあるWeb開発フレームワークDjangoの上に構築されたコンテンツ管理システムです。 Pythonプログラミング言語のある程度の知識と、Djangoにある程度精通している必要がありますが、Mezzanineを使用してWebサイトを作成する方法は、他のコンテンツ管理ツールやライブラリ、特に他の言語に基づくものよりもはるかに簡単です。
特徴
CMSとして、Mezzanineには、Web開発者がそのようなアプリケーションから得ることを期待する一般的なニーズの大部分をカバーする大量の便利な機能が付属しています。 Djangoは非常に簡単に拡張できるため、Mezzanineは、Webサイトの形成に役立つ多くの追加のサードパーティパッケージにも囲まれています。 実際、Mezzanine自体は拡張機能、つまりDjangoアプリケーションです。
MezzanineCMSの人気のある機能は次のとおりです。
-
スケジュールされた公開;
-
ドラッグアンドドロップ(DaD)ページの順序。
-
テーママーケットプレイスを介したテーマ;
-
アカウント管理と電子メール検証。
-
簡単なソーシャルコンテンツ共有。
-
モバイル(例: スマートフォン、タブレットなど)フレンドリーなテーマ。
-
スパムフィルタリング;
-
URL短縮;
-
DisqusとGravatarの統合。
-
自動展開;
-
組み込みのブログエンジン。
-
ビジュアルコンテンツ編集;
-
タグ付け;
-
個々のコンテンツタイプとそのスタイルをカスタマイズする。
-
簡単な移行;
とはるかに。
サードパーティのサポート
Mezzanineは、Djangoの拡張機能の恩恵を受けて、現在、開発者のさまざまなニーズを支援することを目的とした、多くの追加のライブラリとモジュールをサポートしています。
これらの人気のあるサードパーティモジュールのいくつかは次のとおりです。
-
mdown:
Markdownを使用してコンテンツを作成および公開するためのウィジェットとフィルター。 -
テーマ:
Django(つまりメザニン)のテーマコレクション。 -
キャプチャ:
メザニンフォームビルダーの自動キャプチャサポート。 -
スライド:
レスポンシブスライドディスプレイ。 -
カレンダー:
メザニンのカレンダー実装。 -
ポッドキャスト:
ポッドキャストマネージャー。 -
Pageimages:
メザニンページの個々の背景画像を簡単に追加できます。 -
Twittertopic:
Twitterトピックの管理に役立ちます。 -
レシピ:
レシピ公開プラグイン。
完全なアプリケーションモジュール
一部のMezzanineモジュールでは、eコマースWebサイトなど、独自の機能を備えた完全なWebアプリケーションを作成できます。
これらの人気のあるカスタマイズモジュールのいくつかは次のとおりです。
-
カートリッジ:
オンラインショッピング/eコマースモジュール。 -
ブックマーク:
マルチユーザーブックマークアプリケーション。 -
ポーリング:
ポーリングアプリケーション。 -
採用情報:
求人情報アプリケーション。 -
Wiki:
Wikiソリューション。
はじめに:UbuntuVPSの準備
MezzanineはPythonプロジェクトであり、グリッチやエラーなしでWebサイトをセットアップして実行するには、システムを正しく調整する必要があります。
ドロップレットの準備がまだ整っていない場合は、Ubuntu/Pythonの記事にすばやくアクセスしてください。
そして、以下にあるメザニンのインストール手順に進みます。
メザニンのインストール
Mezzanineとその依存関係をインストールして含めるために、すばらしいPythonツールvirtualenvを利用します。 したがって、このセクションでは、環境の作成から始めます。
メザニンのPython仮想環境
まだ作成していない場合は、仮想環境を作成します。
virtualenv mezzanine_env
cd mezzanine_env
またはそれをアクティブにします:
source bin/activate
メザニンと依存関係をインストールする
環境の準備ができたら、 pip パッケージマネージャーを使用して、Mezzanineとすべての依存関係をインストールできます。
次のコマンドを実行して、pip
を使用してメザニンをインストールします。
pip install mezzanine
枕をインストールする必要がある場合もあります
pip install pillow
メザニンの操作
MezzanineはDjangoベースのツールであるため、Djangoのような機能を備えています。 Mezzanineに同梱されているそのようなアイテムの1つは、管理タスクに使用されるmezzanine-project
です。
Mezzanineの使用を開始しましょう。
プロジェクトを作成する
Mezzanineを使用して新しいWebサイトを作成するのは、1つのコマンドを実行するのと同じくらい簡単です。
# Usage: mezzanine-project [project name]
# Example:
mezzanine-project mezzanine_app
# Enter the application directory:
cd mezzanine_app
データベースを開始する
Mezzanineは、created
命令など、Djangoの標準manage.py
管理ツールにいくつかの追加機能をもたらします。
以下を実行して、サンプルデータベースを作成および開始します。
python manage.py createdb
このコマンドを実行すると、一連の質問が表示されます。
# You just installed Django's auth system,
# which means you don't have any superusers defined.
# Would you like to create one now? (yes/no):
yes
# ^^ Create an admin account by answering the questions.
# 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):
www.example.com:80
# ^^ Enter your domain name.
# Would you like to install some initial demo pages?
# Eg: About us, Contact form, Gallery. (yes/no):
yes
# ^^ Create sample data.
これらの質問に答えた後、アプリケーションをチェックアウトする時が来ました。
基本構成
エラーを回避し、正しいの方法で処理を行うには、厳密には必要ではありませんが、特定の構成を実行する必要があります。
nano
テキストエディタを使用してsettings.py
ファイルを編集しましょう。
nano settings.py
ファイルを下にスクロールして、ALLOWED_HOSTS
を見つけます。
ALLOWED_HOSTS = []
次のように置き換えます。
# ALLOWED_HOSTS = [] # comment out
# Example (From Django documentation):
ALLOWED_HOSTS = [
'.example.com', # Allow domain and subdomains
'.example.com.', # Also allow FQDN and subdomains
]
# Replace example.com with your own domain name.
その後、コメントのブロックのすぐ下に移動して、次を見つけます。
TIME_ZONE =
そしてそれをあなた自身のものと交換してください、例えば:
TIME_ZONE = 'Europe/Amsterdam'
CTRL + Xを押し、Yで確定して、保存して終了します。
アプリケーションをテストする
次のコマンドを実行してサンプルアプリケーションサーバーを実行し、新しいMezzanineアプリケーションをチェックアウトします。
python manage.py runserver 0.0.0.0:8000
ポート8000のドロップレットにアクセスして、インストールを確認できます。
http://[your droplet's IP]:8000
注:テストサーバーを終了するには、CTRL+Cを押します。
最初のコンテンツを作成する
新しいコンテンツをいくつか公開して、メザニンの使い方がいかに簡単かを見てみましょう。
次の場所に移動して、管理セクションにアクセスします。
http://[your droplet's IP]:8000/admin
設定した管理者資格でログインし、「ログイン」を押します。
ダッシュボードが表示されます。 ここから、簡単なブログ投稿を公開するか、[コンテンツ]ドロップダウンメニューにカーソルを合わせて、編集する項目を選択できます。例:
- ページ:
http:// [ドロップレットのIP]:8000 / admin / pages / page /
生産の準備
Mezzanineプロジェクトの作成が終了したら、アプリケーションに付属しているテストサーバーに依存しないようにする必要があります。
展開の場合、本格的なWebアプリケーションサーバー(例: Unicorn)を使用する必要があります。できれば、リクエストの初期処理と画像などの静的ファイルの配布を処理するリバースプロキシの背後で使用する必要があります。
本番環境に移行する方法の全体像をすばやく把握するには、記事の「本番環境の準備」のセクションタイトルを確認してください:PythonWebアプリケーション用にUbuntuクラウドサーバーを準備する方法。
概要
この記事を一度読んだことがある場合、またはインストール手順の概要を簡単に説明したい場合は、以下を確認してください。
# Preare the system and install Python tools:
aptitude update
aptitude -y upgrade
aptitude install -y build-essential
aptitude install -y cvs subversion git-core mercurial
aptitude install python-setuptools python-dev python2.7-dev python-software-properties libpq-dev
aptitude install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev
curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python -
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python -
export PATH="/usr/local/bin:$PATH"
pip install virtualenv
# Create a virtual environment:
virtualenv mezzanine_env
cd mezzanine_env
source bin/activate
pip install mezzanine
# Create a Mezzanine project:
mezzanine-project mezzanine_app
cd mezzanine_app
python manage.py createdb --noinput
# Run the testing server:
python manage.py runserver 0.0.0.0:8000
注: --noinput
フラグを使用した最後のコマンドcreated
を使用すると、質問されることなくデータベースを開始できます。 管理者のユーザー名はadmin
、パスワードはdefault
になります。 これ以降、構成とテストを続行します。