1.1 Odoo的結構
Odoo使用Web瀏覽器來訪問Odoo服務,因此你的Odoo服務器可以部署在較遠的地方(如另外一個城市),用戶的計算機上只需安裝谷歌、火狐或 IE9 以上的瀏覽器,所以Web客戶端不需要特別的維護。
一個 Odoo 系統由兩個主要的組件組成:
1)數據庫服務器PostgreSQL,它包含了所有的數據庫,每個數據庫都包含了部分Odoo系統設置和全部客戶數據。
2)Odoo應用服務,Odoo應用服務包含了所有的企業邏輯並保證Odoo的最優性能
數據庫服務和 Odoo 服務可被安裝到同一台服務器上,如果出於性能的考慮,也可分布到不同的計算機上。
注:Postgresql, 是一個免費、開源和高性能的對象-關系型數據庫管理系統。它可在各種類型的操作系統上運行,從 Unix/Linux到不同版本的Windows,從Mac OS X、Solaris、SunOS到BSD。
1.2 Odoo的安裝
下面的表匯總了不同的安裝方法。
表:在 Windows或Linux中的安裝方法對比。
方法 |
安裝時間 |
復雜程度 |
備注 |
在線演示模式 |
無需安裝 |
簡單 |
對於快速試用非常有用 |
Windows上的All-In-One 安裝 |
幾分鍾 |
簡單 |
安裝所有組件在一台計算機上,對於快速試用非常有用,同時也能應用於生產環境 |
Ubuntu上的Deb包安裝 |
幾分鍾 |
簡單 |
簡單並且快速,適用於實際生產環境 |
注:穩定版本和開發版本
Odoo包含穩定版本(Stable)和開發版本(Master)。
開發Master版本分支將集成新的功能。這個分支比穩定版本更先進,但是可能含沒被發現和修正的缺陷。Odoo制作了代碼源,只要需要,你可以下載最新的Master開發版本(http://nightly.odoo.com/master/nightly/)。
穩定版本分支被設計應用於生產環境。它經過長時間的測試和校驗,僅每年產生。對於穩定版本,僅僅進行缺陷的修復。
1.3.1 在Windows上獨立安裝Odoo
測試Odoo,或小微企業的生產環境,可采用 Windows 上的安裝。
下載地址: http://nightly.odoo.com/10.0/nightly/exe/ 。
下載后采用管理員身份運行,采用默認值安裝即可。
注:windows下安裝目錄的路徑不要帶中文,不然會導致界面無法運行的問題,系統的登錄名也避免使用中文。
1.3.2在Ubuntu Server 16.04 LTS中安裝Odoo
Odoo10.0最適用的Ubuntu版本為“Ubuntu Server Server 16.04 LTS”,建議在生產環境准備或正式生產環境采用Odoo開發時的默認環境:操作系統 Ubuntu 16.04 Server LTS,數據庫建議為PostgreSQL9.3或以上版本。
本節將指導你在廣泛使用的Linux發行版Ubuntu中安裝Odoo服務。
注:針對其它Linux發行版,如CentOS,Odoo也有相應的的安裝包,其安裝與Ubuntu上的安裝類似。
1.3.2.1 將Ubuntu升級到最新。
如果你Ubuntu系統默認更新源服務器不是http://cn.archive.ubuntu.com,為了以后更新和安裝軟件速度有保證,建議將更新源換為國內的門戶服務器,這樣在速度上有保障。在國內推薦的是網易 163 的更新源地址,更換方法如下:
$ sudo vi /etc/apt/sources.list
將國外或香港的網址如“ http://hk.archive.ubuntu.com”替換為“http://mirrors.163.com”,然后在終端中執行下列命令:
$ sudo apt-get update
$ sudo apt-get upgrade
1.3.2.2 PostgreSQL數據庫的安裝
Odoo適用的PostgreSQL為9.3或以上版本。
安裝 postgresql
$ sudo apt-get install postgresql
注:psql和pgAdmin工具
Psql 是一個簡單的 PostgreSQL 客戶端,它從命令行運行。
如果你選擇用圖形界面操作你的數據庫,你可以安裝 pgAdminⅢ(在Windows中它一般隨PostgreSQL一起安裝)。
Psql和pgadmin是很有用的工具, 當Odoo服務出現問題時,你可以使用這兩個工具對Odoo數據庫直接進行操作, 以解決Odoo服務的問題。
1.3.2.3 Odoo服務的安裝
執行下列命令:
1)下載 Odoo 最新版本
$ wget http://nightly.odoo.com/10.0/nightly/deb/odoo_10.0c.latest_all.deb
2)安裝 Odoo 及其依賴包
$ sudo dpkg -i odoo_10.0c.latest_all.deb
$ sudo apt-get -f install
注:
重啟 Odoo 服務的命令
Sudo service odoo restart
重啟 Posgreql 數據庫服務的命令
Sudo service postgresql restart
現在 Odoo 已經運行,並通過端口 5432 連接到了 Postgres 數據庫,已開始監聽 8069 端口。
如果你的 Linux 服務器有防火牆保護,你必須開放 8069 端口,以便其它計算機使用 Web 客戶端訪問。開放8069 端口的命令為:
sudo ufw allow 8069/tcp
圖:啟動后的 Odoo 創建數據庫界面
你可以用 Web 客戶端檢驗一下安裝,在其它計算機上通過谷歌或火狐瀏覽器導航至“http://<服務器的IP地址>:8069”,如果服務器上安裝有圖形界面,你也可以在服務器上,通過“http://127.0.0.1:8069”來訪問,如果出現象上圖顯示的數據庫創建界面或登錄界面,並且沒有出現錯誤提示,就表明你已連接到Odoo服務,Odoo的安裝已基本完成。
如果沒有出現預期的效果,下面的建議希望能解決你的問題。
1)輸入的網址是否正確。
2)使用的瀏覽器是否和 Odoo 兼容。推薦使用谷歌瀏覽器。
3)Odoo服務是否啟動或防火牆問題。
可通過下述命令查看Odoo服務是否啟動
如果你從一個終端啟動Odoo服務時,顯示錯誤信息“socket.error: (98,’Address already in use’)”,這說明你另外一個Odoo實例已在運行,並且使用了你定義的套接字(缺省為 8069 和 8070)。這說明可能有一個先前的 Odoo安裝,或其它程序占用了這兩個端口中一個或兩個。
鍵入“sudo lsof –i:8069”查看是什么程序在運行,記下其PID。你可以通過鍵入“sudo kill <PID>”來停止這個程序的運行。你需要其它的操作來防止其在服務器重啟時再次啟動。
如果本機能夠訪問Odoo服務,而其它計算機不能,就應該是防火牆的原因。
4)Postgres 數據庫未啟動,或者Postgres數據庫或Odoo的配置文件問題。
錯誤提示一般如下圖:
a) 檢查PostgreSQL數據庫是否啟動並監聽本地的5432端口。使用“sudo netstat –anpt”來查看端口 5432 是否可見。
b) 要檢查 PostgreSQL 數據庫是否正常,在一個終端上輸入“sudo su postgres -c psql”,查看 psql 的啟動信息,如果正常,鍵入“\q”退出程序。
c) 請檢查 Odoo 的配置文件 openerp-server 中“db_password=”后面的密碼是否正確。
d) 在服務器日志中的一些信息可以幫助你確認問題, 此日志信息存在於“/var/log/odoo”目錄下的文件中。
1.3.3 在CentOS中安裝Odoo
1.3.3.1 在CentOS中使用rpm包安裝Odoo
l 將 CentOS 升級到最新
yum clean all
yum update
l 安裝 postgresql 數據庫
yum install postgresql-server
l 安裝完成后,我們需要用下面的命令初始化數據庫。
postgresql-setup initdb
l 啟動 postgresql 數據庫
systemctl start postgresql.service
l 設置 postgresql 數據庫自動啟動
systemctl enable postgresql
l 切換到 postgres 用戶,創建數據庫用戶
su postgres
createuser --created --no-createrole --pwprompt odoo
l 為Odoo安裝准備環境
我們要添加 EPEL(企業版 Linux 的額外包)到我們的 CentOS 中。Odoo(或者 OpenERP)依賴的 Python 運行時環境以及其他包沒有包含在標准倉庫中。這樣我們要為企業版 Linux 添加額外的包倉庫支持來解決 Odoo 所需要的依賴。要安裝完成,我們需要運行下面的命令。
yum install epel-release
l 為 Odoo 服務安裝依賴
pip install -r requirements.txt
(requirements.txt可以在Odoo10.0源碼中找到)
l 安裝其它依賴
yum install python-xlwt
l 下載並安裝 Odoo的 rpm 包
rpm -ivh odoo_10.0alphalc.latest.noarch.rpm
l 設置Odoo服務自動啟動
systemctl enable odoo
1.3.3.2 防火牆配置,為Odoo服務打開8069端口
打開 iptables 的配置文件:
vi /etc/sysconfig/iptables
在其中增加一行“ -A RH-FirewallINPUT -m state –-state NEW -m tcp -p tcp –-dport 8069 –j ACCEPT”
修改完之后重啟 iptables
service iptables restart
現在就能通過瀏覽器來訪問 Odoo 服務了。
1.3.4 安裝wkhtmltopdf以支持報表導出為PDF格式
如果沒有安裝或設置好 wkhtmltopdf,則在 Odoo 中打印報表時,會出現下面提示:
1.3.4.1 在Ubuntu中的安裝
1)下載
從網址http://wkhtmltopdf.org/downloads.html選擇相應的版本下載,Odoo官方建議的Whtmltopdf版本為0.12.2.1。
本例中選擇了Ubuntu14.04的64位版本。
wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
2)安裝
sudo dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
3)修復依賴
sudo apt-get -f install
4)重啟 Odoo 服務
sudo service odoo restart
1.3.4.2 在Windows中的安裝
為了使用Odoo的報表和打印功能,你需要設置好wkhtmltopdf。
1)從 wkhtmltopdf.org 下載並安裝 wkhtmltopdf
2)在系統的path設置中增加wkhtmltopdf.exe文件所在的路徑,如在XP系統中,是選中“我的電腦”,點擊鼠標右鍵,選擇“屬性”,
點擊“高級”選項卡,點擊“環境變量”按鈕,
在“系統變量”一節中選中“Path”,然后點擊“在“系統變量”一節中選中“Path”,
在變量值的最后面先添加“;”,然后再加上 wkhtmltopdf.exe 文件所在的路徑,如“D:\Program Files\wkhtmltopdf\bin”,最后點擊“確定”按鈕。
1.3.5.3 在CentOS的安裝
# yum install wkhtmltopdf