安装 OpenERP

无论您是来自小微企业或是来自大集团公司,亦或您个人仅仅是出于兴趣爱好或是您本身就是业内专业人士,不论您是来探探路子或是想评估测试OpenERP等等,您都需要先安装好并正常启动运行OpenERP,对吧?以下,即为安装教程。

下表总结了基于多种平台(windows或linux)安装OpenERP的方式方法,并配详图。

Comparison of the different methods of installation on Windows or Linux

方法

平均时间

复杂程度

备注

OpenERP Demo

无需安装

简单的

因为是web在线式OpenERP无需安装任何额外EXE可执行程序,因此能够迅速体验一把OpenERP。

All-in-one Windows 安装

几分钟

简单的

Very useful for quick evaluations because it installs all of the components pre-configured on one computer (using the GTK client).

windows下独立安装

半小时

中等的

生产系统可以在不同电脑上安装组建。

Ubuntu Linux 软件包

几分钟

简单的

使用Ubuntu软件包简单快捷,但Ubuntu的软件包的更新慢些。

LINUX源码安装

半小时多

中到微难

对于生产来说这个是推荐的方法因为它很容易更新。

每当有新的版本的时候,OpenERP都会提供一个完整的Windows自动安装包。安装包包含你需要的所有组件 – PostgreSQL数据库服务器,OpenERP应用服务器,GTK应用客户端以及WEB客户端。

This auto-installer enables you to install the whole system in just a few mouse clicks. The initial configuration is set up during installation, making it possible to start using it very quickly as long as you do not want to change the underlying code. It is aimed at the installation of everything on a single PC, but you can later connect GTK clients from other PCs, Macs and Linux boxes to it as well.

首先得下载OpenERP安装包。在这步你必须选择相应的版本-稳定版还是开发板。如果你计划直接把它用到生产中我们强烈建议你选择稳定版。

注解

稳定版和开发版

OpenERP开发双轨平行进行有稳定版和开发版。

新功能整合到开发分支。这个分支比稳定版分支先进,但是可能还有未发现和未解决的问题。开发版约每月发布一次,你可以从OpenERP代码库下载最新的版本。

稳定版为生产环境而设计。新版的发布只在为期大约一年的测试和验证后进行。只有稳定版的漏洞在全年不断的发布。

按下面的操作,下载 OpenERP Windows 安装包:

  1. 访问网站: http://openerp.com.

  2. Click the Downloads button at the right, then, under Windows Auto-Installer, select All-in-One.

  3. This brings up the demonstration version Windows installer, currently openerp-allinone-setup-6.0.0.

  4. 将文件保存在你的电脑上-它通常很大因为它下载了所有东西,其中包含了PostgreSQL数据库系统,所以要花些时间。

要安装OpenERP和它的数据库,你必需作为管理员身份登入你的电脑。双击安装包来安装它,在此后的对话框中,选择默认参数安装即可。

如您曾经安装过OpenERP的all-in-one全功能合集版,由于各版本之间会存在冲突,因此您首先得将旧版先卸载掉,确保所安装的OpenERP软件系统(旧称Tiny ERP)和PostgreSQL数据库程序均卸载删掉——也许会要求您重启电脑以完成生效。

一旦您完成了all-in-one一键安装,那么应该可以通过客户端打开OpenERP并使用了。下一步就是建立数据库啦。创建数据库详参本章节最后一节 创建数据库.

windows下独立安装

系统管理员有理由于Windows下单独安装OpenERP的各个运行环境。例如,你的公司可能不支持PostgreSQL或Python的自动安装的版本,或者你可能已经有在使用中的PostgreSQL服务器,或您可能需要将数据库服务器,应用服务器和Web服务器分离的硬件单元等等。

针对这种情况,您可以用all-in-one一键安装包EXE来搭建OpenERP服务器省时省力。亦或你也可以一个合适的PostgreSQL版本单独安装数据库。

