Installation de Crème 1.2 sous Linux
#11
WWOOOOOOOOOOOOOOTTT !!! Ça y est !! Je suis dans CREME_CRM et ça marche enfin !!!

Alors en espérant que ça puisse en aider d'autres :
J'ai fait une erreur et cette erreur m'a aidé ! En analysant les logs j'ai remarqué que le problème vient à l'installation de distribute.Une fois installé on peut lire
Code :
Running setup.py install for distribute

    Running command /home/www/sites/creme/bin/python -c "import setuptools;__file__='/home/www/sites/creme/build/distribute/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-tV676Z-record/install-record.txt --single-version-externally-managed --install-headers /home/www/sites/creme/include/site/python2.6
    Before install bootstrap.

    Scanning installed packages

    Setuptools installation detected at /home/www/sites/creme/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg

    Egg installation

    Patching...

    Renaming /home/www/sites/creme/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg into /home/www/sites/creme/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg.OLD.1348674164.47

    Patched done.

    Relaunching...

    Traceback (most recent call last):

      File "<string>", line 1, in <module>

    NameError: name 'install' is not defined

    Complete output from command /home/www/sites/creme/bin/python -c "import setuptools;__file__='/home/www/sites/creme/build/distribute/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-tV676Z-record/install-record.txt --single-version-externally-managed --install-headers /home/www/sites/creme/include/site/python2.6:

    Before install bootstrap.

Scanning installed packages

Setuptools installation detected at /home/www/sites/creme/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg

Egg installation

Patching...

Renaming /home/www/sites/creme/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg into /home/www/sites/creme/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg.OLD.1348674164.47

Patched done.

Relaunching...

Traceback (most recent call last):

  File "<string>", line 1, in <module>


et le petit
Code :
Traceback (most recent call last):

  File "<string>", line 1, in <module>
se présentait à chaque action dans l'environnement python.

Donc au lieu de faire "pip install -r requirements.txt" j'ai fait "pip install" pour chaque paquet jusqu'à ce que je vois que le problème vient bien de distribute. Une fois que cette erreur est là, on efface tout et on recommence ! J'ai donc supprimé l'environnement à nouveau, je l'ai recréé, je tente "pip install distribute=0.6.15" et là mon erreur est grossière, j'ai pas pris la peine de relancer l'environnement tout juste créé... ARGH ! Je m'enmêle les pinceaux, je recrée l'environnement et cette fois au lieu de lire que virtualenv m'installe setuptools et pip, il m'installe distribute et pip, donc comme distribute existe dans la bonne version sur la machine, que cette fois je crée l'environnement sans l'option "--no-site-packages", je me met à installer les autres paquets de requirements.txt sauf distribute. Tout le monde me suit jusque là ? Parce que le bout où je m'enmêle les pinceaux est pas évident puisque moi-même je suis pas complètement sûr de ce qui s'est passé (j'étais énervé et épuisé à ce moment là de la journée).
Bref je laisse les choses ainsi pour la nuit et ce matin je reprend là où j'en étais.. un petit syncdb (ouaouh ça marche), un petit migrate --all, creme_populate, generatemedia, runserver, connexion à la page(!! Smile), connexion avec login et mot de passe (!!!! Big Grin Big Grin Big Grin) et je suis enfin dans Creme !!

Donc la piste pour ceux qui auraient le même problème, installer distribute sur la machine au lieu de l'environnement, puis créer l'environnement ensuite et installer finalement les autres paquets de requirements.txt (vous pouvez mettre la ligne de distribute en commentaire).

Et Voilà Big Grin
  Répondre
#12
Le tutoriel d'installation en mode Serveur Linux.

lien expiré

Ma petite contribution (à enrichir ...) car malgré tout je n'ai pas réussi à faire fonctionner l'upload de fichiers (images) et la récupération de fichiers uploadés (autre que les images) pour l'instant.


A+
  Répondre
#13
Merci pour le temps que tu as passé à écrire ce tutoriel.

Je le relirais et je te ferais des retours (voire continuer la partie sur ce qui est upload) dès que possible.
  Répondre
#14
Bonjour,

