GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Installez Django CMS sur Ubuntu 12.04 avec MariaDB, Gunicorn et Nginx

Dans cet article de blog, nous allons vous montrer comment installer le CMS Django sur un VPS Ubuntu avec MariaDB, Nginx et Gunicorn .

Django CMS est un système de gestion de contenu open source basé sur le framework Web Django. Certaines des fonctionnalités principales incluent :basé sur des plugins, jolies URL, gestion des autorisations, applications, édition frontale, analyses, blog ..etc.

La commande suivante installera tous les packages nécessaires

apt-get updateapt-get install -y python-software-properties python python-dev

Installez la dernière version de Nginx

add-apt-repository ppa:nginx/stableapt-get update &&sudo apt-get install nginx

Installez MariaDB et créez une base de données.

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 precise main'apt-get updateecho -e "Package :*\nPin :origin ftp.osuosl.org\nPin-Priority :1000" | tee /etc/apt/preferences.d/mariadbapt-get install mariadb-server libmariadbclient-dev
mysql -uroot -pMariaDB [(aucun)]> CRÉER UNE BASE DE DONNÉES dcms;MariaDB [(aucun)]> ACCORDER TOUS LES PRIVILÈGES SUR dcms.* À 'dcmsuser'@'localhost' IDENTIFIÉ PAR 'pa33W0rd';MariaDB [(aucun )]> PRIVILÈGES FLUSH ; MariaDB [(aucun)]> \q

Installer pip

curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python-

Créer un environnement virtuel à l'aide de pip

sudo pip install --upgrade virtualenvmkdir -p ~/.virtualenvs/djangocmsvirtualenv ~/.virtualenvs/djangocmssource ~/.virtualenvs/djangocms/bin/activate

Créez un fichier requirements.txt avec le contenu suivant

# Bare minimumdjango-cms==2.4.1#Ces dépendances sont introduites par django-cms, mais si vous souhaitez verrouiller leur version, spécifiez-lesDjango==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#Packages optionnels recommandésPillow==2.0.0django-filer==0.9. 4cmsplugin-filer==0.9.5django-reversion==1.7

Installer Django CMS

pip install --upgrade --download-cache=~/.pip-cache -r requirements.txt

Créez votre projet Django CMS

mkdir ~/projectscd ~/projectsdjango-admin.py startproject monnouveauprojet

Ouvrez le fichier ~/projects/mynewproject/mynewproject/settings.py et ajoutez ce qui suit en haut du fichier :

# -*- codage :utf-8 -*-import osgettext =lambda s :sPROJECT_PATH =os.path.split(os.path.abspath(os.path.dirname(__file__)))[0] 

Ajoutez les détails de votre base de données :

BASES DE DONNEES ={ 'default' :{ 'MOTEUR' :'django.db.backends.mysql', 'NOM' :'dcms', 'UTILISATEUR' :'dcms', 'MOT DE PASSE' :'pa33W0rd', ' HÔTE' :'', 'PORT' :'', }}

Ajoutez les applications suivantes aux 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') 

Ajoutez les lignes suivantes à la liste 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', # Décommentez la ligne suivante pour une protection simple contre le détournement de clic :# 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'cms.middleware.page.CurrentPageMiddleware', 'cms.middleware.user. CurrentUserMiddleware', 'cms.middleware.toolbar.ToolbarMiddleware', 'cms.middleware.language.LanguageCookieMiddleware',)

Ajoutez ce qui suit à la fin du fichier :

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',)

Remplacez les directives STATIC_ROOT et MEDIA_ROOT par :

STATIC_ROOT =os.path.join(PROJECT_PATH, "static")STATIC_URL ="/static/"MEDIA_ROOT =os.path.join(PROJECT_PATH, "media")MEDIA_URL ="/media/"

Modifiez la directive TEMPLATE_DIRS :