您必须为OpenERP服务器安装对应的PostgreSQL数据库且要为OpenERP提供一个访问PostgreSQL数据库的用户账号和密码以便OpenERP服务器通过该账号和密码连接PostgreSQL数据库。OpenERP基于Web的在线帮助文档上面有详细教程。

其他电脑的用户接入OpenERP服务器

To connect other computers to the OpenERP server, you must set the server up so that it is visible to the other PCs, and install a GTK client on each of those PCs:

  1. 要让你的OpnERP服务器让其他电脑可见,请到控制面板中打开windows防火墙,在Windows防火墙添加例外,在 例外 页面点击 允许运行另一个程序… 并在提供的列表里选择 OpenERP Server 。这一步操作使其他电脑可以看到这台服务器的OpenERP应用。标签,点击【添加程序】,浏览,把OpenERP添加进去,【更改范围】中选择的是【任何计算机(包括Internet上的计算机)(A)】项。确定即可完成设置。或者直接把windows的防火墙关闭掉省时省力气。 Windows 7系统中在控制面板—>系统和安全—>Windows防火墙—>允许程序通过Windows防火墙通信—>允许运行另一个程序…—>从列表选择或者浏览来添加。

  2. Install the OpenERP client (openerp-client-6.X.exe), which you can download in the same way as you downloaded the other OpenERP software, onto the other PCs.

小技巧

版本匹配

您需要确保您客户端软件的版本能匹配对应版本的服务器才行。其中,版次文号即包含在下载的文件名称里面。虽然不同版本之间功能或许类同,但这里边隐含些许未知问题哦!

To run the client installer on every other PC you will need to have administrator rights there. The installation is automated, so you just need follow the different installation steps.

To test your installation, start by connecting through the OpenERP client on the server machine while you are still logged in as administrator.

注解

为什么需要Administrator超级管理员账号登入电脑?

平常的时候啊,通常,我们本应小心,动用超级管理员账号去作任何操作都需要多一个心眼,但这里安装及运行OpenERP客户端软件这里的时候啊,我们用超级管理员账号来做这些操作的话,能够解决在安装及运行OpenERP客户端软件中所遇上的某些部分莫名其妙的问题哦!

Start the GTK client on the server through the Windows Start menu there. The main client window appears, identifying the server you are connected to (which is localhost – your own server PC – by default). If the message No database found, you must create one appears then you have successfully connected to an OpenERP server containing, as yet, no databases.

/doc_static/6.0/_images/new_login_dlg.png

Dialog box on connecting a GTK client to a new OpenERP server

注解

连接方式

In its default configuration at the time of writing, the OpenERP client connects to port 8069 on the server using the XML-RPC protocol (from Linux) or port 8070 using the NET-RPC protocol instead (from Windows). You can use any protocol from either operating system. NET-RPC is quite a bit quicker, although you may not notice that on the GTK client in normal use. OpenERP can run XML-RPC, but not NET-RPC, as a secure connection.

解决 Windows 安装中的错误