Nous souhaitons tester Creme comme une alternative à Vtiger ou SugarCrm car la possibilité d'éditer les relations entre entités nous semble séduisante.
J'ai donc essayé d'installer Creme sur un serveur linux avec Apache... Mais j'ai du mal. En particulier car je ne suis pas informaticien...
Pour tout dire, j'ai loué une part de serveur chez Gandi. J'ai installé le serveur (il tourne pour une instance Vtiger que nous testons actuellement, mais justement, on en voit les limites en terme de fonctionnalités) et je me suis lancé en suivant les tutoriels de ce forum (celui de ce fil et en particulier le document de Mehdi (merci !).
Après pas mal de prises de tête... J'ai l'impression d'avoir à peu près installé Creme... mais ça ne marche pas.
A la fin de l'installation, j'ai un message d'erreur à l'étape "python manage.py generatemedia"
Code :
Generating l10n.js with variation {'language': 'en'}
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "/root/.virtualenvs/creme/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/root/.virtualenvs/creme/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/root/.virtualenvs/creme/local/lib/python2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/root/.virtualenvs/creme/local/lib/python2.7/site-packages/django/core/management/base.py", line 220, in execute
    output = self.handle(*args, **options)
  File "/root/.virtualenvs/creme/local/lib/python2.7/site-packages/django/core/management/base.py", line 351, in handle
    return self.handle_noargs(**options)
  File "/root/.virtualenvs/creme/local/lib/python2.7/site-packages/mediagenerator/management/commands/generatemedia.py", line 10, in handle_noargs
    generate_media()
  File "/root/.virtualenvs/creme/local/lib/python2.7/site-packages/mediagenerator/api.py", line 21, in generate_media
    for key, url, content in backend.get_output():
  File "/root/.virtualenvs/creme/local/lib/python2.7/site-packages/mediagenerator/generators/bundles/bundles.py", line 33, in get_output
    variation, combination)
  File "/root/.virtualenvs/creme/local/lib/python2.7/site-packages/mediagenerator/generators/bundles/bundles.py", line 72, in generate_file
    output = list(backend.get_output(variation))
  File "/root/.virtualenvs/creme/local/lib/python2.7/site-packages/mediagenerator/filters/yuicompressor.py", line 31, in get_output
    "Error was: %s" % e)
ValueError: Failed to execute Java VM or yuicompressor. Please make sure that you have installed Java and that it's in your PATH and that you've configured YUICOMPRESSOR_PATH in your settings correctly.
Error was: [Errno 2] No such file or directory

Je ne sais pas si le problème vient de là...
J'ai tout de même démarré le serveur, il démarre sans erreur, mais quand je me loge sur le site j'ai un time out...
Sur le log d'erreur d'apache, il n'y a rien.
Je ne sais pas où trouver les logs de creme...
Et je me demande comment faire pour faire tourner le serveur sans avoir à le démarrer manuellement à chaque fois ?
Mes questions sont peut-être un peu bizarre... mais je n'y connais vraiment pas grand chose !
Merci
René
  Répondre
#15
Bonjour et merci de l'attention que vous portez à Crème.
Concernant votre erreur, la commande generatemedia a besoin de Java pour pouvoir compresser certains fichiers qui seront du coup plus légers à charger par la suite.
Il faut donc que vous installiez Java et cela devrait résoudre votre problème.
  Répondre
#16
Bonjour,

