TinyERP能否安装在美国虚拟主机?
-
多数国外的虚拟主机主要支持的是php,或是少量支持python,但是没有提供ssh帐户,无法安装特定的python模块。所以,要问清楚了。
我倒是可以推荐你使用 www.webfaction.com/?affiliate=digitalsatori , 他们是很少有的完全支持python的虚拟主机提供商,本站的演示服务器就架在在他们的服务器上。价格便宜只是其一,更重要的是其服务支持团队都是geek级别,绝对有物超所值的感觉。
-
有朋友听了俺的介绍购买了 www.webfaction.com/?affiliate=digitalsatori 服务。谢谢你的信任,你如果是从这里链接点击过去的,我也会有credit:victory:。
下面介绍一下如何在Webfaction上安装OpenERP,主要介绍需要注意的几个地方:-
注册Webfaction用户名的时候不要选太长的名字,因为你的用户名会成为mysql或pgsql数据库名的前缀,比如你的用户名是:abcdefg,那么你的数据库的名称就是:abcdefg_xxxx,mysql的数据库名称的长度在Webfaction上只能是16位,所以用户名过长,在创建mysql数据库时就会碰到尴尬。pgsql数据库的名称倒没有16位的限制。
-
Webfaction注册后会有一个shell account,你大部分的操作都会ssh到这个shell account上操作,当登录到shell后,首先检查一下你的默认的python是什么版本,也就是直接执行python启动的是哪个版本?我的情况是,默认的python启动的是python2.4.3, python2.5, python2.6, python3.0命令分别启动对应版本的python
-
无论哪个版本的Python默认安装的模块,可能并不符合你的要求。你实际上有两个办法:
a. 使用virtualenv。virtualenv是一个python脚本,当安装运行后可以创建一个与系统独立的python运行环境。这对于同时安装有不同的Python模块要求的Python应用程序很有帮助,它们可以安装在各自独立的Python运行环境中,这样就不会有包冲突了。但是,virtualenv脚本本身可能并没有包含在Webfaction的默认python模块中,它的安装也要用到方法b
b. 将python包安装到你的$HOME目录下。在你登录Shell后会看到有 bin和 lib两个目录,就是将python包安装到lib目录下,执行脚本安装到bin目录下。我是采用这种方法来安装OpenERP所依赖的Python包的。安装依赖包最简单的方法就是用easy_install, 不同版本对应的easy_install命令有所不同,python2.5对应的是easy_instal-2.5。你可以用
easy_install-2.5 --install-dir=$HOME/lib/python2.5 --script-dir=$HOME/bin xxx-package
-
OpenERP的数据库安装。这部分是最麻烦的,因为所使用的数据库的用户没有创建数据库的权限,所以就没法直接用OpenERP的client来创建数据库。在OpenERP4.x时,支持在服务器启动时加上--init=all选项来初始化一个空的pgsql数据库,这样的话也还方便,在Webfaction的web后台创建空数据库。然后启动服务器时使用--init=all就搞定。OpenERP5.x后就不能初始化一个空的pg数据库了。我的解决办法是:在我使用的电脑中创建一个初始化好的OpenERP数据库,然后用pg-dump备份出数据库到sql文件,接着再pg-restore到Webfaction上的数据库里。的确比较麻烦。
-
在Webfaction的后台的control panel中设置一个新的app为Custome app(listening on port),这时系统会指定一个端口号,我们用这个端口号作为eTiny监听的端口号。然后再将这个app加入到site,将site对应到domain,这个设置过程实际上完成了reverse proxy的设置。
Webfaction的服务中的空间,流量等都绰绰有余,各个计划中唯一不同的是内存的可使用量,而python应用程序往往是比较耗费内存,请注意监视你的内存使用情况。Webfaction的一个蛮公道的地方是,php归静态程序,不计算其内存使用,所以webfaction上跑PHP程序也相当的合算。
大致就是这些需要注意的地方。如果朋友们还有什么使用上的问题,欢迎提问。
-
-
另,英文不错的朋友请记得一定要骚扰一下他们的客服,因为他们的客服水平才是我推荐的最重要原因。
-
我也已经建好了,现在就是差数据库的初始化,看来只有你说的这个办法建立初始化数据了。谢谢分享。
-
登录出错,我还在分析查找原因,如果有碰到的给我看看怎么回事。
[2009-06-06 07:37:36,314] INFO:dbpool:Connecting to chengwenge_openerp
[2009-06-06 07:37:36,702] INFO:init:module base: loading objects
[2009-06-06 07:37:36,702] INFO:init:module base: registering objects
[2009-06-06 07:37:36,709] CRITICAL:init:Couldn't load module base
[2009-06-06 07:37:36,710] CRITICAL:init:No module named module
> /home/xxx/lib/python/openerp-server/addons/base/init.py(24)?()
-> import module -
搞定了,原因不清楚,可能是环境和安装的问题。
现在直接用上传源安装文件的方式用 python openerp-server.py方式可以运行,终于搞好了,前前后后差不多一周时间。 -
应该不需要吧,独立IP的好处是不会被GFW掉。
如果真有这样的事情,你也可以要求换主机,或到时候再升级独立IP