使用 Openupgrade 升級至 Odoo 12.0

於 GCP ubuntu 18.04 安裝 odoo 11(遠端資料庫)

於 Ubuntu 16.04 安裝 odoo 9.0(遠端資料庫)- 安裝篇

# on 16.04 LTS you can simply install the package:
sudo apt update
sudo apt -y upgrade

sudo vi /etc/network/interfaces

********************************
auto eth0
iface eth0 inet static
address 192.168.1.241
netmask 255.255.255.0
gateway 192.168.1.254
dns-nameservers 8.8.8.8 8.8.4.4
********************************

sudo adduser –system –home=/home/odoo –group odoo
sudo su – odoo -s /bin/bash
sudo mkdir /var/lib/odoo

sudo su
add-apt-repository “deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -sc)-pgdg main”
wget –quiet -O – https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add –
apt update
apt install postgresql-9.6

wget -O – https://nightly.odoo.com/odoo.key | apt-key add –
echo “deb http://nightly.odoo.com/9.0/nightly/deb/ ./” >> /etc/apt/sources.list
apt-get update && apt-get install odoo

sudo apt-get install -y xfonts-utils xfonts-base xfonts-75dpi libfontenc1 libxfont1 xfonts-encodings

wget https://downloads.wkhtmltopdf.org/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb
dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb

config location
/etc/odoo/openerp-server.conf

odoo location
/usr/lib/python2.7/dist-packages/openerp/addons

CentOS 7.0 安裝 odoo 9.0(遠端資料庫)- 轉移篇

於前篇 CentOS 7.0 安裝 odoo 9.0(遠端資料庫)- 安裝篇 ,我們安裝全新的 Odoo 9.0

接著在轉移篇中我們會將於 Ubuntu 中運行的 Odoo 轉移至 CentOS 下

轉移 Filestore(假定需轉移資料庫名稱為 odoo)
# 於 Ubuntu Server
cd /var/lib/odoo/.local/share/Odoo/filestore
tar zcvf odoo_fs.tar.gz odoo
scp odoo_fs.tar.gz root@192.168.1.237:~

# 於 CentOS Server
tar zxvf odoo_fs.tar.gz
/bin/cp -rf odoo /var/lib/odoo/filestore/
Chown -R odoo: /var/lib/odoo/filestore/
rm -rf odoo odoo_fs.tar.gz
轉移 Apps(需注意 mis_builder 與 web_widget_color 存放在 odoo 資料夾中)
# 於 Ubuntu Server
/bin/cp -rf /usr/lib/python2.7/dist-packages/openerp/addons/mis_builder /usr/lib/python2.7/dist-packages/openerp/addons/web_widget_color /opt/apps_odoo9
cd /opt
tar zcvf odoo_apps.tar.gz apps_odoo9
scp odoo_apps.tar.gz root@192.168.1.237:~

# 於 CentOS Server
tar zxvf odoo_apps.tar.gz && rm -rf odoo_apps.tar.gz
mv apps_odoo9 /opt/
Chown -R root: /opt/apps_odoo9
轉移字型檔

由於 CentOS 7.0 中並沒有預載我們所需的字型 – DejaVu Sans YuanTi

因此直接從舊主機上轉移過來字型檔,並放入合適的資料夾後重新建立字型快取

# 於 Ubuntu Server
cd /usr/share/fonts/truetype/dejavu/
tar zcvf odoo_fonts.tar.gz DejaVuSans-BoldOblique.ttf DejaVuSans-Bold.ttf DejaVuSans-Oblique.ttf DejaVuSans.ttf
scp odoo_fonts.tar.gz root@192.168.1.237:~

# 於 CentOS Server
tar zxvf odoo_fonts.tar.gz
/bin/cp -rf ./ttf /usr/share/fonts/dejavu && rm -rf odoo_fonts.tar.gz *.ttf
fc-cache -fv

再來到 Odoo 8/9 中, Settings / General Settings / Report Font 中調整字型即完成

系統檔案資料

odoo 資料夾:/usr/lib/python2.7/site-packages/openerp/addons

odoo 設定檔:/etc/odoo/openerp-server.conf

odoo 紀錄檔:/var/log/odoo/odoo-server.log

odoo 檔案區:/var/lib/odoo/.local/share/Odoo/filestore (Ubuntu,owner = odoo)

odoo 檔案區:/var/lib/odoo/filestore (CentOS,owner = odoo)

字型資料夾:/usr/share/fonts/

reportlab 資料夾:/usr/lib64/python2.7/site-packages/reportlab/fonts/

潛在問題

1. 列印報表檔案內容為空白,容量 0 byte