TEMPLATE_DIRS =( # La documentation indique qu'il devrait s'agir d'un chemin absolu :PROJECT_PATH en est précisément un. # La vie est merveilleuse ! os.path.join(PROJECT_PATH, "templates"),)

Ajoutez au moins un modèle à CMS_TEMPLATES

CMS_TEMPLATES =( ('template_1.html', 'Template One'), ('template_2.html', 'Template Two'),)

Limiter à l'anglais

LANGUAGES =[ ('en', 'English'),]

Enfin, enregistrez le fichier settings.py.

Définir les itinéraires pour notre projet

Ouvrez le fichier mynewproject/mynewproject/urls.py et remplacez le contenu par ce qui suit

from django.conf.urls.defaults import *from django.conf.urls.i18n import i18n_patternsfrom django.contrib import adminfrom django.conf import settingsadmin.autodiscover()urlpatterns =patterns('',  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

Créer des modèles

Créer un nouveau répertoire de modèles

mkdir ~/projects/mynewproject/templates

Ouvrez votre éditeur préféré et créez les fichiers suivants :

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

{% extend "base.html" %}{% load cms_tags %}{% block base_content %} {% placeholder template_1_content %}{% endblock %}

template_2.html

{% extend "base.html" %}{% load cms_tags %}{% block base_content %} {% placeholder template_2_content %}{% endblock %}

Initialiser la base de données et créer un nouveau superutilisateur

python manage.py syncdb --allpython manage.py migrate --fake

Vérifiez si tout est correctement configuré

python manage.py cms vérification

Si vous voyez "L'installation est correcte", cela signifie que tout est correctement configuré.

Collecter des fichiers statiques

cd ~/projects/mynewproject./manage.py collectstatic

Installer et configurer gunicorn

pip install gunicorn

créez un nouveau fichier de configuration (~/.virtualenvs/djangocms/gunicorn_config.py) comme suit

commande ='~/.virtualenvs/djangocms/bin/gunicorn'pythonpath ='~/projects/mynewproject'bind ='127.0.0.1:8011'workers =3user =personne

Démarrez le gunicorn avec la commande suivante :

cd ~/projects/monnouveauprojet &&gunicorn -c ~/.virtualenvs/djangocms/gunicorn_config.py monnouveauprojet.wsgi

Configurer Nginx

Créer un nouvel hôte virtuel nginx

vim /etc/nginx/sites-available/votre_domaine.com
serveur { écouter       80 ; nom_serveur votre_domaine.com ; emplacement /static/ {        alias //projects/mynewproject/static/ ; }    emplacement / {        serveur proxy_pass_header ; proxy_set_header Hôte $http_host ; proxy_redirect désactivé ; 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

C'est ça. Ouvrez maintenant votre navigateur et accédez à votre domaine.

Pour plus d'informations sur le CMS Django, rendez-vous sur :http://docs.django-cms.org/

Bien sûr, vous n'avez rien à faire si vous utilisez l'un de nos services d'hébergement VPS Linux, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de l'installer pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.

PS . Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.


Panels
  1. Installez WordPress avec HHVM, Nginx et MariaDB sur un Ubuntu 12.04 LTS

  2. Comment installer phpMyAdmin avec HHVM, Nginx et MariaDB sur un VPS Ubuntu 14.04

  3. Installez gpEasy CMS avec NGINX et PHP5-FPM sur un VPS Ubuntu 14.04

  4. Installer Croogo sur un VPS Ubuntu avec Nginx et MariaDB

  5. Installer HumHub sur un VPS Ubuntu avec Nginx et MariaDB

Comment installer Grav CMS avec Nginx sur Ubuntu 16.04

Comment installer Wordpress avec Nginx, MariaDB et HHVM sur Ubuntu 16.04 LTS

Comment installer Django avec PostgreSQL et Nginx sur Ubuntu 16.04

Comment installer Wordpress avec Nginx, MariaDB et HHVM dans Ubuntu 15.04

Configurer Django avec Postgres, Nginx et Gunicorn sur Ubuntu 18.04

Installer WordPress avec Memcached et Nginx sur Ubuntu