如果在windows上面装了OpenERP后无法运行,可以通过以下思路解决这个问题:

  1. OpenERP服务器是否在运行? 以管理员身份登入系统,用 停止服务(Stop Service) 停止服务然后用 启动服务(Start Service) 重启它(点击Windows开始菜单: 开始(Start) ‣ 程序(Programs) ‣ OpenERP Server

  2. 检查OpenERP是否安装对了? 请您用administrator超级管理员登入服务器,在 C:\Program Files\OpenERP AllInOne目录下找 openerp-server.conf文件,并检查一下其配置是否正确。这个配置文件在安装OpenERP时根据提供的数据库连接信息生成的。 如果你启OpenERP出现任何问题,可以暂时不用去解决它,你可以卸载并重新安装它即可。

    /doc_static/6.0/_images/terp_server_conf.png

    Typical OpenERP configuration file

  3. 检查PostgreSQL 数据库是否在跑?请您用administrator超级管理员登入服务器,请您用administrator超级管理员登入服务器,您可以从window中的【开始】菜单->【程序】->【PostgreSQL】下,看到启动或停止OpenERP的功能菜单 Stop Service(停止服务)Start Service(启动服务) ,您要选择stop service停止服务一下,然后稍等若干分钟后,再启动服务start service即可。

  4. 数据库可以访问吗?仍然是PostgreSQL菜单,打开用来浏览数据库的pgAdmin III应用程序。双击 PostgreSQL4OpenERP连接。你可以在OpenERP服务器配置文件中找到密码。如果数据库可以访问,那么你可以看到一些关于空数据库的信息,相反,会出现一个错误信息。

  5. Are your client programs correctly installed? If your OpenERP GTK clients have not started, the swiftest approach is to reinstall them.

  6. 远程客户端能发现服务器吗?打开一个命令窗口检测下(在桌面: 开始 ‣ 运行… 输入 cmd).然后在那输入 ping <服务器的IP地址>。例如ping 192.168.1.2,服务器就会响应。

  7. 扪心自问:您是否修改过服务器的参数?安装的服务器XML-RPC协议的端口必须是8069.

  8. 除服务器历史外还有没有其他信息能帮你定位问题? 打开文件 openerp-server.log 在 C:\Program Files\OpenERP AllInOne(仅当服务器停止时可操作) ,然后查看历史。如果有看到某些奇怪的东西,可以到 OpenERP 论坛搜索下,通常都可以找到原因。

Linux (Ubuntu) 安装

本章带您在Ubuntu(最流行的Linux发新版之一)上安装OpenERP服务器和客户端。假设您的台式机上已经有了最新桌面版的Ubuntu。

注解

其他Linux分发版本

在其他Linux分发版本安装,和在Ubuntu上安装非常类似。阅读本书的这一节,你应该可以理解其中的规律。然后使用线上文档及论坛来找到针对你的特定发行版本的特定需求。

http://www.openerp.com 上用 Services(服务) ‣ Documentation(文档) 访问文档的对应章节,来获取在其他分发版本上的安装信息。其中给出了不同的分发版本上的详细的操作命令。同时你也应当关注并检查是否有Ubuntu版本上的最新安装操作命令。

技术过程: 初始化安装和配置

更新Ubuntu系统软件包及更新源,然后安装OpenERP和pgAdmin(不懂pgAdmin请善用搜索引擎):

  1. $ sudo apt-get update
  2. $ sudo apt-get upgrade
  3. $ sudo apt-get install openerp-server openerp-client pgadmin3

To avoid having some of the labels untranslated in the GTK client, install the language-pack-gnome-YOURLANG-base package. The following command installs the Spanish language pack:

  1. $ sudo apt-get install language-pack-gnome-es-base

在本文写作的时候已经在使用PostgreSQL 8.4版了(注:是写英文原版时,翻译时PostgreSQL的版本为9.3),在安装时你应该用最新的版本的数字替换命令行中的版本数字。PostgreSQL数据库配置:

  1. $ sudo vi /etc/postgresql/8.4/main/pg_hba.conf

替换下列行:

  1. # “local” is for Unix domain socket connections only
  2. local all all ident

替换为:

  1. #”local” is for Unix domain socket connections only
  2. local all all md5

重启Postgres数据库:

  1. $ sudo /etc/init.d/postgresql-8.4 restart
  2. * Restarting PostgreSQL 8.4 database server [ OK ]

下列两个指令可以避免/etc/init.d/openerp-web初始化脚本带来的问题:

  1. $ sudo mkdir /home/openerp
  2. $ sudo chown openerp.nogroup /home/openerp

创建一个具有Postgres数据库create权限的帐号openerp,密码也是“openerp”:

  1. $ sudo su postgres
  2. $ createuser openerp -P
  3. Enter password for new role: (openerp)
  4. Enter it again:
  5. Shall the new role be a superuser? (y/n) n
  6. Shall the new role be allowed to create databases? (y/n) y
  7. Shall the new role be allowed to create more new roles? (y/n) n

退出postgres数据库:

  1. $ exit
  2. exit

编辑OpenERP的配置文件:

  1. $ sudo vi /etc/openerp-server.conf

替换下列两行(我们不会强迫指定具体的数据库,然后在被要求的时候提供postgres数据库的密码):

  1. db_name =
  2. db_user = openerp
  3. db_password = openerp

我们现在可以重启openerp服务器:

  1. $ sudo /etc/init.d/openerp-server restart
  2. Restarting openerp-server: openerp-server.

整理出日志:

  1. $ sudo cat /var/log/openerp.log
  2. [2009-06-14 21:06:39,314] INFO:server:version 6.0.0
  3. [2009-06-14 21:06:39,314] INFO:server:addons_path /usr/lib/openerp-server/addons
  4. [2009-06-14 21:06:39,314] INFO:server:database hostname localhost
  5. [2009-06-14 21:06:39,315] INFO:server:database port 5432
  6. [2009-06-14 21:06:39,315] INFO:server:database user openerp
  7. [2009-06-14 21:06:39,315] INFO:objects:initialising distributed objects services
  8. [2009-06-14 21:06:39,502] INFO:web-services:starting XML-RPC services, port 8069
  9. [2009-06-14 21:06:39,502] INFO:web-services:starting NET-RPC service, port 8070
  10. [2009-06-14 21:06:39,502] INFO:web-services:the server is running, waiting for connections

OpenERP现在跑起来了,连接到Postgres数据库,(数据库)端口5432,(xmlprc)端口8069,(netrpc)端口8070

  1. $ ps uaxww | grep -i openerp
  2. openerp 5686 0.0 1.2 84688 26584 pts/7 Sl+ 12:36 0:03 /usr/bin/python ./openerp-server.py
  1. $ sudo lsof -i :8069
  2. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  3. python 5686 openerp 3u IPv4 116555 0t0 TCP *:8069 (LISTEN)
  1. $ sudo lsof -i :8070
  2. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  3. python 5686 openerp 5u IPv4 116563 0t0 TCP *:8070 (LISTEN)

Start the OpenERP GTK client by clicking its icon in the Applications ‣ Internet ‣ OpenERP Client menu, or by opening a terminal window and typing openerp-client . The OpenERP login dialog box should open and show the message No database found you must create one!.

虽然此安装方法简单富有吸引力,但更好的方法是从http://openerp.com下载安装,从官方下载的版本往往要比 linux 自带的分发版新的多。

注解

软件包版本

Maintaining packages is a process of development, testing and publication that takes time. The releases in OpenERP packages are therefore not always the latest available. Check the version number from the information on the website before installing a package. If only the third digit group differs (for example 6.0.1 instead of 6.0.2) then you may decide to install it because the differences may be minor – bug fixes rather than functionality changes between the package and the latest version.

手动安装 OpenERP Server

在这一节,你将了解到如何在桌面版的Ubuntu上,通过从 http://openerp.com 下载OpenERP,安装OpenERP依赖的库、软件包,以及最终安装OpenERP。这里是整个过程的简要说明:

  1. 用浏览器打开页面http://openerp.com

  2. Click the Download button on the right side,

  3. Sources源码 段落下载客户端和服务器文件到你的家目录(或者其他你已经定义好不同位置)。(注—新版的 http://openerp.com 内在弹出的页面中选择下方nightly链接,直接点击上面的软件包需要到OpenERP官网注册用户信息。进入列表选择你希望的版本,翻译本文时推荐7.0(stable)版本)

要下载PostgreSQL 数据库和所有其他的OpenERP依赖包:

  1. 启动 Synaptic Package Manager(Syn管理模块)输入root的密码。

  2. 请您检查 main , universe 和 restricted 的状态是启用状态。

  3. 搜索最新版PostgreSQL (例如 postgresql-9.3然后选中它及相关的依赖软件并安装。

  4. 在OpenERP网站的文档里有最新的必须要安装的软件列表,按照这个列表选择OpenERP的依赖软件,点击 Apply应用 安装这些软件。

注解

Python 程序设计语言

Python是用来开发OpenERP的程序语言.它是动态的,无类的,面向对象的,程序化和函数化的语言.它附带许多函数库包括和其它语言交互的接口,以及因为它在短短几天就可以学会而具有很大的优势.它是大部分NASA,Google以及其它企业编程人员所选择的语言.

要详细了解Python,请参考http://www.python.org。

一旦所有的先决条件处理好了,数据库安装了,就可以根据网站上的指示安装服务器。

Open a terminal window to start the server with the command openerp-server, which should result in a series of log messages as the server starts up. If the server is correctly installed, the message […] waiting for connections… should show within 30 seconds or so, which indicates that the server is waiting for a client to connect to it.

/doc_static/6.0/_images/terps_startup_log.png

OpenERP 在控制台的启动日志

手动安装 OpenERP GTK 客户端

To install an OpenERP GTK client, follow the steps outlined in the website installation document for your particular operating system.

/doc_static/6.0/_images/terp_client_startup.png

OpenERP client at startup

Open a terminal window to start the client using the command openerp-client. When you start the client on the same Linux PC as the server you will find that the default connection parameters will just work without needing any change. The message No database found, you must create one! shows you that the connection to the server has been successful and you need to create a database on the server.

创建数据库

You can connect other GTK clients over the network to your Linux server. Before you leave your server, make sure you know its network address – either by its name (such as mycomputer.mycompany.net ) or its IP address (such as 192.168.0.123 ).

注解

不同的网络

Openerp的客户端和服务器件的通信是基于标准的协议.毫无疑问,WIndows客户端可以连接到Linux服务器,反之亦然.Windows和Linux客户端同样可以连接到Mac版本的Openerp.

要在其它计算机中, 安装Linux下的 的Openerp客户端, 重复前面本节内容前面的步骤。你可以为每个客户端修改参数,连接不同的客户端到OpenERP服务器。要做到这点, 在 连接对话框中, 点击 Change 修改 按钮, 然后设置你需要的字段:

  • 服务器 : 名称 或 IP地址 ,

  • Port : the port, whose default is 8069 or 8070,

  • Connection protocol : XML-RPC or NET-RPC .

/doc_static/6.0/_images/terp_client_server.png

Dialog box for defining connection parameters to the server

使用安全协议连接服务器,防止其他的网络监听也是可行的,但这里我们所描述的是直接使用不加密连接。

如果服务器已经有防火墙保护,你应该开放对服务端口的访问

8069 or 8070 for users on other computers with OpenERP GTK clients.

OpenERP的WEB服务器的安装

Just as you installed a GTK client on a Linux server, you can also install the OpenERP client-web server. You can install it from sources after installing its dependencies from packages as you did with the OpenERP server, but OpenERP has provided a simpler way to do this for the web client – using a system known as ez_setup.

Before proceeding, confirm that your OpenERP installation is functioning correctly with a GTK client. If it is not, you will need to go back now and fix it, because you need to be able to fully use it for the next stages.

安装客户端web请按照网站上最新的安装文档的指示操作。

注解

Ez Tool

Ez is the packaging system used by Python. It enables the installation of programs as required just like the packages used by a Linux distribution. The software is downloaded across the network and installed on your computer by ez_install.

ez_setup is a small program that installs ez_install automatically.

The OpenERP Web server connects to the OpenERP server in the same way as an OpenERP client using the NET-RPC protocol. Its default setup corresponds to that of the OpenERP server you have just installed, so should connect directly at startup.

  1. At the same console as you’ve just been using, go to the OpenERP web directory by typing cd openerp-web-6.X.

  2. At a terminal window type openerp-web to start the OpenERP Web server.

/doc_static/6.0/_images/web_welcome.png

启动OpenERP的web客户端

You can verify the installation by opening a web browser on the server and navigating to http://localhost:8080 to connect to the OpenERP web version as shown in the figure 启动OpenERP的web客户端. You can also test this from another computer connected to the same network if you know the name or IP address of the server over the network – your browser should be set to http://:8080 for this.

检查您的 Linux 安装

到目前为止 ,你在各种部件的安装中, 使用了默认的参数。如果你遇到了问题, 或者你要设置成不一样的,下面几点指导你如何设置你的安装过程。

小技巧

psqlpgAdmin 工具

psql一个简单的可以从命令行执行的(Postgres)客户端,随PostgreSQL数据库一起安装的。它使我们能够在OpenERP的数据库里面执行sql命令。

如果你更喜欢用图形界面的方式来直接操纵你的数据库,那么可以安装pgAdmin III (它在windows上通常会和PostgreSQL一起安装,你也可以到这里 http://www.pgadmin.org/ 找)。

  1. PostgreSQL 标准上来说是自动启动然后监听本地的5432端口的: 可以通过在终端上输入 sudo netstat -anpt来查看是否5432端口被监听。

  2. 数据库有一个默认的可通过Linux下的Postgres数据库用户访问的角色叫做 postgres:验证这个可以在终端上输入 sudo su postgres -c psql然后查看是否有psql启动的消息 – 然后输入\q退出程序。

  3. 如果你在终端上尝试启动OpenERP服务器时出现消息``套接字错误(socket.error): (98, ‘端口已经被使用(Address already in use)’)``,这意味着你可能在启动OpenERP时,已经有了一个OpenERP实例运行并且使用了你所定义的套接字的端口(默认8069或8070)的。别惊讶,你可能安装了OpenERP之前的版本或者Tiny ERP,或者其他会用到这两个端口的东西。

    输入 sudo netstat -anpt指令已发现啥玩意在运行,然后记录下来PID。可以通过输入 ps aux | grep 指令来定位这些PID对应的程序,然后你可以通过输入sudo kill 指令来终止这些程序的运行。当重启服务器时你需要评估下是否要终止它。

  4. OpenERP服务器有许多配置选项。可以通过参数 –help启动服务器来查看这些选项。默认情况下的服务器配置存在在文件.terp_serverrc,这个文件在用户的home目录(对于postgres用户而言目录是/var/lib/postgresql。

  5. 确定让OpenERP以默认设置启动,则你可以删除配置文件。这是在升级系统的时候很常见的行为,因为新版本服务程序不能采用旧版本的设置来工作。当服务程序在没有配置文件的情况下启动,且有非默认的值要写入的时候,它会创建一个新的包含默认值的配置文件。

  6. 为了验证该系统的工作原理,无需纠缠的防火墙的问题,您可以从服务器计算机(不通过防火墙)上的第二个窗口(另外一个开启窗口)来启动的OpenERP客户端。连接使用XML-RPC协议在端口8069或端口8070的NET-RPC协议。服务器可以同时使用这两个端口。用这种方式这个窗口会显示客户端启动的日志文件。

  7. The client setup is stored in the file .terprc in the user’s home directory. Since a GTK client can be started by any user, each user would have their setup defined in a configuration file in their own home directory.

  8. 非常肯定地一点:OpenERP默认初始的配置文件您肯定可以动,可删除。因此尊贵的客户,您当然可以自己写一个您的配置文档,以此来达到配置OpenERP的目的。

  9. The web server uses the NET-RPC protocol. If a GTK client works but the web server does not, then the problem is either with the NET-RPC port or with the web server itself, and not with the OpenERP server.

提示

单台服务器跑多个OpenERP系统

您可通过在同一台物理服务器上边开放不同的端口去浏览访问安装并运行着的若干个OpenERP(所以说并不限定一台物理机只能跑一个OpenERP呀)。您可在 PostgreSQL数据库中,定义了多种不同权限角色的账户来供OpenERP区别使用。