食べられません

プログラミングとか漫画とか生活とか

GithubからOdooをUbuntu14.04に導入してみる

Odoo(旧称OpenERP)はベルギーのOpenERP S.A.社により開発とりまとめが行われている、世界で大人気のオープンソースの業務アプリケーションスイートです。

Open Source ERP and CRM | Odoo

何か知らんがプロジェクト管理が急にやって来たので、前から使ってみようと思ってたコレを導入してみる。

環境はUbuntu Server 14.04LTSでOdooはGithubから

Ubuntuを最新の状態に

sudo apt-get update
sudo apt-get upgrade -y

PostgreSQLのインストール

sudo apt-get install postgresql -y
sudo su - postgres -c "createuser -s odoo" 2> /dev/null || true

必要なパッケージのインストール

# tool packages
sudo apt-get install wget subversion git bzr bzrtools python-pip -y

# python packages
sudo apt-get install python-dateutil python-feedparser python-ldap python-libxslt1 python-lxml python-mako python-openid python-psycopg2 python-pybabel python-pychart python-pydot python-pyparsing python-reportlab python-simplejson python-tz python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt python-yaml python-zsi python-docutils python-psutil python-mock python-unittest2 python-jinja2 python-pypdf python-decorator python-requests python-passlib python-pil -y

# python libraries
sudo pip install gdata

odooユーザーの作成とログフォルダの作成

sudo adduser --system --quiet --shell=/bin/bash --home=/var/odoo --group odoo
sudo mkdir /var/log/odoo
sudo chown odoo:odoo /var/log/odoo

Odooのインストール

sudo git clone --branch 8.0 https://www.github.com/odoo/odoo /var/odoo/odoo-server/
# make custom module directory
sudo su odoo -c "mkdir -p /var/odoo/custom/addons"
# setting permissions
sudo chown -R odoo:odoo /var/odoo/*
# create config file
sudo cp /var/odoo/odoo-server/debian/openerp-server.conf /etc/odoo-server.conf
sudo chown odoo:odoo /etc/odoo-server.conf
sudo chmod 640 /etc/odoo-server.conf
# edit config file
sudo sed -i s/"db_user = .*"/"db_user = odoo"/g /etc/odoo-server.conf
sudo sed -i s/"; admin_passwd.*"/"admin_passwd = xxxxxxxxxxxxxxx"/g /etc/odoo-server.conf
sudo sed -i "s|addons_path = .*|addons_path = /var/odoo/odoo-server/addons,/var/odoo/custom/addons|g" /etc/odoo-server.conf
sudo su root -c "echo 'logfile = /var/log/odoo/odoo-server.log' >> /etc/odoo-server.conf"
# create startup file
sudo vim /var/odoo/odoo-server/start.sh

#!/bin/sh
sudo -u odoo /var/odoo/odoo-server/openerp-server --config=/etc/odoo-server.conf

sudo chmod 755 /var/odoo/odoo-server/start.sh

起動スクリプト作成

sudo wget https://gist.githubusercontent.com/NaturalHokke/1575bb515c6583b39e3f/raw/c2d28feec5906176fb7e52070e640523cb3199de/odoo-server -O /etc/init.d/odoo-server
sudo chmod 755 /etc/init.d/odoo-server
sudo chown root: /etc/init.d/odoo-server

スクリプトでの起動確認

sudo /etc/init.d/odoo-server start sudo tail -f /var/log/odoo/odoo-server.log でPort: 8069で起動している事を確認。
ブラウザでアクセスしてちゃんと画面出ればOK

sudo /etc/init.d/odoo-server stop

自動起動設定

sudo update-rc.d odoo-server defaults

ここまででOdooの設定は完了したので、あとはPort80で使えるようにNginx入れて終了です。

Nginxインストール

sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nginx
sudo /etc/init.d/nginx start

これでPort: 80でアクセスしてNginxのGreetingsページが出ればOK。

Nginx設定

upstream odoo {
  server 127.0.0.1:8069;
}

server {
  listen    80  default_server;
  listen    [::]:80 default_server;
  server_name   odoo.dev.green-bell.jp;

  access_log    /var/log/nginx/odoo.access.log;
  error_log /var/log/nginx/odoo.error.log;

  proxy_buffers 16 64k;
  proxy_buffer_size 128k;
  keepalive_timeout   60;

  location / {
    proxy_pass  http://odoo;
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    proxy_redirect off;

    proxy_set_header    Host            $host;
    proxy_set_header    X-Real-IP       $remote_addr;
    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

リンクしてreloadしてOK(疲れた