(轉)《Odoo開發指南》精選分享—第1章-開始使用Odoo開發(1)

 

《Odoo開發指南》精選分享—第1章-開始使用Odoo開發(1)

https://www.cnblogs.com/yangxunbo/p/9729623.htmlcss

 

引言

《Odoo開發指南》精選分享—第1章-開始使用Odoo開發(1)

 

在進入Odoo開發以前,咱們須要創建咱們的開發環境,並學習它的基本管理任務。html

在本章中,咱們將學習如何設置工做環境,在這裏咱們將構建咱們的Odoo應用程序。咱們將學習如何設置Debian或Ubuntu系統來託管開發服務器實例,以及如何從GitHub源代碼中安裝Odoo。而後,咱們將學習如何設置與Samba的文件共享,這將容許咱們從運行Windows或任何其餘操做系統的工做站運行Odoo文件。node

Odoo是使用Python編程語言構建的,它使用PostgreSQL數據庫進行數據存儲;這些是Odoo主機的兩個主要需求。要從源代碼運行Odoo,咱們首先須要安裝它依賴的Python庫。而後能夠從GitHub下載Odoo源代碼。雖然咱們能夠下載ZIP文件或tarball,但咱們會看到,若是咱們使用Git版本控制應用程序獲取源代碼會更好;它也會幫助咱們把它安裝在咱們的Odoo主機上。linux

爲Odoo服務器設置一個主機

一個Debian / Ubuntu系統被推薦用於Odoo服務器。你仍然能夠在你最喜歡的桌面系統中工做,不管是Windows、Mac仍是Linux。git

Odoo能夠在各類操做系統上運行,那麼爲何要以犧牲其餘操做系統爲代價來選擇Debian呢?由於Debian被認爲是Odoo團隊的參考部署平臺;它有最好的支持。若是咱們使用Debian / Ubuntu,它將更容易找到幫助和額外的資源。github

它也是大多數開發人員工做的平臺,大多數部署都是在這個平臺上進行的。所以,不可避免的是,Odoo開發人員將會對Debian / Ubuntu平臺感到滿意。即便你是Windows背景的,你也要對它有所瞭解,這一點很重要。web

在本章中,您將學習如何在基於debianbased的系統上設置和處理Odoo,只使用命令行。對於那些有Windows系統的家庭,咱們將介紹如何設置虛擬機來託管Odoo服務器。做爲一個額外的獎勵,您將在這裏學到的技術也將容許您在雲服務器中管理Odoo,在那裏您惟一的訪問將經過Secure Shell (SSH)來訪問。sql

《Odoo開發指南》精選分享—第1章-開始使用Odoo開發(1)

 

請記住,這些指示是爲了創建一個新的發展系統。若是您想在現有的系統中嘗試其中的一些,老是提早進行備份,以便在出現問題時恢復它。shell

爲Debian主機提供的服務

如前所述,咱們須要一個基於debian-based的Odoo服務器主機。若是這是您第一次使用Linux,您可能會注意到Ubuntu是基於debianbased的Linux發行版,因此它們很是類似。數據庫

Odoo能夠保證使用當前穩定版本的Debian或Ubuntu。在寫做的時候,這些是Debian 8「Jessie」和Ubuntu 16.04.1 LTS(Xenial Xerus)。這兩環境都有Python 2.7,這是運行Odoo的必要條件。值得一提的是,Odoo並不支持Python 3,所以須要Python 2。

若是你已經在運行Ubuntu或另外一個基於debian-based的發行版,你就能夠設置;這也能夠做爲Odoo的主機。

對於Windows和Mac操做系統,安裝Python、PostgreSQL和全部依賴項;接下來,直接從源程序運行Odoo。然而,這多是一個挑戰,因此咱們的建議是使用運行Debian或Ubuntu服務器的虛擬機。您能夠選擇您喜歡的虛擬化軟件,以在虛擬機中得到一個工做的Debian系統。

若是您須要一些指導,這裏有一些關於虛擬化軟件的建議。有幾個選項,好比Microsoft hyper - v(在某些版本的Windows系統中可用)、Oracle VirtualBox和VMWare工做站播放器(Mac的VMWare Fusion)。VMWare工做站的球員多是更容易使用,而且免費下載能夠在https://my.vmware.com/web/vmware/downloads上找到。

