Installation de Crème 1.3 sous linux - shamancid - 24-12-2013
Bonjour,
voici mon retour d'expérience sur l'installation de Crème 1.3, si vous avez des remarques n'hésitez pas.
Merci à ce forum et au magazine LinuxPratique
INSTALLATION CREME sur un UBUNTU 12.04.3
Tout est fait en root
Code : apt-get install mysql-client mysql-server mysql-common python libmysqlclient-dev python-dev libxslt1-dev graphviz graphviz-dev python-setuptools python-pip texlive-full mercurial pkg-config openjdk-7-jre
pip install virtualenvwrapper
cd
mkdir Envs
Rajouter à fin du fichier .bashrc les lignes suivantes
Code : vim .bashrc
–--------------------------------------------
#PARAM VIRTUALENV CREME
export WORKON_HOME=~/Envs
source /usr/local/bin/virtualenvwrapper.sh
–---------------------------------------------
source .bashrc
mkvirtualenv --no-site-packages crm
(crm)# hg clone https://bitbucket.org/hybird/creme_crm-1.3
(crm)# cd creme_crm-1.3/creme/
J'ai préféré faire toutes les installes qui sont dans le fichier requirements.txt une à une pour voir les erreurs.
Code : (crm)# pip install Django==1.4.8
(crm)# pip install MySQL-python==1.2.3
(crm)# pip install Pillow==2.0.0
(crm)# pip install South==0.7.4
(crm)# pip install django-mediagenerator==1.10.4
(crm)# pip install gdata==2.0.15
(crm)# pip install lxml==2.3
(crm)# pip install pycrypto==2.3
(crm)# pip install pygraphviz==1.1
Si erreur sur pygraphviz faire les manips suivantes
Code : vim creme_crm-1.3/creme/build/pygraphviz/setup.py
dé-commenter ligne 39 et 40
# Linux, generic UNIX
library_path='/usr/lib/graphviz'
include_path='/usr/include/graphviz'
Puis de nouveau
Code : (crm)# pip install pygraphviz==1.1
(crm)# pip install pyparsing==1.5.5
(crm)# pip install python-dateutil==1.5
(crm)# pip install pytz
(crm)# pip install restkit==2.2.1
(crm)# pip install simplejson==2.1.3
(crm)# pip install --upgrade wsgiref==0.1.2
(crm)# pip install xlrd==0.9.2
(crm)# pip install xlwt==0.7.5
Il faut ensuite s'occuper de la base de données :
Code : (crm)# mysql -u root -p
mysql> use mysql;
mysql> CREATE USER 'cremeuser'@'localhost' IDENTIFIED BY 'cremepasswd';
mysql> create database bdcremecrm;
mysql> GRANT ALL PRIVILEGES ON `bdcremecrm` . * TO 'cremeuser'@'localhost' WITH GRANT OPTION;
mysql> exit;
Créer le fichier suivant :
Code : (crm)# cd /root/creme_crm-1.3/creme/
(crm)# vim local_settings.py
-----------------------------------
from os.path import dirname, join, abspath
CREME_ROOT = dirname(abspath(__file__))
DEBUG = False
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'bdcremecrm',
'USER': 'cremeuser',
'PASSWORD': 'cremepasswd',
'HOST': '',
'PORT': '',
'OPTIONS': {'init_command': 'SET storage_engine=INNODB' },
},
}
–------------------------------
Et lancez les commandes remplissages de la base de données :
Code : (crm)# cd ..
(crm)# cp creme/local_settings.py .
(crm)# python manage.py syncdb
Would you like to create one now? (yes/no): yes
Username (leave blank to use 'root'):
E-mail address:
Error: That e-mail address is invalid.
E-mail address: root@localhost.fr
(crm)# python manage.py migrate --all
(crm)# python manage.py creme_populate
(crm)# python manage.py generatemedia
message d'erreur sur ERROR - URL not found: chantilly/images/expandme.gif
Mais OK
Code : (crm)# python manage.py runserver
Test avec l'adresse http://127.0.0.1:8000
Si OK passer à l'étape suivante
Installation Apache2
Code : apt-get install apache2-mpm-prefork libapache2-mod-wsgi
cd /etc/apache2
cp sites-available/default sites-available/cremecrm
vim sites-available/cremecrm
--------------------------------
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /root/creme_crm-1.3/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /root/creme_crm-1.3/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
WSGIScriptAlias / /root/creme_crm-1.3/creme/django.wsgi
<Directory /root/creme_crm-1.3/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /site_media /root/creme_crm-1.3/creme/media/
Alias /static_media /root/creme_crm-1.3/creme/media/static
</VirtualHost>
-------------------------------
vim /root/creme_crm-1.3/creme/django.wsgi
--------------------------------
import os
import sys
import site
from os.path import dirname, join, abspath
osys = sys.path
new_sys = ['/root/Envs/crm/lib/python2.7/site-packages/',]
new_sys.extend (sys.path)
sys.path = new_sys
site.addsitedir('/root/Envs/crm/lib/python2.7/site-packages')
site.addsitedir('/root/creme_crm-1.3')
from os.path import dirname, join, abspath
CREME_ROOT = dirname(abspath(__file__))
sys.path.append(CREME_ROOT)
os.environ['DJANGO_SETTINGS_MODULE'] = 'creme.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
-----------------------
Commentez les 2 lignes suivantes
Code : vim /root/creme_crm-1.3/creme/urls.py
-------------------------------------
# (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
#NB: in production, configure your web server to statically serve the files in the 'media/static/' dir (and so comment the following line)
# (r'^static_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.GENERATED_MEDIA_DIR}),
--------------------------------------
Modifiez celle-ci
Code : vim /root/creme_crm-1.3/creme/settings.py
---------------------------------
MEDIA_URL = 'http://127.0.0.1/site_media/'
---------------------------------
(crm)# cd /root/creme_crm-1.3/
(crm)# python manage.py generatemedia
a2dissite default
a2ensite cremecrm
service apache2 reload
attention au droit www-data:www-data sur cremecrm et Env
Re: Installation de Crème 1.3 sous linux - genglert - 24-12-2013
Merci pour votre contribution et joyeux Noël !!
Re: Installation de Crème 1.3 sous linux - Rene33 - 12-01-2014
Bonjour,
Merci pour ce tutoriel, qui m'a permis de réussir l'installation de la version 1.3 !
Bravo !
Et meilleurs voeux pour 2014 !
Pour la migration depuis la version 1.2, en suivant les indications du README, ça fonctionne sans problème.
Attention, il faut bien suivre le README qui est dans la distribution, car les instructions sur la page de bitbucket sont incomplètes (il manque la mise à jour des dates) :
Citation :And if you are upgrading from Creme 1.2:
- Run the following command:
>> python manage.py convert_naive_datetimes
- Clean all existing sessions, for example like this:
>> python manage.py shell
> from django.contrib.sessions.models import Session
> Session.objects.all().delete()
Bien penser à régler les locale car sinon ça bug. Cf. le début du tutoriel fait par martinlbb https://www.cremecrm.com/forum/showthread.php?tid=9&pid=177#pid177
Citation :Fixer la variable d'environnement de la langue d' encodage utilisé par le serveur :
export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure locales
export LANGUAGE=fr_FR.UTF-8
export LANG=fr_FR.UTF-8
export LC_ALL=fr_FR.UTF-8
locale-gen fr fr_FR.UTF-8
Attention, si message d’erreur à ce niveau, ça plantera à la fin
Personnellement, j'ai installé les packages d'un coup avec "pip install -r requirements.txt" et ça c'est bien passé...
Mais j'ai quand même un peu sué pour adapter le fichier de configuration d'Apache et django.wsgi à ma configuration...
Encore merci !
Re: Installation de Crème 1.3 sous linux - genglert - 12-01-2014
Citation :Attention, il faut bien suivre le README qui est dans la distribution, car les instructions sur la page de bitbucket sont incomplètes (il manque la mise à jour des dates) :
N'importe quoi. Le README dans les sources EST celui affiché par bitbucket. https://bitbucket.org/hybird/creme_crm-1.3 parle bien de la mise à jour des dates lors de la migration 1.2 vers 1.3. Maintenant si vous lisez le README d'une autre version...
Re: Installation de Crème 1.3 sous linux - Rene33 - 12-01-2014
Bonjour,
Merci pour ce commentaire.
Effectivement, le problème vient de l'endroit où l'on clique sur "sources". Quand on clique sur "sources" en haut de cette page on arrive sur une page de bitbucket sur laquelle on peut lire les instructions suivantes :
Citation :Creme is a free/open-source Customer Relationship Management software developped by Hybird (http://www.hybird.org).
Creme is coded in Python, and uses the Django web framework (http://www.djangoproject.com/) and
the JQuery javascript library (http://jquery.com/).
You can find more information on Creme on its official web site: http://cremecrm.com/
DEPENDENCIES:
- Core
- Python 2.6
- Django 1.4
- Django-mediagenerator 1.10
- South 0.7
- pytz
- Java >= 1.4 (only needed to build the compressed version of CSS and JavaScript files at installation time)
- Optional
- creme.creme_core:
- xlrd (to import contacts and organisations from xls files)
- xlwt (to export contacts and organisations as xls files)
- creme.billing:
- pdflatex (if you want PDF export)
-creme.graphs:
- pygraphviz (seems unavailable on windows)
- creme.activesync:
- Pillow 2.0.0
- restkit 2.2.1
- pycrypto 2.3
- creme.crudity:
- lcab (if you want Infopath forms exports and your server doesn't run on Windows)
RECOMMENDATIONS:
It's recommended to use a database engine that supports transactions.
INSTALL:
You have to know how to install a Django application.
Upgrade notice : if you already have a Creme installation, upgrade the version one by one
(eg: do not try to upgrade from 1.1 to 1.3, upgrade to 1.2 and then 1.3).
See the creme/settings.py and set your parameters (or put them in a new file called creme/local_settings.py instead).
When you have chosen the creme apps you want (by commenting the unwanted ones), and configured the DB parameters
run the following commands in the root directory:
>> python manage.py syncdb
[if it is the initial installation, you are asked if you want to create a new user ; you should create one]
>> python manage.py migrate
>> python manage.py generatemedia
[Do not worry about 'URL not found' messages]
>> python manage.py creme_populate
And if you are upgrading from Creme 1.3:
- Clean all existing sessions, for example like this:
>> python manage.py shell
> from django.contrib.sessions.models import Session
> Session.objects.all().delete()
Ça ressemble bien à l'installation de la version 1.3...
Effectivement si on remonte dans l'arborescence de Bitbucket, on arrive sur la version 1.3 et ses instructions.
Le problème vient donc du fait que le lien "sources" sur le forum renvoie vers la version de développement et pas la version stable en cours (alors que le lien sur le site est différencié).
Je pense que d'autres que moi pourraient commettre la même confusion. Et oublier la mise à jour des dates...
Re: Installation de Crème 1.3 sous linux - genglert - 12-01-2014
Citation :Ça ressemble bien à l'installation de la version 1.3...
Forcément, l'installation de la version N+1 ressemblera souvent celle de de la version N ; si on change tout à chaque fois je pense que les utilisateurs vont hurler, à raison.
Code : And if you are upgrading from Creme 1.3:
Cette ligne prouve bien que l'on parle de la version qui suit 1.3 (mais c'est subtile).
Citation :Le problème vient donc du fait que le lien "sources" sur le forum renvoie vers la version de développement et pas la version stable en cours
En effet je vais en parler à l'administrateur du forum.
Re: Installation de Crème 1.3 sous linux - jc147 - 19-05-2014
Bonjour,
Je tiens tout d'abord à remercier les développeurs pour leur travail. En parcourant la version de démo, j'ai l'impression d'avoir enfin trouvé un CRM répondant à mes besoins ! Et j'en ai essayé un bon nombre et même les payants ne répondaient pas à mes attentes !
J'ai décidé de me lancer dans l'installation de la version 1.4 sur un serveur dédié.
J'ai suivi ce tutoriel pas à pas sans rencontrer d'erreur, à part à l'étape runserver ou je n'ai pu tester en local car c'est un serveur distant.
Mais maintenant que j'ai terminé l'installation, je suis confronté à une erreur 403 Forbidden...
J'ai bien mis les droits en read sur le dossier Envs et creme_crm-1.4 et pour l'utilisateur www-data.
Voici mes paramètres virtualhost apache :
Code : WSGIScriptAlias / /root/creme_crm-1.4/creme/django.wsgi
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /root/creme_crm-1.4
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /root/creme_crm-1.4/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory /root/creme_crm-1.4/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /site_media /root/creme_crm-1.4/creme/media/
Alias /static_media /root/creme_crm-1.4/creme/media/static
</VirtualHost>
Voici le log apache :
Citation :[Mon May 19 12:14:43 2014] [notice] caught SIGTERM, shutting down
[Mon May 19 12:14:44 2014] [warn] mod_wsgi: Compiled for Python/2.7.2+.
[Mon May 19 12:14:44 2014] [warn] mod_wsgi: Runtime using Python/2.7.3.
[Mon May 19 12:14:44 2014] [notice] Apache/2.2.22 (Ubuntu) mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
[Mon May 19 12:14:46 2014] [error] [client *.*.*.*] (13)Permission denied: access to / denied
Dans le log, on a comme l'impression qu'on tente d'accéder à la racine du serveur "/" et non pas au dossier de creme.
Merci d'avance !
Re: Installation de Crème 1.3 sous linux - jmarmand - 19-05-2014
Bonjour et merci de l'attention que vous portez à Crème.
Concernant votre problème plusieurs points :
- l'endroit où se trouve les sources de Crème doit être accessible par l'utilisateur utilisé par votre apache (qui est la plupart du temps l'utilisateur www-data)
- vous avez déposé les sources de crème dans un sous répertoire de /root qui est le répertoire du root (et normalement accessible qu'à celui-ci).
Je vous conseille de déplacer votre crème dans un sous répertoire de /www (qui est le répertoire communément utilisé pour stocker les sites web) et de vérifier ensuite que l'utilisateur www-data y a bien accès.
Cela devrait mieux fonctionner après cela.
Re: Installation de Crème 1.3 sous linux - jc147 - 20-05-2014
Merci de votre réponse rapide.
En effet, je me doutais que l'emplacement n'était pas forcement idéal, mais le tutoriel indiquant cela, je me suis dit que cela devrait tout de même fonctionner.
J'ai donc copié le répertoire de crème dans un sous dossier de /var/www et même si ce n'est pas nécessaire, mais dans le doute, j'ai aussi copié le répertoire Envs...
J'ai également mis a jours mon virtualhost avec la nouvelle arborescence. L'erreur s'est maintenant transformée en erreur 500.
Voici le log Apache :
Code : [Mon May 19 18:13:17 2014] [notice] Apache/2.2.22 (Ubuntu) mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
[Mon May 19 18:13:28 2014] [error] [client *.*.173.223] mod_wsgi (pid=717): Exception occurred processing WSGI script '/var/www/creme/django.wsgi'.
[Mon May 19 18:13:28 2014] [error] [client *.*.173.223] Traceback (most recent call last):
[Mon May 19 18:13:28 2014] [error] [client *.*.173.223] File "/var/www/Envs/crm/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 219, in __call__
[Mon May 19 18:13:28 2014] [error] [client *.*.173.223] self.load_middleware()
[Mon May 19 18:13:28 2014] [error] [client *.*.173.223] File "/var/www/Envs/crm/lib/python2.7/site-packages/django/core/handlers/base.py", line 39, in load_middleware
[Mon May 19 18:13:28 2014] [error] [client *.*.173.223] for middleware_path in settings.MIDDLEWARE_CLASSES:
[Mon May 19 18:13:28 2014] [error] [client *.*.173.223] File "/var/www/Envs/crm/lib/python2.7/site-packages/django/utils/functional.py", line 184, in inner
[Mon May 19 18:13:28 2014] [error] [client *.*.173.223] self._setup()
[Mon May 19 18:13:28 2014] [error] [client *.*.173.223] File "/var/www/Envs/crm/lib/python2.7/site-packages/django/conf/__init__.py", line 42, in _setup
[Mon May 19 18:13:28 2014] [error] [client *.*.173.223] self._wrapped = Settings(settings_module)
[Mon May 19 18:13:28 2014] [error] [client *.*.173.223] File "/var/www/Envs/crm/lib/python2.7/site-packages/django/conf/__init__.py", line 95, in __init__
[Mon May 19 18:13:28 2014] [error] [client *.*.173.223] raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
[Mon May 19 18:13:28 2014] [error] [client *.*.173.223] ImportError: Could not import settings 'creme.settings' (Is it on sys.path?): No module named creme.settings
Une fois de plus, merci d'avance de votre aide ! Je compte beaucoup sur votre CRM !
Re: Installation de Crème 1.3 sous linux - jmarmand - 21-05-2014
Bonsoir,
ici cela vient à priori d'une erreur dans votre django.wsgi. Il doit manquer une information dans le fichier.
Pouvez vous me le copier coller ici ?
|