https://www.cnblogs.com/yangxunbo/p/9729623.htmlcss
在进入Odoo开发以前,咱们须要创建咱们的开发环境,并学习它的基本管理任务。html
在本章中,咱们将学习如何设置工做环境,在这里咱们将构建咱们的Odoo应用程序。咱们将学习如何设置Debian或Ubuntu系统来托管开发服务器实例,以及如何从GitHub源代码中安装Odoo。而后,咱们将学习如何设置与Samba的文件共享,这将容许咱们从运行Windows或任何其余操做系统的工做站运行Odoo文件。node
Odoo是使用Python编程语言构建的,它使用PostgreSQL数据库进行数据存储;这些是Odoo主机的两个主要需求。要从源代码运行Odoo,咱们首先须要安装它依赖的Python库。而后能够从GitHub下载Odoo源代码。虽然咱们能够下载ZIP文件或tarball,但咱们会看到,若是咱们使用Git版本控制应用程序获取源代码会更好;它也会帮助咱们把它安装在咱们的Odoo主机上。linux
一个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
请记住,这些指示是为了创建一个新的发展系统。若是您想在现有的系统中尝试其中的一些,老是提早进行备份,以便在出现问题时恢复它。shell
如前所述,咱们须要一个基于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,咱们将到达这些实例。当咱们第一次访问它时,它向咱们展现了一个建立新数据库的助手,以下面的截图所示:
做为开发人员,咱们须要使用几个数据库,所以从命令行建立它们更方便,所以咱们将学习如何作到这一点。如今在终端按Ctrl + C中止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开发从业水平总体大幅度提升。