MasRaka - Odoo adalah CMS Open Source untuk management sales, accounting, inventory, website builder dan lain-lain. Biasanya Odoo digunakan pada perusahaan yang memiliki banyak cabang.
Dengan nama Open Source, maka Odoo ini disediakan secara free / gratis. Memang tidak mudah mengelola CMS yang satu ini, diperlukan developer / Odoo Consultant yang memang sudah ahli dibidang ini. Karena jarang developer yang bisa customize Odoo / Optimization Odoo.
Odoo versi terbaru saat ini adalah 9, namun masih banyak yang menggunakan 8.
Minimum Requirement System
- 2 CPU Core & 2 GB RAM- Storage: 40 GB
- Ubuntu 14.04 / 16.04
User Site Requirement
- Untuk 5 user site/database: 2 CPU Core & 2 GB RAM- Untuk 20-25 user site/database: 4 CPU Core & 8 GB RAM
Installation
Pertama: VPSSiapkan VPS dengan OS Ubuntu dengan versi 14.04 atau 16.04. Tetapi pada artikel ini saya menggunakan versi 16.04 dengan menggunakan webserver Nginx.
Kedua: Secure with Firewall CSF
Untuk installasi Firewall CSF diartikel berbeda, bisa dicek disini Cara Installasi CSF (Config Server Firewall) di VPS.
Ketiga: Add repository Odoo
#wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
#echo "deb http://nightly.odoo.com/8.0/nightly/deb/ ./" >> /etc/apt/sources.list
Keempat: Update Ubuntu, Install & Setup PostgreSQL
#apt-get update
#apt-get install postgresql
#su - postgres
Kelima: Create Database & Install Python
#createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo
ketikan "exit" (untuk keluar dari postgresql)
#sudo apt-get install python-cups python-dateutil python-decorator python-docutils python-feedparser \python-gdata python-geoip python-gevent python-imaging python-jinja2 python-ldap python-libxslt1 \python-lxml python-mako python-mock python-openid python-passlib python-psutil python-psycopg2 \python-pybabel python-pychart python-pydot python-pyparsing python-pypdf python-reportlab python-requests \python-simplejson python-tz python-unicodecsv python-unittest2 python-vatnumber python-vobject \python-werkzeug python-xlwt python-yaml
Keenam: Install Odoo & Checking Port of Odoo (8069)
#apt-get install odoo
#netstat -plntu
Ketujuh: Install Nginx & LetsEncrypt SSL
#apt-get install nginx letsencrypt
#systemctl stop nginx
Kedelapan: Setup LetsEncrypt
#letsencrypt certonly --standalone
Setelah itu isikan data-datanya pada saat setup, lalu path sslnya ada di: /etc/letsencrypt/live/domain.com/fullchain.pem
Baca Juga: Cara Instalasi CentOS WebPanel
Kesembilan: Configuration Odoo & Link Config from sites-available to sites-enabled
#cd /etc/nginx/sites-available/
#nano odoo
Isikan config berikut ke dalam file odoo:
## Odoo Backend ## upstream odooerp { server 127.0.0.1:8069; } ## https site## server { listen 443 default_server; server_name domain.com; # log files access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; # ssl files ssl on; # Use certificate and key provided by Let's Encrypt: ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv3 SSLv2; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDH+AESGCM:!DH+AESGCM:ECDH+AES256:!DH+AES256:ECDH+AES128:!DH+AES:ECDH+3DES:!DH+3DES:!DH+AES128:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS:!LOW:!MEDIUM'; try_files $uri $uri/ =404; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $IPServer; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; proxy_ssl_session_reuse off; proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade; proxy_redirect off; # proxy buffers proxy_buffers 16 64k; proxy_buffer_size 128k; ## odoo proxypass with https ## location / { proxy_pass http://odooerp; # force timeouts if the backend dies proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; # set headers proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } # cache some static data in memory for 60mins location ~* /web/static/ { proxy_cache_valid 200 60m; proxy_buffering on; expires 864000; proxy_pass http://odooerp; } } ## http redirects to https ## server { listen 80; server_name domain.com; # Strict Transport Security add_header Strict-Transport-Security max-age=2592000; rewrite ^/.*$ https://$host$request_uri? permanent; }
Config tersebut juga sekaligus memforce http ke https. Serta juga mengakses Odoo tanpa mengunakan port 8069.
Kemudian link-kan sites-available ke sites-enabled, tujuannya supaya tidak perlu repot-repot menuliskan config ulang pada sites-enabled.
#ln -s /etc/nginx/sites-available/odoo /etc/nginx/sites-enabled/odoo
Kesepuluh: Restart config also check configuration for syntax error & start nginx
#nginx -t
#systemctl start nginx
Kemudian coba akses domainnya, oh ya. Untuk domain perlu diarahkan ke IP Server menggunakan A records.
Untuk setup Database Odoo akan dilanjutkan pada artikel selanjutnya jika saya sedang ada waktu luang😄
Terimakasih telah berkunjung,
Jika ada yang ingin ditanyakan, silakan berkomentar dibawah.