對於使用的Linux映像,安裝Ubuntu服務器要比Debian更加友好。若是您從Linux開始,我建議您嘗試使用現成的映像。TurnKey Linux提供了多種格式的易於使用的預安裝映像,包括ISO。ISO格式將與您所選擇的任何虛擬化軟件一塊兒工做,即便是在您可能擁有的裸金屬機器上。一個很好的選擇多是第三方LAPP鏡像,包括Python和PostgreSQL,能夠在http://www.turnkeylinux.org/lapp找到。

一旦安裝並啓動,您應該可以登陸到命令行shell。

爲Odoo建立一個用戶賬戶

若是您正在登陸使用超級用戶root賬戶,那麼您的第一個任務應該是建立一個正常的用戶賬戶來使用您的工做,由於它被認爲是很差的工做實踐做爲root。特別是,若是您將其做爲root來啓動,那麼Odoo服務器將拒絕運行。

若是您正在使用Ubuntu,那麼您可能不須要這個,由於安裝過程必須已經經過建立一個用戶來指導您。

首先,確保安裝sudo。咱們的工做用戶將須要它。若是做爲root登陸,執行如下命令:

# apt-get update && apt-get upgrade# 安裝系統更新

# apt-get install sudo# 確保安裝「sudo」

下一組命令將建立一個odoo用戶:

# useradd -m -g sudo -s /bin/bash odoo# 建立一個具備sudo能力的「odoo」用戶

# passwd odoo # 請求併爲新用戶設置密碼

你能夠將odoo轉換爲你想要的任何用戶名。–m選項確保建立其主目錄。–g sudo選項將它添加到sudoers列表中,以便它能夠做爲root運行命令。–s /bin/bash選項將默認的shell設置爲bash,這比默認的sh要好。

如今咱們能夠做爲新用戶登陸,並設置Odoo。

從源程序中安裝Odoo

能夠在nightly.odoo.com,上找到現成的Odoo軟件包,如Windows(.exe)、Debian(.deb)、CentOS(.rpm)和源代碼tarballs(.tar.gz)。

做爲開發人員,咱們但願直接從GitHub存儲庫中安裝它們。這將使咱們對版本和更新有更多的控制。

爲了保持整潔,在咱們的主目錄home內創建一個 /odoo–dev子目錄以便進行工做。

在整本書中,咱們假設/odoo–dev 是您的Odoo服務器安裝的目錄。

首先,確保您已經登陸爲咱們如今或在安裝過程當中建立的用戶,而不是做爲root用戶。假設您的用戶是odoo,請使用如下命令確認:

$ whoami odoo

$ echo $HOME

/home/odoo

如今咱們可使用這個腳本了。它向咱們展現瞭如何將Odoo從源代碼安裝到Debian / Ubuntu系統中。

首先,安裝基本的依賴項,以使咱們開始:

$ sudo apt-get update && sudo apt-get upgrade#安裝系統更新

$ sudo apt-get install git# 安裝Git

$ sudo apt-get install npm# 安裝NodeJs及其包管理器

$ sudo ln -s /usr/bin/nodejs /usr/bin/node# 調用節點運行nodejs

$ sudo npm install -g less less-plugin-clean-css#安裝less編譯器

從版本9.0開始,Odoo web客戶端須要在系統中安裝less CSS預處理器,以便正確地呈現web頁面。要安裝這個,咱們須要節點。Node.js和npm。

接下來,咱們須要得到Odoo源代碼並安裝它的全部依賴項。Odoo源代碼包括一個實用腳本,在odoo/setup/目錄中,幫助咱們在Debian / Ubuntu系統中安裝所需的依賴項:

$ mkdir ~/odoo-dev# Create a directory to work in

$ cd ~/odoo-dev# Go into our work directory

$ git clone https://github.com/odoo/odoo.git -b 10.0 --depth=1# Get Odoo sourcecode

$ ./odoo/setup/setup_dev.py setup_deps# Installs Odoo system dependencies

$ ./odoo/setup/setup_dev.py setup_pg# Installs PostgreSQL & db superuser for unixuser

最後,Odoo應該準備好使用。~符號是咱們的主目錄(例如,/home/odoo)的快捷方式。git –b lO.O選項告訴Git明確下載Odoo的10.0分支。在寫的時候,這是多餘的,由於10.0是默認的分支;然而,這可能會改變,所以它可能使腳本成爲將來的證實。––depth=l選項告訴Git只下載最後一個版本,而不是完整的變動歷史,使下載變得更小更快。

