Dalam postingan blog ini, kami akan menunjukkan cara menginstal Django CMS pada VPS Ubuntu dengan MariaDB, Nginx, dan Gunicorn .
Django CMS adalah sistem manajemen konten sumber terbuka berdasarkan kerangka kerja Web Django. Beberapa fitur utama meliputi:Plugin-based, Pretty URLs, Permission management, Apps, Frontend-Editing, Analytics, Blog ..etc.
Perintah berikut akan menginstal semua paket yang diperlukan
apt-get updateapt-get install -y python-software-properties python python-dev
Instal versi terbaru Nginx
add-apt-repository ppa:nginx/stableapt-get update &&sudo apt-get install nginx
Instal MariaDB dan buat database.
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 tepat main'apt-get updateecho -e "Paket:*\nPin:Origin ftp.osuosl.org\nPin-Priority:1000" | tee /etc/apt/preferences.d/mariadbapt-get install mariadb-server libmariadbclient-dev
mysql -uroot -pMariaDB [(none)]> BUAT DATABASE dcms;MariaDB [(none)]> BERIKAN SEMUA HAK ISTIMEWA DI dcms.* KEPADA 'dcmsuser'@'localhost' DIIDENTIFIKASI OLEH 'pa33W0rd';MariaDB [(none )]> HAK ISTIMEWA FLUSH;MariaDB [(none)]> \q
Instal pip
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python -
Buat virtualenv menggunakan pip
sudo pip install --upgrade virtualenvmkdir -p ~/.virtualenvs/djangocmsvirtualenv ~/.virtualenvs/djangocmssource ~/.virtualenvs/djangocms/bin/activate
Buat file requirements.txt dengan konten berikut
# Bare minimumdjango-cms==2.4.1#Ketergantungan ini dibawa oleh Django-cms, tetapi jika anda ingin mengunci versi mereka, tentukan merekaDjango==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#Opsional, paket yang direkomendasikanBantal==2.0.0django-filer==0.9. 4cmsplugin-filer==0.9.5django-reversion==1.7
Instal Django CMS
instal pip --upgrade --download-cache=~/.pip-cache -r requirements.txt
Buat proyek CMS django Anda
mkdir ~/projectscd ~/projectsdjango-admin.py startproject mynewproject
Buka file ~/projects/mynewproject/mynewproject/settings.py dan tambahkan berikut ini di bagian atas file:
# -*- coding:utf-8 -*-import osgettext =lambda s:sPROJECT_PATH =os.path.split(os.path.abspath(os.path.dirname(__file__)))[0]Tambahkan detail basis data Anda:
DATABASES ={ 'default':{ 'ENGINE':'django.db.backends.mysql', 'NAME':'dcms', 'USER':'dcms', 'PASSWORD':'pa33W0rd', ' HOST':'', 'PORT':'', }}Tambahkan aplikasi berikut ke 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')Tambahkan baris berikut ke daftar MIDDLEWARE_CLASSES.
MIDDLEWARE_CLASSES =( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth. 'django.contrib.messages.middleware.MessageMiddleware', # Batalkan komentar pada baris berikutnya untuk perlindungan clickjacking sederhana:# 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'cms.middleware.page.CurrentPageMiddleware', 'cms.middleware.user CurrentUserMiddleware', 'cms.middleware.toolbar.ToolbarMiddleware', 'cms.middleware.language.LanguageCookieMiddleware',)Tambahkan berikut ini di akhir file:
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.media' .core.context_processors.static', 'cms.context_processors.media', 'sekizai.context_processors.sekizai',)Ubah perintah STATIC_ROOT dan MEDIA_ROOT menjadi:
STATIC_ROOT =os.path.join(PROJECT_PATH, "static")STATIC_URL ="/static/"MEDIA_ROOT =os.path.join(PROJECT_PATH, "media")MEDIA_URL ="/media/"Ubah direktif TEMPLATE_DIRS:
TEMPLATE_DIRS =( # Dokumen mengatakan itu harus jalur absolut:PROJECT_PATH persis satu. # Hidup itu indah! os.path.join(PROJECT_PATH, "templates"),)Tambahkan setidaknya satu template ke CMS_TEMPLATES
CMS_TEMPLATES =( ('template_1.html', 'Template Satu'), ('template_2.html', 'Template Dua'),)Batasi bahasa Inggris
LANGUAGES =[ ('en', 'English'),]Terakhir simpan file settings.py.
Tentukan rute untuk proyek kami
Buka file mynewproject/mynewproject/urls.py dan ganti konten dengan yang berikut
dari django.conf.urls.defaults impor *dari django.conf.urls.i18n impor i18n_patternsdari django.contrib impor admindari django.conf impor pengaturanadmin.autodiscover()urlpatterns =pola('', url(r'^admin /', include(admin.site.urls)), url(r'^', include('cms.urls')),)if settings.DEBUG:urlpatterns =patterns('', url(r'^media/ (?P.*)$', 'django.views.static.serve', {'document_root':settings.MEDIA_ROOT, 'show_indexes':True}), url(r'', include('django. contrib.staticfiles.urls')),) + urlpatterns Buat template
Buat template direktori baru
mkdir ~/projects/mynewproject/templatesBuka editor favorit Anda dan buat file berikut:
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" %}{% 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 %}Inisialisasi database dan buat superuser baru
python manage.py syncdb --allpython manage.py migrasi --fakePeriksa apakah semuanya sudah diatur dengan benar
periksa python manage.py cmsJika Anda melihat "Instalasi oke", itu berarti semuanya sudah diatur dengan benar.
Kumpulkan file statis
cd ~/projects/mynewproject./manage.py collectstaticInstal dan konfigurasikan gunicorn
pip install gunicornbuat file konfigurasi baru (~/.virtualenvs/djangocms/gunicorn_config.py) sebagai berikut
command ='~/.virtualenvs/djangocms/bin/gunicorn'pythonpath ='~/projects/mynewproject'bind ='127.0.0.1:8011'workers =3user =tidak adaMulai gunicorn dengan perintah berikut:
cd ~/projects/mynewproject &&gunicorn -c ~/.virtualenvs/djangocms/gunicorn_config.py mynewproject.wsgiKonfigurasi Nginx
Buat host virtual nginx baru
vim /etc/nginx/sites-available/your_domain.comserver { mendengarkan 80; nama_server domain_anda.com; lokasi /static/ { alias //projects/mynewproject/static/; } lokasi / { proxy_pass_header Server; proxy_set_header Host $http_host; proxy_redirect mati; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $skema; 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 Itu dia. Sekarang buka browser Anda dan navigasikan ke domain Anda.
Untuk info lebih lanjut tentang Django CMS silakan kunjungi:http://docs.django-cms.org/
Tentu saja Anda tidak perlu melakukan semua ini jika Anda menggunakan salah satu layanan Hosting VPS Linux kami, dalam hal ini Anda dapat meminta admin Linux ahli kami untuk menginstal ini untuk Anda. Mereka tersedia 24×7 dan akan segera memenuhi permintaan Anda.
PS . Jika Anda menyukai posting ini, silakan bagikan dengan teman-teman Anda di jejaring sosial menggunakan tombol di sebelah kiri atau cukup tinggalkan balasan di bawah. Terima kasih.
Panels