{"id":3415,"date":"2014-03-25T14:19:15","date_gmt":"2014-03-25T19:19:15","guid":{"rendered":"https:\/\/secure.rosehosting.com\/blog\/?p=3415"},"modified":"2023-04-05T06:22:06","modified_gmt":"2023-04-05T11:22:06","slug":"install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx","status":"publish","type":"post","link":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/","title":{"rendered":"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn  and Nginx"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div><p><a href=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2014\/03\/django_cms.jpg\"><img decoding=\"async\" class=\" wp-image-3420 alignleft\" src=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2014\/03\/django_cms.jpg\" alt=\"django_cms\" width=\"168\" height=\"168\" srcset=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2014\/03\/django_cms.jpg 300w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2014\/03\/django_cms-150x150.jpg 150w\" sizes=\"(max-width: 168px) 100vw, 168px\" \/><\/a>In this blog post we will show you how to install the\u00a0Django CMS on a <a title=\"Ubuntu VPS Hosting\" href=\"https:\/\/www.rosehosting.com\/ubuntu-hosting.html\" target=\"_blank\" rel=\"noopener noreferrer\">Ubuntu VPS<\/a> with MariaDB, Nginx and Gunicorn\u00a0 .<\/p>\n<p>Django CMS is open source content management system based on the Web framework Django. Some of the main features include: Plugin-based, Pretty URLs, Permission management, Apps, Frontend-Editing, Analytics, Blog ..etc.<\/p>\n<p>&nbsp;<\/p>\n<p><!--more--><\/p>\n<p>The following command will install all necessary packages<\/p>\n<pre>apt-get update\r\napt-get install -y python-software-properties python python-dev<\/pre>\n<p><strong>Install the the latest version of Nginx<\/strong><\/p>\n<pre>add-apt-repository ppa:nginx\/stable\r\napt-get update &amp;&amp; sudo apt-get install nginx<\/pre>\n<p><strong>Install MariaDB and create a database.<\/strong><\/p>\n<pre>apt-key adv --recv-keys --keyserver hkp:\/\/keyserver.ubuntu.com:80 0xcbcb082a1bb943db\r\nadd-apt-repository 'deb http:\/\/ftp.osuosl.org\/pub\/mariadb\/repo\/5.5\/ubuntu precise main'\r\napt-get update\r\necho -e \"Package: *\\nPin: origin ftp.osuosl.org\\nPin-Priority: 1000\" | tee \/etc\/apt\/preferences.d\/mariadb\r\napt-get install mariadb-server libmariadbclient-dev<\/pre>\n<pre>mysql -uroot -p\r\nMariaDB [(none)]&gt; CREATE DATABASE dcms;\r\nMariaDB [(none)]&gt; GRANT ALL PRIVILEGES ON dcms.* TO 'dcmsuser'@'localhost' IDENTIFIED BY 'pa33W0rd';\r\nMariaDB [(none)]&gt; FLUSH PRIVILEGES;\r\nMariaDB [(none)]&gt; \\q<\/pre>\n<p><strong>Install pip<\/strong><\/p>\n<pre>curl https:\/\/raw.github.com\/pypa\/pip\/master\/contrib\/get-pip.py | python -<\/pre>\n<p><strong>Create a virtualenv using pip<\/strong><\/p>\n<pre>sudo pip install --upgrade virtualenv\r\nmkdir -p ~\/.virtualenvs\/djangocms\r\nvirtualenv ~\/.virtualenvs\/djangocms\r\nsource ~\/.virtualenvs\/djangocms\/bin\/activate<\/pre>\n<p><strong> Create a requirements.txt file with the following content<\/strong><\/p>\n<pre># Bare minimum\r\ndjango-cms==2.4.1\r\n\r\n#These dependencies are brought in by django-cms, but if you want to lock-in their version, specify them\r\nDjango==1.5.1\r\ndjango-classy-tags==0.4\r\nSouth==0.8.1\r\nhtml5lib==1.0b1\r\ndjango-mptt==0.5.2\r\ndjango-sekizai==0.7\r\nsix==1.3.0\r\nmysql-python==1.2.5\r\n\r\n#Optional, recommended packages\r\nPillow==2.0.0\r\ndjango-filer==0.9.4\r\ncmsplugin-filer==0.9.5\r\ndjango-reversion==1.7<\/pre>\n<p><strong>Install django CMS<\/strong><\/p>\n<pre>pip install --upgrade --download-cache=~\/.pip-cache -r requirements.txt<\/pre>\n<p><strong>Create your django CMS project<\/strong><\/p>\n<pre>mkdir ~\/projects\r\ncd  ~\/projects\r\ndjango-admin.py startproject mynewproject<\/pre>\n<p>Open the file ~\/projects\/mynewproject\/mynewproject\/settings.py and add the following at the top of the file:<\/p>\n<pre># -*- coding: utf-8 -*-\r\nimport os\r\ngettext = lambda s: s\r\nPROJECT_PATH = os.path.split(os.path.abspath(os.path.dirname(__file__)))[0]<\/pre>\n<p>Add your database details:<\/p>\n<pre>DATABASES = {\r\n    'default': {\r\n        'ENGINE': 'django.db.backends.mysql',\r\n        'NAME': 'dcms', \r\n        'USER': 'dcms',\r\n        'PASSWORD': 'pa33W0rd',\r\n        'HOST': '',\r\n        'PORT': '',\r\n    }\r\n}<\/pre>\n<p>Add the following apps to the INSTALLED_APPS.<\/p>\n<pre>'django.contrib.admin',\r\nINSTALLED_APPS = (\r\n    'django.contrib.auth',\r\n    'django.contrib.contenttypes',\r\n    'django.contrib.sessions',\r\n    'django.contrib.sites',\r\n    'django.contrib.messages',\r\n    'django.contrib.staticfiles',\r\n    'django.contrib.admin',\r\n    'django.contrib.admindocs',\r\n    'cms',\r\n    'mptt',\r\n    'menus',\r\n    'south',\r\n    'sekizai'\r\n)<\/pre>\n<p>Add the following lines to the MIDDLEWARE_CLASSES list.<\/p>\n<pre>MIDDLEWARE_CLASSES = (\r\n    'django.middleware.common.CommonMiddleware',\r\n    'django.contrib.sessions.middleware.SessionMiddleware',\r\n    'django.middleware.csrf.CsrfViewMiddleware',\r\n    'django.contrib.auth.middleware.AuthenticationMiddleware',\r\n    'django.contrib.messages.middleware.MessageMiddleware',\r\n    # Uncomment the next line for simple clickjacking protection:\r\n    # 'django.middleware.clickjacking.XFrameOptionsMiddleware',\r\n    'cms.middleware.page.CurrentPageMiddleware',\r\n    'cms.middleware.user.CurrentUserMiddleware',\r\n    'cms.middleware.toolbar.ToolbarMiddleware',\r\n    'cms.middleware.language.LanguageCookieMiddleware',\r\n)<\/pre>\n<p>Add the following at the end of the file:<\/p>\n<pre>TEMPLATE_CONTEXT_PROCESSORS = (\r\n    'django.contrib.auth.context_processors.auth',\r\n    'django.core.context_processors.i18n',\r\n    'django.core.context_processors.request',\r\n    'django.core.context_processors.media',\r\n    'django.core.context_processors.static',\r\n    'cms.context_processors.media',\r\n    'sekizai.context_processors.sekizai',\r\n)<\/pre>\n<p>Change STATIC_ROOT and MEDIA_ROOT directives to:<\/p>\n<pre>STATIC_ROOT = os.path.join(PROJECT_PATH, \"static\")\r\nSTATIC_URL = \"\/static\/\"\r\n\r\nMEDIA_ROOT = os.path.join(PROJECT_PATH, \"media\")\r\nMEDIA_URL = \"\/media\/\"<\/pre>\n<p>Modify the TEMPLATE_DIRS directive:<\/p>\n<pre>TEMPLATE_DIRS = (\r\n    # The docs say it should be absolute path: PROJECT_PATH is precisely one.\r\n    # Life is wonderful!\r\n    os.path.join(PROJECT_PATH, \"templates\"),\r\n)<\/pre>\n<p>Add at least one template to CMS_TEMPLATES<\/p>\n<pre>CMS_TEMPLATES = (\r\n    ('template_1.html', 'Template One'),\r\n    ('template_2.html', 'Template Two'),\r\n)<\/pre>\n<p>Limit to English<\/p>\n<pre>LANGUAGES = [\r\n    ('en', 'English'),\r\n]<\/pre>\n<p>Finally save the settings.py file.<\/p>\n<p><strong>Define routes for our project<\/strong><\/p>\n<p>Open mynewproject\/mynewproject\/urls.py file and replace the content with the following<\/p>\n<pre>from django.conf.urls.defaults import *\r\nfrom django.conf.urls.i18n import i18n_patterns\r\nfrom django.contrib import admin\r\nfrom django.conf import settings\r\n\r\nadmin.autodiscover()\r\n\r\nurlpatterns = patterns('',\r\n\u00a0 url(r'^admin\/', include(admin.site.urls)),\r\n\u00a0 url(r'^', include('cms.urls')),\r\n)\r\nif settings.DEBUG:\r\n    urlpatterns = patterns('',\r\n    url(r'^media\/(?P&lt;path&gt;.*)$', 'django.views.static.serve',\r\n        {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),\r\n    url(r'', include('django.contrib.staticfiles.urls')),\r\n) + urlpatterns<\/pre>\n<p><strong>Create templates<\/strong><\/p>\n<p>Create a new directory templates<\/p>\n<pre class=\"brush: bash; gutter: false\">mkdir ~\/projects\/mynewproject\/templates<\/pre>\n<p>Open your favorite editor and create the following files:<\/p>\n<p>base.html<\/p>\n<pre>{% load cms_tags sekizai_tags %}\r\n&lt;html&gt;\r\n  &lt;head&gt;\r\n      {% render_block \"css\" %}\r\n  &lt;\/head&gt;\r\n  &lt;body&gt;\r\n      {% cms_toolbar %}\r\n      {% placeholder base_content %}\r\n      {% block base_content %}{% endblock %}\r\n      {% render_block \"js\" %}\r\n  &lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p>template_1.html<\/p>\n<pre>{% extends \"base.html\" %}\r\n{% load cms_tags %}\r\n\r\n{% block base_content %}\r\n  {% placeholder template_1_content %}\r\n{% endblock %}<\/pre>\n<p>template_2.html<\/p>\n<pre>{% extends \"base.html\" %}\r\n{% load cms_tags %}\r\n\r\n{% block base_content %}\r\n  {% placeholder template_2_content %}\r\n{% endblock %}<\/pre>\n<p><strong>Initialize the database and create a new superuser<\/strong><\/p>\n<pre>python manage.py syncdb --all\r\npython manage.py migrate --fake<\/pre>\n<p><strong>Check if everything is set up correctly<\/strong><\/p>\n<pre>python manage.py cms check<\/pre>\n<p>If you see &#8220;Installation okay&#8221;, it means everything is set up correctly.<\/p>\n<p><strong>Collect\u00a0 static files<\/strong><\/p>\n<pre>cd ~\/projects\/mynewproject\r\n.\/manage.py collectstatic<\/pre>\n<p><strong>Install and configure gunicorn<\/strong><\/p>\n<pre>pip install gunicorn<\/pre>\n<p>create a new configuration file (~\/.virtualenvs\/djangocms\/gunicorn_config.py) as follows<\/p>\n<pre>command = '~\/.virtualenvs\/djangocms\/bin\/gunicorn'\r\npythonpath = '~\/projects\/mynewproject'\r\nbind = '127.0.0.1:8011'\r\nworkers = 3\r\nuser = nobody<\/pre>\n<p>Start the gunicorn with the following command:<\/p>\n<pre>cd ~\/projects\/mynewproject &amp;&amp; gunicorn -c ~\/.virtualenvs\/djangocms\/gunicorn_config.py mynewproject.wsgi<\/pre>\n<p><strong>Configure Nginx<\/strong><\/p>\n<p>Create a new nginx virtual host<\/p>\n<pre>vim \/etc\/nginx\/sites-available\/your_domain.com<\/pre>\n<pre>server {\r\n\u00a0listen\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 80;\r\n\u00a0server_name\u00a0 your_domain.com;\r\n\r\n\u00a0\u00a0\u00a0 location \/static\/ {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 alias \/&lt;your_username&gt;\/projects\/mynewproject\/static\/;\r\n\u00a0\u00a0\u00a0 }\r\n\r\n\u00a0\u00a0\u00a0 location \/ {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proxy_pass_header Server;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proxy_set_header Host $http_host;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proxy_redirect off;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proxy_set_header X-Real-IP $remote_addr;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proxy_set_header X-Scheme $scheme;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proxy_connect_timeout 10;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proxy_read_timeout 10;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proxy_pass http:\/\/localhost:8011\/;\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0}\r\n\r\nln -s \/etc\/nginx\/sites-available\/your_domain.com \/etc\/nginx\/sites-enabled\/your_domain.com\r\n\/etc\/init.d\/nginx restart<\/pre>\n<p>That&#8217;s it. Now open your browser and navigate to your domain.<\/p>\n<p>For more info about the Django CMS please go to: http:\/\/docs.django-cms.org\/<\/p>\n<p>Of course you don\u2019t have to do any of this if you use one of our <a title=\"Linux VPS Hosting\" href=\"https:\/\/www.rosehosting.com\/managed-vps-hosting.html\" target=\"_blank\" rel=\"noopener noreferrer\">Linux VPS Hosting<\/a> services, in which case you can simply ask our expert Linux admins to install this for you. They are available 24\u00d77 and will take care of your request immediately.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>PS<\/strong>.<\/span> If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this blog post we will show you how to install the\u00a0Django CMS on a Ubuntu VPS with MariaDB, Nginx &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn  and Nginx\" class=\"read-more button\" href=\"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/#more-3415\" aria-label=\"Read more about Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn  and Nginx\">Read More<\/a><\/p>\n","protected":false},"author":4,"featured_media":3420,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1710,1702,1698,1712,1707],"tags":[427,428,177],"class_list":["post-3415","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cms-crm-erp","category-databases","category-ubuntu","category-web-frameworks","category-web-servers","tag-django-cms","tag-install-django","tag-linux-vps","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-33"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.7 (Yoast SEO v27.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx | RoseHosting<\/title>\n<meta name=\"description\" content=\"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx | RoseHosting\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx\" \/>\n<meta property=\"og:description\" content=\"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx | RoseHosting\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/\" \/>\n<meta property=\"og:site_name\" content=\"RoseHosting\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RoseHosting\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/rosehosting.helpdesk\" \/>\n<meta property=\"article:published_time\" content=\"2014-03-25T19:19:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-05T11:22:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2014\/03\/django_cms.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeff Wilson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rosehosting\" \/>\n<meta name=\"twitter:site\" content=\"@rosehosting\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeff Wilson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\\\/\"},\"author\":{\"name\":\"Jeff Wilson\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/person\\\/7ce77a842fa6a9a7f8efa186f2353713\"},\"headline\":\"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx\",\"datePublished\":\"2014-03-25T19:19:15+00:00\",\"dateModified\":\"2023-04-05T11:22:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\\\/\"},\"wordCount\":391,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/03\\\/django_cms.jpg\",\"keywords\":[\"django cms\",\"install django\",\"linux vps\"],\"articleSection\":[\"CMS, CRM, ERP\",\"Databases\",\"Ubuntu\",\"Web Frameworks\",\"Web Servers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\\\/\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\\\/\",\"name\":\"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx | RoseHosting\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/03\\\/django_cms.jpg\",\"datePublished\":\"2014-03-25T19:19:15+00:00\",\"dateModified\":\"2023-04-05T11:22:06+00:00\",\"description\":\"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx | RoseHosting\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/03\\\/django_cms.jpg\",\"contentUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/03\\\/django_cms.jpg\",\"width\":300,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\",\"name\":\"RoseHosting.com\",\"description\":\"Premium Linux Tutorials Since 2001\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\",\"name\":\"RoseHosting\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/android-chrome-192x192-1.png\",\"contentUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/android-chrome-192x192-1.png\",\"width\":192,\"height\":192,\"caption\":\"RoseHosting\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/RoseHosting\",\"https:\\\/\\\/x.com\\\/rosehosting\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/rosehosting\\\/\"],\"description\":\"RoseHosting is a leading Linux hosting provider, serving thousands of clients world-wide since 2001.\",\"email\":\"info@rosehosting.com\",\"telephone\":\"(314) 275-0414\",\"legalName\":\"Rose Web Services LLC\",\"foundingDate\":\"2001-04-02\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"11\",\"maxValue\":\"50\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/person\\\/7ce77a842fa6a9a7f8efa186f2353713\",\"name\":\"Jeff Wilson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"caption\":\"Jeff Wilson\"},\"description\":\"An experienced Linux veteran with many years of experience. Helping other Linux admins with frequent Linux and business-related blog posts on the RoseHosting blog. Techie by choice. Loving nature and travel. Happily married and father of two lovely children.\",\"sameAs\":[\"https:\\\/\\\/www.rosehosting.com\",\"https:\\\/\\\/www.facebook.com\\\/rosehosting.helpdesk\"],\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/author\\\/jwilson\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx | RoseHosting","description":"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx | RoseHosting","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/","og_locale":"en_US","og_type":"article","og_title":"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx","og_description":"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx | RoseHosting","og_url":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/","og_site_name":"RoseHosting","article_publisher":"https:\/\/www.facebook.com\/RoseHosting","article_author":"https:\/\/www.facebook.com\/rosehosting.helpdesk","article_published_time":"2014-03-25T19:19:15+00:00","article_modified_time":"2023-04-05T11:22:06+00:00","og_image":[{"width":300,"height":300,"url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2014\/03\/django_cms.jpg","type":"image\/jpeg"}],"author":"Jeff Wilson","twitter_card":"summary_large_image","twitter_creator":"@rosehosting","twitter_site":"@rosehosting","twitter_misc":{"Written by":"Jeff Wilson","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/#article","isPartOf":{"@id":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/"},"author":{"name":"Jeff Wilson","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/person\/7ce77a842fa6a9a7f8efa186f2353713"},"headline":"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx","datePublished":"2014-03-25T19:19:15+00:00","dateModified":"2023-04-05T11:22:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/"},"wordCount":391,"commentCount":1,"publisher":{"@id":"https:\/\/www.rosehosting.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/#primaryimage"},"thumbnailUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2014\/03\/django_cms.jpg","keywords":["django cms","install django","linux vps"],"articleSection":["CMS, CRM, ERP","Databases","Ubuntu","Web Frameworks","Web Servers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/","url":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/","name":"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx | RoseHosting","isPartOf":{"@id":"https:\/\/www.rosehosting.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/#primaryimage"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/#primaryimage"},"thumbnailUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2014\/03\/django_cms.jpg","datePublished":"2014-03-25T19:19:15+00:00","dateModified":"2023-04-05T11:22:06+00:00","description":"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx | RoseHosting","breadcrumb":{"@id":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/#primaryimage","url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2014\/03\/django_cms.jpg","contentUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2014\/03\/django_cms.jpg","width":300,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.rosehosting.com\/blog\/install-django-cms-on-ubuntu-12-04-with-mariadb-gunicorn-and-nginx\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.rosehosting.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Install Django CMS on Ubuntu 12.04 with MariaDB, Gunicorn and Nginx"}]},{"@type":"WebSite","@id":"https:\/\/www.rosehosting.com\/blog\/#website","url":"https:\/\/www.rosehosting.com\/blog\/","name":"RoseHosting.com","description":"Premium Linux Tutorials Since 2001","publisher":{"@id":"https:\/\/www.rosehosting.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.rosehosting.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.rosehosting.com\/blog\/#organization","name":"RoseHosting","url":"https:\/\/www.rosehosting.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2022\/03\/android-chrome-192x192-1.png","contentUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2022\/03\/android-chrome-192x192-1.png","width":192,"height":192,"caption":"RoseHosting"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RoseHosting","https:\/\/x.com\/rosehosting","https:\/\/www.linkedin.com\/in\/rosehosting\/"],"description":"RoseHosting is a leading Linux hosting provider, serving thousands of clients world-wide since 2001.","email":"info@rosehosting.com","telephone":"(314) 275-0414","legalName":"Rose Web Services LLC","foundingDate":"2001-04-02","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"11","maxValue":"50"}},{"@type":"Person","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/person\/7ce77a842fa6a9a7f8efa186f2353713","name":"Jeff Wilson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","caption":"Jeff Wilson"},"description":"An experienced Linux veteran with many years of experience. Helping other Linux admins with frequent Linux and business-related blog posts on the RoseHosting blog. Techie by choice. Loving nature and travel. Happily married and father of two lovely children.","sameAs":["https:\/\/www.rosehosting.com","https:\/\/www.facebook.com\/rosehosting.helpdesk"],"url":"https:\/\/www.rosehosting.com\/blog\/author\/jwilson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/3415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/comments?post=3415"}],"version-history":[{"count":1,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/3415\/revisions"}],"predecessor-version":[{"id":42228,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/3415\/revisions\/42228"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/media\/3420"}],"wp:attachment":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/media?parent=3415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/categories?post=3415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/tags?post=3415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}