要啓動一個Odoo服務器實例,只需運行:

$ ~/odoo-dev/odoo/odoo-bin

在默認狀況下,Odoo實例偵聽端口8069,所以若是咱們將瀏覽器指向http://<server–address>:8O69,咱們將到達這些實例。當咱們第一次訪問它時,它向咱們展現了一個建立新數據庫的助手,以下面的截圖所示:

《Odoo開發指南》精選分享—第1章-開始使用Odoo開發(1)

 

做爲開發人員,咱們須要使用幾個數據庫,所以從命令行建立它們更方便,所以咱們將學習如何作到這一點。如今在終端按Ctrl + C中止Odoo服務器並返回命令提示符。

初始化一個新的Odoo數據庫

爲了可以建立一個新的數據庫,您的用戶必須是一個PostgreSQL超級用戶。下面的命令爲當前的Unix用戶建立一個PostgreSQL超級用戶:

$ sudo createuser --superuser $(whoami)

要建立一個新的數據庫,請使用createdb命令。讓咱們建立一個demo數據庫:

$ createdb demo

要使用Odoo數據模式初始化該數據庫,咱們應該使用–d選項在空數據庫上運行Odoo:

$ ~/odoo-dev/odoo/odoo-bin -d demo

這將花費幾分鐘來初始化一個demo數據庫,它將以一個信息日誌消息結束,Modules loaded。

注意,它可能不是最後一個日誌消息,它能夠在最後三到四行。這樣,服務器就能夠準備好偵聽客戶端請求了。

默認狀況下,這將用演示數據初始化數據庫,這一般對開發數據庫很是有用。若要初始化沒有演示數據的數據庫––without–demo–data=all。

如今打開http://<server–name>:8069,你的瀏覽器會被顯示在登陸屏幕上。若是您不知道您的服務器名稱,在終端中鍵入hostname命令,以便找到它或ifconfig命令來查找IP地址。

若是您在虛擬機中託管Odoo,您可能須要設置一些網絡配置,以便可以從主機系統訪問它。最簡單的解決方案是將虛擬機網絡類型從NAT改成橋接。這樣,客戶虛擬機就不會共享主機IP地址,而是擁有本身的IP地址。也可使用NAT,但這須要您配置端口轉發,這樣您的系統就知道一些端口,好比8069,應該由虛擬機來處理。若是您遇到麻煩,但願這些細節將幫助您在您所選擇的虛擬化軟件的文檔中找到相關信息。

管理數據庫

咱們已經瞭解瞭如何從命令行建立和初始化新的Odoo數據庫。有更多的命令值得管理數據庫。

咱們已經知道如何使用createdb命令建立空的數據庫,可是它也能夠經過複製現有的數據庫建立一個新的數據庫––template選項

確保您的Odoo實例被中止,而且您沒有打開的其餘鏈接咱們剛剛建立的demo數據庫,而後運行這個:

$ createdb --template=demo demo-test

實際上,每次建立數據庫時,都會使用模板。若是沒有指定,則使用預約義的templatel。

要列出系統中的現有數據庫,可使用–l選項使用PostgreSQL psql實用程序:

$ psql -l

運行它將列出咱們迄今爲止建立的兩個數據庫: demo和demo–test。該列表還將顯示每一個數據庫中使用的編碼。默認值是UTF-8,這是Odoo數據庫所需的編碼。

要刪除再也不須要的數據庫(或者須要從新建立)來使用dropdb命令:

$ dropdb demo-test

如今您知道了使用數據庫的基礎知識。瞭解更多關於PostgreSQL,請參考官方文檔:http://www.postgresql.org/docs/.

刪除數據庫命令將不可挽回地破壞您的數據。使用此命令時要當心,而且在使用此命令以前,老是要對重要的數據庫進行備份。

更多內容請訪問開源智造(OSCG)官網-【資源下載】中獲取《Odoo開發指南》進行詳細閱讀,這裏很是感謝老楊爲咱們Odoo社區所作出的重大貢獻努力,使得總體Odoo開發從業水平總體大幅度提升。

相關文章
相關標籤/搜索