經測試 wkhtmltopdf 只有 0.12.2.1 可正常顯示,0.12.1、0.12.4.1 都無法正常產生 PDF 檔

2. 錯誤訊息:Can’t find .pfb for face ‘Times-Roman’(尚未確認是否會遇到)

依照此連結 http://stackoverflow.com/questions/28281891/cant-setfonttimes-roman-missing-the-t1-files

下載 pfb 檔案後,解壓縮至 /usr/lib64/python2.7/dist-packages/reportlab/fonts/

fonts 目錄可能並不存在,需要先手動建立

cd /usr/lib64/python2.7/site-packages/reportlab/fonts/
wget http://www.reportlab.com/ftp/fonts/pfbfer.zip && unzip pfbfer.zip
rm -rf pfbfer.zip
3. ImportError: No module named gevent.monkey
easy_install pip
pip install gevent

 

參考資料

[10.0] Generated empty PDF file

How to use custom fonts in RML reports?

Tar 指令教學

在 VM 中增加 ubuntu 的硬碟空間

公司內部使用的虛擬機硬碟空間初始配置的容量都不大(約 30GB)

經常使用很快就會遇到空間不足的問題,此時可直接透過系統工具加大容量

首先直接將 VM 的虛擬磁碟的空間加大,這部分不介紹(如有快照,需先移除,否則無法增加容量,增加後需重開機)

安裝分割程式
sudo apt-get update
sudo apt-get -y install parted
事先確認空間使用量
df -h

vmextend_ubuntu_01

檔案系統 /dev/mapper/odoo–vg-root 是我們想增加容量的對象

可以看到『 / 』有 32G 的容量,還剩下 21G

 

進行切割
sudo parted
> print free

vmextend_ubuntu_02

最下方顯示尚有 64.4GB 的閒置空間

 

> mkpart primary xx.xGB xx.xGB (請依據 print 的內容處理)
> print (確認新增磁區成功)
> set 3 lvm on (3 為新增磁碟區在 print 中顯示的磁碟編號)
> quit

vmextend_ubuntu_03png

 

sudo fdisk -l

vmextend_ubuntu_04

可以看到 /dev/sda3 是我們新切出來的空間

 

使用 lvs 指令查詢 VG(Vol Group)

sudo lvs

vmextend_ubuntu_05

可以看到 VG 名稱為 odoo-vg

 

使用 pvs 指令查詢 VG(Vol Group)對應的 PV(Physical Volume)

sudo pvs

vmextend_ubuntu_06

 

使用 pvcreate 建立 PV

sudo pvcreate /dev/sda3

vmextend_ubuntu_07

 

使用 vgextend 將新增的 PV 加入 VG 中

sudo vgextend odoo-vg /dev/sda3

vmextend_ubuntu_08

 

使用 pvscan 確認 pv 都被使用

sudo pvscan

vmextend_ubuntu_09

這邊可以看到目前還有剩餘空間 60.00G

 

使用 lvextend 將 60.00G 加入檔案系統(如果跳出空間不足,可以改小一點)

sudo lvextend -L +60.00G /dev/mapper/odoo--vg-root

vmextend_ubuntu_12

如果檔案系統名稱為『 /dev/dm-0 』,會無法加入

ls /dev/mapper

vmextend_ubuntu_15

檔案系統就使用『 odoo–vg-root

 

使用 resize2fs 調整 filesystem 的容量

sudo resize2fs /dev/mapper/odoo--vg-root(檔案系統名稱,可於 df -h 中查詢)

vmextend_ubuntu_13

 

最後使用 df -h 確認空間擴充完成了

df -h

vmextend_ubuntu_14

可以看到『 / 』可用空間增加為 47 G了喔

PostgreSQL 啟用遠端存取功能

剛安裝完 PostgreSQL 時,只能接受本機(Localhost)連線

優點是安全性較高、但也無法將『程式』與『資料庫』分離、也無法使用遠端管理工具

 

以下是修改設定的過程

CentOS

su
vim /var/lib/pgsql/9.4/data/postgresql.conf

listen_addresses = 'locahost'

修改為

listen_addresses = '*'

再修改 pg_hba.conf

vim /var/lib/pgsql/9.4/data/pg_hba.conf

新增一行

host    all             all             192.168.5.0/24(要的網段)          md5

重新載入 postgresql 即可

service postgresql reload

 

ubuntu

sudo vim /etc/postgresql/9.3/main/postgresql.conf

listen_addresses = 'locahost'

修改為

listen_addresses = '*'

再修改 pg_hba.conf

sudo vim /etc/postgresql/9.3/main/pg_hba.conf

新增一行

host    all             all             192.168.5.0/24(要的網段)          md5

重新載入 postgresql 即可

sudo service postgresql reload