V tomto příspěvku na blogu vám ukážeme, jak nainstalovat Django CMS na Ubuntu VPS s MariaDB, Nginx a Gunicorn .
Django CMS je open source redakční systém založený na webovém frameworku Django. Některé z hlavních funkcí zahrnují:Plugin-based, Pretty URLs, Permission management, Apps, Frontend-Editing, Analytics, Blog ..atd.
Následující příkaz nainstaluje všechny potřebné balíčky
apt-get updateapt-get install -y python-software-properties python python-dev
Nainstalujte nejnovější verzi Nginx
add-apt-repository ppa:nginx/stableapt-get update &&sudo apt-get install nginx
Nainstalujte MariaDB a vytvořte databázi.
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943dbadd-apt-repository 'deb http://ftp.osuosl.org/pub/mariadb/repo/5.5 /ubuntu přesné main'apt-get updateecho -e "Balík:*\nPin:origin ftp.osuosl.org\nPin-Priorita:1000" | tee /etc/apt/preferences.d/mariadbapt-get install mariadb-server libmariadbclient-dev
mysql -uroot -pMariaDB [(none)]> VYTVOŘIT DATABÁZI dcms;MariaDB [(none)]> UDĚLEJTE VŠECHNA OPRÁVNĚNÍ NA dcms.* 'dcmsuser'@'localhost' IDENTIFIKOVANÉ OD 'pa33W0rd'; )]> FLUSH PRIVILEGES;MariaDB [(none)]> \q
Instalovat pip
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python -
Vytvořte virtuální prostředí pomocí pip
instalace sudo pip --upgrade virtualenvmkdir -p ~/.virtualenvs/djangocmsvirtualenv ~/.virtualenvs/djangocmssource ~/.virtualenvs/djangocms/bin/activate
Vytvořte soubor requirements.txt s následujícím obsahem
# Bare minimumdjango-cms==2.4.1#Tyto závislosti přináší django-cms, ale pokud chcete uzamknout jejich verzi, zadejte jeDjango==1.5.1django-classy-tags==0.4South ==0.8.1html5lib==1.0b1django-mptt==0.5.2django-sekizai==0.7six==1.3.0mysql-python==1.2.5#Volitelné, doporučené balíčkyPillow==2.0.0django-filer==0.9. 4cmsplugin-filer==0.9.5django-reversion==1.7
Nainstalujte django CMS
pip install --upgrade --download-cache=~/.pip-cache -r requirements.txt
Vytvořte svůj projekt django CMS
mkdir ~/projectscd ~/projectsdjango-admin.py startproject mynewproject
Otevřete soubor ~/projects/mynewproject/mynewproject/settings.py a na začátek souboru přidejte následující:
# -*- kódování:utf-8 -*-import osgettext =lambda s:sPROJECT_PATH =os.path.split(os.path.abspath(os.path.dirname(__file__)))[0]Přidejte podrobnosti o své databázi:
DATABASES ={ 'default':{ 'ENGINE':'django.db.backends.mysql', 'NAME':'dcms', 'USER':'dcms', 'PASSWORD':'pa33W0rd', ' HOST':'', 'PORT':'', }}Přidejte následující aplikace do 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')Přidejte následující řádky do seznamu MIDDLEWARE_CLASSES.
MIDDLEWARE_CLASSES =( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.thidmid.contribu.th. 'django.contrib.messages.middleware.MessageMiddleware', # Odkomentujte další řádek pro jednoduchou ochranu proti clickjackingu:# 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'cms.middleware.page.CurrentPageMiddleware', 'cms.middleware. CurrentUserMiddleware', 'cms.middleware.toolbar.ToolbarMiddleware', 'cms.middleware.language.LanguageCookieMiddleware',)Na konec souboru přidejte následující:
TEMPLATE_CONTEXT_PROCESSORS =( 'django.contrib.auth.context_processors.auth', 'django.core.context_processors.i18n', 'django.core.context_processors.request', 'django.core.context_processors', 'django.core.context_processors. .core.context_processors.static', 'cms.context_processors.media', 'sekizai.context_processors.sekizai',)Změňte direktivy STATIC_ROOT a MEDIA_ROOT na:
STATIC_ROOT =os.path.join(PROJECT_PATH, "static") STATIC_URL ="/static/"MEDIA_ROOT =os.path.join(PROJECT_PATH, "media") MEDIA_URL ="/media/"Upravte direktivu TEMPLATE_DIRS:
TEMPLATE_DIRS =( # Dokumenty říkají, že by to měla být absolutní cesta:PROJECT_PATH je přesně jedna. # Život je úžasný! os.path.join(PROJECT_PATH, "šablony"),)Přidejte alespoň jednu šablonu do CMS_TEMPLATES
CMS_TEMPLATES =( ('template_1.html', 'Template One'), ('template_2.html', 'Template Two'),)Omezit na angličtinu
LANGUAGES =[ ('en', 'Angličtina'),]Nakonec uložte soubor settings.py.
Definujte trasy pro náš projekt
Otevřete soubor mynewproject/mynewproject/urls.py a nahraďte obsah následujícím
from django.conf.urls.defaults import *from django.conf.urls.i18n import i18n_patternsfrom django.contrib import adminfrom django.conf import settingsadmin.autodiscover()urlpatterns =vzory('', url(r'^admin /', include(admin.site.urls)), url(r'^', include('cms.urls')),)if settings.DEBUG:urlpatterns =vzory('', url(r'^media/) (?P.*)$', 'django.views.static.serve', {'document_root':settings.MEDIA_ROOT, 'show_indexes':True}), url(r'', include('django. contrib.staticfiles.urls')),) + vzory adres URL Vytvořte šablony
Vytvořte nový adresář šablon
mkdir ~/projects/mynewproject/templatesOtevřete svůj oblíbený editor a vytvořte následující soubory:
base.html
{% load cms_tags sekizai_tags %} {% render_block "css" %} {% cms_toolbar %} {% placeholder base_content %} {% block base_content %}{% endblock %} {% render_block "js" %}template_1.html
{% extends "base.html" %}{% načte 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 %}Inicializujte databázi a vytvořte nového superuživatele
python manage.py syncdb --allpython manage.py migrate --fakeZkontrolujte, zda je vše správně nastaveno
kontrola python manage.py cmsPokud vidíte „Installation v pořádku“, znamená to, že je vše správně nastaveno.
Shromažďovat statické soubory
cd ~/projects/mynewproject./manage.py collectstaticNainstalujte a nakonfigurujte gunicorn
pip install gunicornvytvořte nový konfigurační soubor (~/.virtualenvs/djangocms/gunicorn_config.py) následovně
command ='~/.virtualenvs/djangocms/bin/gunicorn'pythonpath ='~/projects/mynewproject'bind ='127.0.0.1:8011'workers =3user =nikdoSpusťte gunicorn následujícím příkazem:
cd ~/projects/mynewproject &&gunicorn -c ~/.virtualenvs/djangocms/gunicorn_config.py mynewproject.wsgiNakonfigurujte Nginx
Vytvořte nového virtuálního hostitele nginx
vim /etc/nginx/sites-available/vase_domena.comserver { poslouchat 80; název_serveru vaše_doména.com; umístění /static/ { alias //projects/mynewproject/static/; } umístění / { server proxy_pass_header; proxy_set_header Host $http_host; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Schéma $schéma; proxy_connect_timeout 10; proxy_read_timeout 10; proxy_pass http://localhost:8011/; } }ln -s /etc/nginx/sites-available/vase_domena.com /etc/nginx/sites-enabled/vase_domena.com/etc/init.d/nginx restart A je to. Nyní otevřete prohlížeč a přejděte do své domény.
Pro více informací o Django CMS prosím navštivte:http://docs.django-cms.org/
Samozřejmě nemusíte nic z toho dělat, pokud používáte některou z našich hostingových služeb Linux VPS, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby vám to nainstalovali. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.
PS . Pokud se vám tento příspěvek líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.
Panels