Mise en production CREMECRM 1.6 sous linux
#1
Bonjour,

J'ai installé et paramétré CREMECRM sous ubuntu server 16.04.
A priori l'installation s'est bien déroulée, j'ai suivi votre tutoriel (qui datait de la version 1.2 mais toujours valable).

J'arrive maintenant dans le paramétrage d'Apache et là je suis un peu perdu.
J'ai déclaré un VirtualHost *.80 qui pointe vers mon dossier creme.
Code :
WSGIScriptAlias / /var/www/crm/creme/django.wsgi
WSGIPythonPath /var/www/crm/.virtualenvs/creme/lib/python2.7/site-packages

<VirtualHost *:80>
        ServerAdmin informatique@duval-metalu.fr

        DocumentRoot /var/www/crm/creme

        <Directory /var/www/crm/creme>
                AllowOverride None
                 Order deny,allow
                 Allow from all
        </Directory>


</VirtualHost>

J'ai configuré le fichier WSGI.
Je pense avoir paramétré correctement le fichier settings.py pour définir les constantes SITE_DOMAIN et MEDIA_ROOT.
Code :
SITE_DOMAIN = 'http://srvcrm'  # No end slash!

APPEND_SLASH = False

ROOT_URLCONF = 'creme.urls'  # Means urls.py

LOGIN_REDIRECT_URL = '/'
LOGIN_URL = '/creme_login/'
LOGOUT_URL = '/creme_logout/'

# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = join(CREME_ROOT, "media")

Le serveur apache fonctionne bien mais je ne sais pas comment accéder au site creme que j'ai défini.
N'ayant pas d'environnement graphique sur le serveur, je n'ai pas lancé la plateforme de développement django en localhost.

Pouvez-vous m'éclairer ?
Merci
  Répondre
#2
Citation :j'ai suivi votre tutoriel (qui datait de la version 1.2 mais toujours valable)

Dans la section "Tutoriels" où vous venez de poster, le tout 1er thread est actuellement "Installation de Crème CRM 1.6 sous Linux".

Citation :N'ayant pas d'environnement graphique sur le serveur, je n'ai pas lancé la plateforme de développement django en localhost.

Le serveur de développement ne fonctionne pas uniquement en localhost ; c'est juste que le tutoriel est fait pour que les gens fassent plutôt une première installation en local afin de minimiser les problèmes possibles, et donc faciliter les premiers tests avant une installation en production.

Code :
python manage.py runserver ipaddr:port
  Répondre
#3
Oui j'avais vu cette page mais il n'y a pas la partie installation avec Apache (ou alors je l'ai loupé).

Ca fonctionne avec runserver, mais du coup je ne comprends pas l'utilité d'Apache et du virtualhost.
Je vais laisser comme ca pour le moment pour voir si le produit convient, je me replongerai dedans pour l'installation définitive si besoin.
  Répondre
#4
Oui le serveur de développement n'est pas censé être utilisé en production (il ne servira qu'un client à la fois ce n'est donc pas imaginable avec plusieurs utilisateurs à la fois pour un usage décent).
Mais mon collègue n'a jamais pris le temps de faire la seconde partie du tutoriel. Ça reste globalement un déploiement Django classique ; mais je vais le relancer pour qu'il l'écrive.

J'espère que malgré ce désagrément vous serez content du résultat.
  Répondre
#5
Ce n'est pas un désagrément, je découvre l'environnement Django en même temps que CremeCRM donc il y a des choses à mettre au point de mon coté.

Merci et surement à bientôt.
  Répondre
#6
Bonjour,

Normalement vous avez du configurer un nom de domaine pour votre serveur Apache. Avec une configuration DNS qui fait que votre nom de domaine pointe vers l'IP de votre serveur.
Du coup pour accéder à Creme, dans votre navigateur, vous devez taper l'url du nom de domaine que vous avez choisi pour Crème.
En regardant votre config, je vois que votre mail de serveur admin est informatique@duval-metalu.fr
Peut-être que du coup le nom de domaine de Crème est creme.duval-metalu.fr ou crm.duval-metalu.fr ou tout autre.
Mais dans tous les cas il faut faire les configs DNS pour que que le nom de domaine pointe sur Apache.
  Répondre
#7
Ca c'est bon, j'ai bien le DNS qui pointe sur le serveur apache.

Je n'ai pas l'habitude des projets Python / Django donc je ne savais pas qu'il fallait lancer manage.py runserver systématiquement et du coup où intervient apache là dedans.
Je dois me plonger dans Django pour voir un peu comment ca fonctionne. Apparemment ce n'est pas aussi trivial qu'un projet php.

Merci pour vos réponses.
  Répondre
#8
Bonsoir,

il ne faut surtout pas lancer le runserver en production. Le runserver est là pour l'aide au développement.

En production vous avez un serveur qui va faire fonctionner le python (un gunicorcn, un wsgi, ou un "mod apache" comme mod_wsgi) et un serveur statique si vous choisissez d'en avoir un (apache , nginx ou autre).

Dans le cas du tutoriel écris sur le forum, c'est Apache + Mod_wsgi, vous avez donc forcement un apache, mais vous pourriez décider d'utilier uwsgi seul ou uwsgi + nginx ou uwsgi + apache.

Il y a plein de possibilité mais le runserver en production n'en est pas une.

Vous pouvez lire la partie de la documentation django parlant de déploiement si vous voulez, cela vous donnera une vision plus globale (le lien que je vous donne est celui de la doc django 1.11) : https://docs.djangoproject.com/en/1.11/ ... eployment/
  Répondre
#9
Ok, merci pour les explications.
Je vais me plonger dans la doc Django.
  Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 5 visiteur(s)