Merci pour votre réponse. Effectivement, ça ne pouvait pas marcher. J'ai donc installé Tomcat7, et relancé dans l'environnement depuis "python manage.py syncdb". Plus de message d'erreur (sauf les "url not found"). L'installation s'est donc apparemment bien passée. A la commande "runserver" apparemment le serveur démarre et indique 0 errors.
Mais quand j'essaie de me connecter via le web... time out !
Dans le log d'Apache, je ne vois rien au moment où j'ai fait mes essais. En revanche, je trouve un log en pleine nuit... bizarre !
Code :
[Tue Apr 30 05:23:02 2013] [notice] Graceful restart requested, doing restart
[Tue Apr 30 05:23:02 2013] [error] (9)Bad file descriptor: apr_socket_accept: (client socket)
Fatal Python error: PyEval_AcquireThread: NULL new thread state
Fatal Python error: PyEval_AcquireThread: NULL new thread state
Fatal Python error: PyEval_AcquireThread: NULL new thread state
Fatal Python error: PyEval_AcquireThread: NULL new thread state
Fatal Python error: PyEval_AcquireThread: NULL new thread state
Fatal Python error: PyEval_AcquireThread: NULL new thread state
Fatal Python error: PyEval_AcquireThread: NULL new thread state
Fatal Python error: PyEval_AcquireThread: NULL new thread state
Fatal Python error: PyEval_AcquireThread: NULL new thread state
Fatal Python error: PyEval_AcquireThread: NULL new thread state
apache2: Could not reliably determine the server's fully qualified domain name, using 92xxx.xxx.xxx for ServerName
[Tue Apr 30 05:23:02 2013] [warn] NameVirtualHost 92.xxx.xxx.xxx:80 has no VirtualHosts
PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/apache2/conf.d/imap.ini on line 1 in Unknown on line 0
PHP Warning:  Module 'PDO' already loaded in Unknown on line 0
[Tue Apr 30 05:23:02 2013] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
[Tue Apr 30 05:23:02 2013] [notice] mod_python: using mutex_directory /tmp
[Tue Apr 30 05:23:02 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3 with Suhosin-Patch mod_python/3.3.1 Python/2.7.3 mod_ssl/2.2.22 OpenSSL/1.0.1c mod_wsgi/3.4 configured -- resuming normal operations
[Tue Apr 30 05:23:02 2013] [warn] long lost child came home! (pid 20688)
[Tue Apr 30 05:23:02 2013] [notice] child pid 20693 exit signal Aborted (6)
[Tue Apr 30 05:23:02 2013] [notice] child pid 20695 exit signal Aborted (6)
[Tue Apr 30 05:23:02 2013] [notice] child pid 20763 exit signal Aborted (6)
[Tue Apr 30 05:23:02 2013] [notice] child pid 928 exit signal Aborted (6)
[Tue Apr 30 05:23:02 2013] [notice] child pid 929 exit signal Aborted (6)
[Tue Apr 30 05:23:02 2013] [notice] child pid 936 exit signal Aborted (6)
[Tue Apr 30 05:23:02 2013] [notice] child pid 937 exit signal Aborted (6)
[Tue Apr 30 05:23:02 2013] [notice] child pid 1985 exit signal Aborted (6)
[Tue Apr 30 05:23:02 2013] [notice] child pid 4491 exit signal Aborted (6)
[Tue Apr 30 05:23:02 2013] [notice] child pid 7120 exit signal Aborted (6)
Aucune idée si cela a un rapport...

En revanche, dans .virtualenvs, j'ai trouvé un fichier hook.log qui à la date où je fais les essais indique des messages que je ne comprends pas
Code :
2013-04-30 09:10:47,579 DEBUG virtualenvwrapper.hook_loader Running initialize hooks
2013-04-30 09:10:47,609 DEBUG stevedore.extension found extension EntryPoint.parse('user_scripts = virtualenvwrapper.user_scripts:initialize')
2013-04-30 09:10:47,616 DEBUG stevedore.extension found extension EntryPoint.parse('project = virtualenvwrapper.project:initialize')
2013-04-30 09:10:47,626 DEBUG virtualenvwrapper.hook_loader Saving sourcable initialize hooks to /tmp/virtualenvwrapper-initialize-hook-2jtJxrMpWf
2013-04-30 09:10:47,626 DEBUG stevedore.extension found extension EntryPoint.parse('user_scripts = virtualenvwrapper.user_scripts:initialize_source')
2013-04-30 09:20:09,645 DEBUG virtualenvwrapper.hook_loader Running pre_activate hooks
2013-04-30 09:20:09,653 DEBUG stevedore.extension found extension EntryPoint.parse('user_scripts = virtualenvwrapper.user_scripts:pre_activate')
2013-04-30 09:20:09,658 DEBUG virtualenvwrapper.user_scripts pre_activate
2013-04-30 09:20:09,658 DEBUG virtualenvwrapper.user_scripts running ['/root/.virtualenvs/preactivate', 'creme']
2013-04-30 09:20:09,665 DEBUG virtualenvwrapper.user_scripts running ['/root/.virtualenvs/creme/bin/preactivate', 'creme']
2013-04-30 09:20:09,670 DEBUG virtualenvwrapper.hook_loader Saving sourcable pre_activate hooks to /tmp/virtualenvwrapper-pre_activate-hook-fsPHPsBE9i
2013-04-30 09:20:09,763 DEBUG virtualenvwrapper.hook_loader Running post_activate hooks
2013-04-30 09:20:09,768 DEBUG virtualenvwrapper.hook_loader Saving sourcable post_activate hooks to /tmp/virtualenvwrapper-post_activate-hook-PAp7vBckGg
2013-04-30 09:20:09,768 DEBUG stevedore.extension found extension EntryPoint.parse('user_scripts = virtualenvwrapper.user_scripts:post_activate_source')
2013-04-30 09:20:09,771 DEBUG stevedore.extension found extension EntryPoint.parse('project = virtualenvwrapper.project:post_activate_source')
2013-04-30 09:20:09,772 DEBUG virtualenvwrapper.user_scripts post_activate

Je viens de refaire des essais. En modifiant le virtualhost pour mettre les lignes d'alias après la fin de la section
J'obtiens des messages bizarres, quand je fais le runserver et surtout quand je tente de l'arrêter par un ctrl C
Code :
Validating models...

0 errors found
Django version 1.3.7, using settings 'creme.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
^C(creme)root@ixxx:/srv/d_xxx/www/creme.xxx-xxx.fr/creme_crm-1.2/creme# Unhandled exception in thread started by <bound method Command.inner_run of <django.core.management.commands.runserver.Command object at 0x881d84c>>
Traceback (most recent call last):
  File "/root/.virtualenvs/creme/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 107, in inner_run
    run(self.addr, int(self.port), handler, ipv6=self.use_ipv6)
  File "/root/.virtualenvs/creme/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 696, in run
    httpd.serve_forever()
  File "/usr/lib/python2.7/SocketServer.py", line 235, in serve_forever
    r, w, e = _eintr_retry(select.select, [self], [], [],
AttributeError: 'NoneType' object has no attribute 'select'
^C

Je dois avouer que je sèche un peu. Et il y a une chose que je ne comprends pas de toute façon, c'est qu'il semble qu'il faille démarrer à chaque fois le serveur django... ce qui n'est pas très pratique...
Si je peux avoir quelques lumières...
Merci.
René
  Répondre
#17
Alors lorsque vous utilisez Apache, il ne faut plus relancer le serveur de développement (et il ne faut surtout pas utiliser le serveur de développement sur un serveur dédié public).
Pour Apache il faut configurer votre Virtualhost correctement. Pouvez-vous me donner une copie de votre fichier virtualhost (par message privé si vous voulez) ?
  Répondre
#18
BOnjour,

Je viens d'envoyer un message via le contact du site de Hybird... Je ne sais pas si c'est le bon moyen...
Sinon, voici mon virtualhost :
Code :
<VirtualHost 92.xxx.xxx.xxx:80>
    ServerName creme.xxxxx-conseil.fr
    ServerAdmin xxxx@xxxx-conseil.com

    DocumentRoot /srv/d_xxxx/www/creme.xxx-conseil.fr/creme_crm-1.2/creme
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory /srv/d_xxx/www/creme.xxx-conseil.fr/creme_crm-1.2/creme>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
    WSGIScriptAlias / /srv/d_xxx/www/creme.xxx-conseil.fr/creme_crm-1.2/creme/django.wsgi
    WSGIPythonPath /root/.virtualenvs/creme/lib/python2.7/site-packages
    Alias /site_media/ /srv/d_xxx/www/creme.xxx-conseil.fr/creme_1.2/creme/media

Comme expliqué dans mon mail depuis que j'ai mis les WSGI...Alias après le (ma compréhension du texte posté par Mehdi) non seulement ça ne fonctionne pas mieux, mais en plus ça plante mon autre site sur le même serveur...
SI je ne lance pas le serveur "python manage.py runserver", quand je vais sur le site "creme.xxx-conseil.fr", j'obtiens simplement la liste du dossier "creme"... Si je lance le serveur, je n'obtiens rien et je sors sur un timeout.

Je dois avouer que je n'ai pas très bien compris la notion de serveur de développement. Et que dois-je faire pour installer directement sur un serveur Apache ???

Merci

René
  Répondre
#19
Bonsoir,

Je progresse (enfin il me semble).
Je pense avoir commencé à comprendre un peu, en allant sur le site de django.
J'ai donc essayé d'adapter mon virtualhost et mon fichier httpd.conf...
Maintenant j'obtiens une erreur 500 et dans le log d'erreur d'apache, je trouve
Code :
mod_wsgi (pid=13386): Exception occurred processing WSGI script '/srv/d_xxx/www/creme.xxxx-conseil.fr/creme_crm-1.2/creme/django.wsgi'.
[Wed May 01 00:12:39 2013] [error] [client 109.215.7.222] Traceback (most recent call last):
[Wed May 01 00:12:39 2013] [error] [client 109.215.7.222]   File "/usr/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 219, in __call__
[Wed May 01 00:12:39 2013] [error] [client 109.215.7.222]     self.load_middleware()
[Wed May 01 00:12:39 2013] [error] [client 109.215.7.222]   File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 47, in load_middleware
[Wed May 01 00:12:39 2013] [error] [client 109.215.7.222]     raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e))
[Wed May 01 00:12:39 2013] [error] [client 109.215.7.222] ImproperlyConfigured: Error importing middleware mediagenerator.middleware: "No module named mediagenerator.middleware"

Là je suis perdu....
Merci

René
  Répondre
#20
Bonjour...

J'ai encore progressé... mais ça ne marche toujours pas via le serveur Apache.
En fait j'ai suivi les conseils de Karon_shell (https://www.cremecrm.com/forum/showthread.php?tid=21, et j'ai essayé le serveur de développement comme il l'indique. Et là ça tourne.
J'ai donc bien un problème de paramètrage d'Apache.
Apparemment, l'exécution de django.wsgi appelle non pas les packages de l'environnement virtuel, mais le python installé en dur (/usr/lib/python2.7...). Est-ce normal ?
J'ai essayé pas mal de réglages de PYTHONPATH, PYTHONHOME, de modifications du virtualhost, du .bashrc ou du httpd.conf, sans aucun succès (si ce n'est de temps en temps de planter tout le serveur...).
Je me demande si je ne devrais pas faire une nouvelle install from scratch... Mais je ne sais pas comment tout désinstaller proprement !

Any idea ???
Merci
René
  Répondre


Atteindre :


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