You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

259 lines
6.6 KiB

5 years ago
  1. # Install odoo on a linux server
  2. > by Thibault François
  3. ## Installation basique
  4. ##### 1) ajouter un utilisateur odoo
  5. # adduser odoo
  6. ##### 2) installation de postgresql (DBMS)
  7. # apt-get install postgresql
  8. ##### 3) install git
  9. # apt-get install git
  10. ##### 4) installer pip : python package manager
  11. # apt-get install python-pip
  12. ##### 5) installation des paquets devel pour compilation des bibliothèques python
  13. # apt-get install python-dev postgresql-server-dev-all libjpeg-dev zlib1g-dev libpng12-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev
  14. ##### 6) installation de node-less
  15. # apt-get install node-less
  16. ##### 7) clone odoo
  17. # su odoo
  18. $ cd /home/odoo
  19. $ git clone https://github.com/odoo/odoo.git
  20. ##### 8) installer bibliothèque python
  21. $ exit
  22. # cd /home/odoo/odoo
  23. # pip install -r requirements.txt
  24. ##### 9) créer odoo user pour postgresql avec les droits de création de base de donnée
  25. # su postgres
  26. $ createuser -d odoo
  27. $ exit
  28. ##### 10) Installer wkhtml to pdf 0.12.1 !! (pas une autre) (sur une machine 64 bit avec un ubuntu 64bit 14.04)
  29. # apt-get install fontconfig libfontconfig1 libxrender1 fontconfig-config
  30. # wget http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb
  31. # dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb
  32. # cd /usr/local/bin/
  33. # cp wkhtmltoimage /usr/bin/wkhtmltoimage
  34. # cp wkhtmltopdf /usr/bin/wkhtmltopdf
  35. ##### 11) Tester l'installation de odoo
  36. # su odoo
  37. $ cd /home/odoo/odoo
  38. $ ./odoo.py
  39. lancer le navigateur http://localhost:8069 la page de création de base de donnée d'odoo devrait s'ouvrir, essayé de créer une base de donnée
  40. ctrl + c pour tuer le processus odoo depuis la console
  41. ## Pour aller plus loin: init.d script
  42. ##### 1) créer un répertoire de log
  43. # su odoo
  44. $ mkdir /home/odoo/log
  45. ##### 2) créer fichier de config odoo
  46. $ cd /home/odoo/odoo
  47. $ ./odoo.py -s -c /home/odoo/odoo.conf --stop-after-init --logfile=/home/odoo/log/odoo.log
  48. ##### 3) Créer le fichier init.d
  49. $ exit
  50. $ vim /etc/init.d/odoo
  51. copier le contenu dans le fichier (gedit va aussi bien que vim)
  52. #!/bin/sh
  53. ### BEGIN INIT INFO
  54. # Provides: openerp-server
  55. # Required-Start: $remote_fs $syslog
  56. # Required-Stop: $remote_fs $syslog
  57. # Should-Start: $network
  58. # Should-Stop: $network
  59. # Default-Start: 2 3 4 5
  60. # Default-Stop: 0 1 6
  61. # Short-Description: Enterprise Resource Management software
  62. # Description: Open ERP is a complete ERP and CRM software.
  63. ### END INIT INFO
  64. PATH=/bin:/sbin:/usr/bin
  65. DAEMON=/home/odoo/odoo/odoo.py
  66. NAME=odoo
  67. DESC=odoo
  68. # Specify the user name (Default: openerp).
  69. USER=odoo
  70. # Specify an alternate config file (Default: /etc/openerp-server.conf).
  71. CONFIGFILE="/home/odoo/odoo.conf"
  72. # pidfile
  73. PIDFILE=/var/run/$NAME.pid
  74. # Additional options that are passed to the Daemon.
  75. DAEMON_OPTS="-c $CONFIGFILE"
  76. [ -x $DAEMON ] || exit 0
  77. [ -f $CONFIGFILE ] || exit 0
  78. checkpid() {
  79. [ -f $PIDFILE ] || return 1
  80. pid=`cat $PIDFILE`
  81. [ -d /proc/$pid ] && return 0
  82. pid=`cat $PIDFILE`
  83. [ -d /proc/$pid ] && return 0
  84. return 1
  85. }
  86. case "${1}" in
  87. start)
  88. echo -n "Starting ${DESC}: "
  89. start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
  90. --chuid ${USER} --background --make-pidfile \
  91. --exec ${DAEMON} -- ${DAEMON_OPTS}
  92. echo "${NAME}."
  93. ;;
  94. stop)
  95. echo -n "Stopping ${DESC}: "
  96. start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
  97. --oknodo
  98. echo "${NAME}."
  99. ;;
  100. restart|force-reload)
  101. echo -n "Restarting ${DESC}: "
  102. start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
  103. --oknodo
  104. sleep 1
  105. start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
  106. --chuid ${USER} --background --make-pidfile \
  107. --exec ${DAEMON} -- ${DAEMON_OPTS}
  108. echo "${NAME}."
  109. echo "${NAME}."
  110. ;;
  111. *)
  112. N=/etc/init.d/${NAME}
  113. echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
  114. exit 1
  115. ;;
  116. esac
  117. exit 0
  118. ##### 4) donner les bons droits au fichier
  119. # chmod 755 /etc/init.d/odoo
  120. ##### 5) tester le script
  121. # /etc/init.d/odoo start
  122. tester à nouveau sur localhost:8069
  123. ##### 6) faire en sorte que le script s'exécute au démarrage
  124. # update-rc.d odoo defaults
  125. ## Pour aller plus loin: proxy nginx
  126. ##### 1) installer nginx
  127. # apt-get install nginx
  128. vous pouvez tester l'installation réussie sur http://localhost
  129. ##### 2) configurer nginx pour odoo : editer le fichier de conf
  130. # vim /etc/nginx/sites-enabled/default
  131. supprimer le contenu et le remplacer par
  132. upstream odoo {
  133. server 127.0.0.1:8069 weight=1 fail_timeout=300s;
  134. }
  135. server {
  136. # server port and name
  137. listen 80;
  138. server_name localhost;
  139. location / {
  140. proxy_pass http://odoo;
  141. # force timeouts if the backend dies
  142. proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
  143. # set headers
  144. proxy_set_header Host $host;
  145. proxy_set_header X-Real-IP $remote_addr;
  146. proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
  147. }
  148. }
  149. ##### 3) tester la config et relancer nginx
  150. # nginx -t
  151. # nginx -s reload
  152. tester http://localhost
  153. devrait conduire à odoo (ne pas oublier de vider le cache de son navigateur au cas ou ca ne marche pas tout de suite)
  154. ## Sécurité
  155. > odoo plus accessible sur le port et changer le master password
  156. a) editer fichier de conf de odoo
  157. # vim /home/odoo/odoo.conf
  158. changer
  159. admin_passwd = admin
  160. xmlrpc_interface =
  161. pour
  162. admin_passwd = secret_password
  163. xmlrpc_interface = 127.0.0.1
  164. b) redémarrer odoo
  165. # /etc/init.d/odoo restart