このブログ投稿では、MariaDB、Nginx、Gunicornを使用してUbuntuVPSにDjangoCMSをインストールする方法を紹介します。
Django CMSは、WebフレームワークDjangoに基づくオープンソースのコンテンツ管理システムです。主な機能には、プラグインベース、プリティURL、権限管理、アプリ、フロントエンド編集、分析、ブログなどがあります。
次のコマンドは、必要なすべてのパッケージをインストールします
apt-get update apt-get install -y python-software-properties python python-dev
最新バージョンのNginxをインストールします
add-apt-repository ppa:nginx/stable apt-get update && sudo apt-get install nginx
MariaDBをインストールし、データベースを作成します。
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db add-apt-repository 'deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntu precise main' apt-get update echo -e "Package: *\nPin: origin ftp.osuosl.org\nPin-Priority: 1000" | tee /etc/apt/preferences.d/mariadb apt-get install mariadb-server libmariadbclient-dev
mysql -uroot -p MariaDB [(none)]> CREATE DATABASE dcms; MariaDB [(none)]> GRANT ALL PRIVILEGES ON dcms.* TO 'dcmsuser'@'localhost' IDENTIFIED BY 'pa33W0rd'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> \q
pipをインストールする
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python -
pipを使用してvirtualenvを作成する
sudo pip install --upgrade virtualenv mkdir -p ~/.virtualenvs/djangocms virtualenv ~/.virtualenvs/djangocms source ~/.virtualenvs/djangocms/bin/activate
次のコンテンツを含むrequirements.txtファイルを作成します
# Bare minimum django-cms==2.4.1 #These dependencies are brought in by django-cms, but if you want to lock-in their version, specify them Django==1.5.1 django-classy-tags==0.4 South==0.8.1 html5lib==1.0b1 django-mptt==0.5.2 django-sekizai==0.7 six==1.3.0 mysql-python==1.2.5 #Optional, recommended packages Pillow==2.0.0 django-filer==0.9.4 cmsplugin-filer==0.9.5 django-reversion==1.7
djangoCMSをインストールする
pip install --upgrade --download-cache=~/.pip-cache -r requirements.txt
djangoCMSプロジェクトを作成する
mkdir ~/projects cd ~/projects django-admin.py startproject mynewproject
ファイル〜/ projects / mynewproject / mynewproject / settings.pyを開き、ファイルの先頭に次を追加します。
# -*- coding: utf-8 -*- import os gettext = lambda s: s PROJECT_PATH = os.path.split(os.path.abspath(os.path.dirname(__file__)))[0]
データベースの詳細を追加します:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dcms',
'USER': 'dcms',
'PASSWORD': 'pa33W0rd',
'HOST': '',
'PORT': '',
}
} 次のアプリをINSTALLED_APPSに追加します。
'django.contrib.admin',
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'cms',
'mptt',
'menus',
'south',
'sekizai'
) 次の行をMIDDLEWARE_CLASSESリストに追加します。
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
'cms.middleware.page.CurrentPageMiddleware',
'cms.middleware.user.CurrentUserMiddleware',
'cms.middleware.toolbar.ToolbarMiddleware',
'cms.middleware.language.LanguageCookieMiddleware',
) ファイルの最後に以下を追加します:
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.i18n',
'django.core.context_processors.request',
'django.core.context_processors.media',
'django.core.context_processors.static',
'cms.context_processors.media',
'sekizai.context_processors.sekizai',
) STATIC_ROOTおよびMEDIA_ROOTディレクティブを次のように変更します。
STATIC_ROOT = os.path.join(PROJECT_PATH, "static") STATIC_URL = "/static/" MEDIA_ROOT = os.path.join(PROJECT_PATH, "media") MEDIA_URL = "/media/"
TEMPLATE_DIRSディレクティブを変更します:
TEMPLATE_DIRS = (
# The docs say it should be absolute path: PROJECT_PATH is precisely one.
# Life is wonderful!
os.path.join(PROJECT_PATH, "templates"),
) 少なくとも1つのテンプレートをCMS_TEMPLATESに追加します
CMS_TEMPLATES = (
('template_1.html', 'Template One'),
('template_2.html', 'Template Two'),
) 英語に限定
LANGUAGES = [
('en', 'English'),
] 最後に、settings.pyファイルを保存します。
プロジェクトのルートを定義する
mynewproject / mynewproject / urls.pyファイルを開き、コンテンツを次のように置き換えます
from django.conf.urls.defaults import *
from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.conf import settings
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('cms.urls')),
)
if settings.DEBUG:
urlpatterns = patterns('',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
url(r'', include('django.contrib.staticfiles.urls')),
) + urlpatterns テンプレートを作成
新しいディレクトリテンプレートを作成する
mkdir ~/projects/mynewproject/templates
お気に入りのエディタを開き、次のファイルを作成します。
base.html
{% load cms_tags sekizai_tags %}
<html>
<head>
{% render_block "css" %}
</head>
<body>
{% cms_toolbar %}
{% placeholder base_content %}
{% block base_content %}{% endblock %}
{% render_block "js" %}
</body>
</html> template_1.html
{% extends "base.html" %}
{% load cms_tags %}
{% block base_content %}
{% placeholder template_1_content %}
{% endblock %} template_2.html
{% extends "base.html" %}
{% load cms_tags %}
{% block base_content %}
{% placeholder template_2_content %}
{% endblock %} データベースを初期化し、新しいスーパーユーザーを作成します
python manage.py syncdb --all python manage.py migrate --fake
すべてが正しく設定されているかどうかを確認します
python manage.py cms check
「インストールは正常です」と表示されている場合は、すべてが正しく設定されていることを意味します。
静的ファイルを収集する
cd ~/projects/mynewproject ./manage.py collectstatic
gunicornをインストールして構成する
pip install gunicorn
次のように新しい構成ファイル(〜/ .virtualenvs / djangocms / gunicorn_config.py)を作成します
command = '~/.virtualenvs/djangocms/bin/gunicorn' pythonpath = '~/projects/mynewproject' bind = '127.0.0.1:8011' workers = 3 user = nobody
次のコマンドでgunicornを起動します:
cd ~/projects/mynewproject && gunicorn -c ~/.virtualenvs/djangocms/gunicorn_config.py mynewproject.wsgi
Nginxを構成する
新しいnginx仮想ホストを作成する
vim /etc/nginx/sites-available/your_domain.com
server {
listen 80;
server_name your_domain.com;
location /static/ {
alias /<your_username>/projects/mynewproject/static/;
}
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 10;
proxy_read_timeout 10;
proxy_pass http://localhost:8011/;
}
}
ln -s /etc/nginx/sites-available/your_domain.com /etc/nginx/sites-enabled/your_domain.com
/etc/init.d/nginx restart それでおしまい。次に、ブラウザを開いてドメインに移動します。
Django CMSの詳細については、http://docs.django-cms.org/
にアクセスしてください。もちろん、Linux VPSホスティングサービスのいずれかを使用している場合は、これを行う必要はありません。その場合は、専門のLinux管理者にインストールを依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。
PS 。この投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。