如何在Ubuntu 10.04 LTS服务器上安装OpenERP 6
(本教程最初由Alan Lord撰写,您可以在这里找到原始教程:
http://www.theopensourcerer.com/2011/04/19/how-to-install-openerp-6-on-ubuntu-10-04-lts-server-part-1/
http://www.theopensourcerer.com/2011/04/21/how-to-install-openerp-6-on-ubuntu-10-04-lts-server-part-2-ssl/ )
最近, 我们为客户设置了几个新的OpenERP实例。 我们的服务器操作系统是Ubuntu 10.04 LTS。 安装OpenERP并不是那么难,但是看到其他几种“如何Tos”在线描述各种方法,在我认为是“正确的方式”中,似乎没有一件事情出现,我想我会解释一下做到这一点 有几个论坛帖子,我遇到的建议是简单的错误,所以要小心。
因为我们倾向于在连接到大型互联网的服务器上托管OpenERP,所以我们的目标是最终得到一个系统:
- 答:只能通过GTK客户端,Web浏览器,WebDAV和CalDAV的加密(SSL)服务访问
- B:易于升级和可定制
我的一个朋友最近对我说,“肯定只是sudo apt-get install openerp-server不是吗? 很公平; 这实际上是有效的。 但是在这种情况下使用打包实现有几个问题:
- 过时的 在Ubuntu或Debian存储库中可以看到的最新的打包版本是5.0.15。 OpenERP现在是6.0.2,是5.x系列的一个重大升级。
- 缺乏控制 作为业务应用程序,具有许多配置选择,当打包者确定一种特定方式是“真正的路径”时,可能难以调整您的方式。
- 升级和补丁 了解OpenERP实例的安装方式,原因和原因,意味着您可以决定何时以及如何更新并修补它,或添加自定义修改。
所以虽然我在下面安装OpenERP的方式是手动的,但它给了我们更细微的控制水平。 不用多说,这是我现在的方式(“目前”,因为你几乎可以随时改进事情。提示:改进的建议感激不尽)。
第1步.构建您的服务器
我从安装例程中安装了最低限度(您可以在安装过程中安装openssh-server,或者根据您的偏好安装)。
服务器第一次重新启动后,我安装了openssh服务器
软件包(所以我们可以远程连接)和denyhosts
添加一定程度的暴力攻击保护。 还有其他保护应用可用:我不是说这是一个最好的,但它是一个工作,易于配置和管理。 如果您还没有,还需要设置基于密钥的ssh访问,而不是依赖密码。 这也有助于限制暴力攻击的潜力。 [注意:这不是如何保护您的服务器...]
sudo apt-get install openssh-server denyhosts
现在确保您通过执行更新来运行所有最新的修补程序:
sudo apt-get update
sudo apt-get dist-upgrade
虽然并不总是重要的,但现在重新启动服务器可能是一个好主意,并确保它们都备份,您仍然可以通过ssh登录。
现在我们准备开始安装OpenERP了。
第2步.创建将拥有并运行应用程序的OpenERP用户
sudo adduser --system --home=/opt/openerp --group openerp
这是一个“系统”用户。 它是拥有和运行应用程序,它不应该是一个人类型的用户登录等。在Ubuntu中,系统用户获取的UID低于1000,没有shell(实际上是/ bin / false
)并且已禁用登录。 请注意,我已经指定了/ opt /
openerp的“home”,这是OpenERP服务器和可选的Web客户端代码将驻留在并由上述命令自动创建的位置。 服务器代码的位置当然是您的选择,但请注意,如果您决定安装到其他位置,则可能需要更改以下某些说明和配置文件。
第3步.安装和配置数据库服务器PostgreSQL
sudo apt-get install postgresql
然后在postgres上配置OpenERP用户:
首先更改到postgres用户,以便我们拥有必要的权限来配置数据库。
sudo su - postgres
现在创建一个新的数据库用户。 这是OpenERP具有访问权限以连接到PostgreSQL并创建和删除数据库。 记住你的密码选择在这里; 稍后你会需要它:
createuser --createdb --username postgres --no-createrole --pwprompt openerp
输入新角色的密码:
< - ********
再次输入:
< - ********
新角色应该是超级用户吗?
(y / n)
< - y
最后退出postgres用户帐户:
exit
第4步.为服务器安装必要的Python库
sudo apt-get install python python-psycopg2 python-reportlab \
python-egenix-mxdatetime python-tz python-pychart python-mako \
python-pydot python-lxml python-vobject python-yaml python-dateutil \
python-pychart python-pydot python-webdav
如果您打算使用Web客户端安装以下内容:
sudo apt-get install python-cherrypy3 python-formencode python-pybabel \
python-simplejson python-pyparsing
第5步.安装OpenERP服务器和可选的Web客户端代码
我倾向于使用wget这种事情,我将文件下载到我的主目录。
确保您获得最新版本的应用程序文件。 在撰写本文时,是6.0.2; 我从下载页面获得了下载链接。
wget http://www.openerp.com/download/stable/source/openerp-server-6.0.2.tar.gz
如果您想要网络客户端:
wget http://www.openerp.com/download/stable/source/openerp-web-6.0.2.tar.gz
现在安装我们需要的代码:cd到/ opt / openerp /
目录并解压缩tarball。
cd /opt/openerp
sudo tar xvf ~/openerp-server-6.0.2.tar.gz
sudo tar xvf ~/openerp-web-6.0.2.tar.gz
接下来,我们需要将所有文件的所有权更改为openerp用户和组。
sudo chown -R openerp: *
最后,我已经做到这一点是将服务器和Web客户端目录复制到名称更简单的配置文件和引导脚本不需要不断的编辑(我称之为虚拟的服务器和Web) 。 我开始使用符号链接解决方案,但是我发现,当涉及到升级时,似乎更有意义的是,只要保留文件的副本,然后用新的代码覆盖它们。 这样,您可以将所有自定义或用户安装的模块和报告等都保存在正确的位置。
sudo cp -a openerp-server-6.0.2 server
sudo cp -a openerp-web-6.0.2 web
例如,OpenERP 6.0.3下面出来,我可以将tarball解压到/ opt / openerp /中
,如上所述。 我可以做任何我需要的测试,然后重复复制命令(明显替换6.0.2),以便修改后的文件将根据需要进行覆盖,并保留任何自定义模块,报告模板等。 一旦满足升级是稳定的,旧6.0.2目录可以删除,如果需要的话。
这是OpenERP服务器和Web客户端软件安装。 工作系统的最后一步是设置两个(服务器和Web客户端)配置文件和关联的初始化脚本,以便在服务器启动并关闭时,它们都会自动启动和停止。
第6步.配置OpenERP应用程序
服务器的默认配置文件( / opt / openerp / server / doc /
)可能会在我看来更好一些,再加上一些意见。 我已经开始整理这个配置文件了,这里是我正在使用的那一个(改变了明显的位)。
[options] ; This is the password that allows database operations ; Will be written to by the server when password is changed ; !! Keep this file secure !! ; admin_passwd = admin root_path = /opt/openerp/server/bin without_demo = False verbose = False ; Database settings db_user = openerp db_password = ******** ; Please uncomment the following line *after* you have created the ; database. It activates the auto module check on startup. ; db_name = False db_port = False db_host = False db_maxconn = 64 ; Networking Settings xmlrpc = True xmlrpc_interface = xmlrpc_port = 8069 netrpc = True netrpc_interface = netrpc_port = 8070 ; Uncomment these for xml-rpc over SSL ;xmlrpcs = True ;xmlrpcs_interface = ;xmlrpcs_port = 8071 ;secure_pkey_file = /etc/ssl/openerp/server.pkey ;secure_cert_file = /etc/ssl/openerp/server.crt ; Log settings logfile = /var/log/openerp/openerp-server.log syslog = False logrotate = True log_level = info ; False prevents the client displaying the list of databases list_db = True addons_path = /opt/openerp/server/bin/addons demo = {} soap = False reportgz = False translate_modules = ['all'] ; Static http parameters static_http_enable = False static_http_document_root = /var/www/html static_http_url_prefix = / ; Outbound email configuration ;smtp_user = info@example.com ;email_from = "OpenERP Support" <info@example.com> ;smtp_port = 25 ;smtp_password = ******** ;smtp_ssl = True ;smtp_server = mail.example.com
您需要将此文件的内容复制或粘贴到/ etc /
并调用文件openerp-server.conf
。 那么你应该通过改变所有权和访问权来保护它,如下所示:
sudo chown openerp:root /etc/openerp-server.conf
sudo chmod 640 /etc/openerp-server.conf
上述命令使文件仅由openerp用户拥有和可写,只能由openerp和root读取。
要使OpenERP服务器最初运行,您只需要在此文件中更改一行。 到文件顶部将db_password = ********
的行更改为与第3步中使用的密码相同。在此处使用您喜欢的文本编辑器。 我倾向于使用纳米,例如
sudo nano /etc/openerp-server.conf
一旦配置文件被编辑,你可以启动服务器,如果你只是想检查它是否实际运行。
/opt/openerp/server/bin/openerp-server.py --config=/etc/openerp-server.conf
它不会真正的工作,因为它不是作为openerp用户运行。 它作为您的普通用户运行,因此无法与PostgreSQL数据库通信。 只需键入CTL + C即可停止服务器。