Odoo的安装与部署
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826288.html
odoo有三种常见的安装方式:打包程序安装、源码安装以及Docker镜像安装。
一:打包程序安装
1、EXE文件
Odoo提供了在Windows下的打包安装程序.exe,下载链接为:https://nightly.odoo.com/8.0/nightly/exe/odoo_8.0.latest.exe
优点:下载完成后双击安装即可立即运行odoo,它会自动安装所有依赖的环境、包。
缺点:这些python依赖可能无法保持最新。
启动配置:在odoo安装目录的——>\server\openerp-server.conf 文件中,可以进行odoo的启动配置项相关设置。
重启odoo使配置生效:在计算机服务中,找到“
2、Deb文件
Odoo在Debian环境下,可以通过命令行的方式下载下载deb文件进行安装。
# wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
# echo "deb http://nightly.odoo.com/8.0/nightly/deb/ ./" >> /etc/apt/sources.list
# apt-get update && apt-get install odoo
该命令会自动安装odoo以及相关依赖,并在安装完成后启动。
配置文件:在“/etc/odoo/openerp-server.conf”文件进行odoo启动项配置。
重启odoo:
sudo service odoo restart
3、RPM文件
Odoo在Linux系统中,需要通过yum来进行odoo的安装。
$ sudo yum install -y postgresql-server #安装pg
$ sudo postgresql-setup initdb
$ sudo systemctl enable postgresql
$ sudo systemctl start postgresql #启动pg
$ sudo yum-config-manager --add-repo=https://nightly.odoo.com/8.0/nightly/rpm/odoo.repo #yum添加odoo源
$ sudo yum install -y odoo #安装odoo
$ sudo systemctl enable odoo
$ sudo systemctl start odoo #启动odoo
配置文件:在“/etc/odoo/openerp-server.conf”文件进行odoo启动项配置。
重启odoo:
sudo systemctl restart odoo
二:源码安装
“源码安装”实际上是不安装Odoo,而是直接从源代码运行它,通常用于开发者开发。
1、安装Python
略,请自行参考网路中关于python的安装指南。
注意:在安装过程中选择“将python.exe添加到路径”,然后重新启动以确保PATH
更新。
注意:如果已经安装了Python,请确保它是2.7.9,以前的版本不太方便,而3.x版本与Odoo 8.0不兼容。
2、下载odoo源码
有两种方式,一是下载zip,解压得到源码:https://nightly.odoo.com/8.0/nightly/src/odoo_8.0.latest.zip
另一种,则是直接访问odoo的GitHub库,使用git工具下载项目到本地:git clone https://github.com/odoo/odoo.git
3、安装odoo所需依赖
3.1)安装PostgresSQL数据库
根据系统环境,按照网络上的指导安装PostgresSQL,并创建一个用户用于odoo连接数据库使用。
注意:PostgresSQL默认情况下,唯一的用户是postgres
,并且会禁止Odoo直接使用postgres连接数据库,因此我们需要创建一个新的数据库用户用于odoo操作数据库。
3.2)安装odoo源码中 requirements.txt 文件列出的python依赖库
Linux和MAC OS可以通过直接使用pip进行安装:pip install -r requirements.txt
Windows下的依赖需要调整一下:首先,通过 http://www.stickpeople.com/projects/python/win-psycopg/ 安装psycopg;然后,编辑 requirements.txt 文件,删除psycopg2、
python-ldap、
gevent、psutil;添加 pypiwin32依赖项。最后,进入到系统中的odoo目录下,通过pip进行安装:C:\ YourOdooPath> C:\ Python27 \ Scripts \ pip.exe install -r requirements.txt
3.3)安装nodejs以及所需插件
在Linux和MAC OS下,可以先安装node.js以及npm包管理工具,然后通过:sudo npm install -g less less-plugin-clean-css 安装该插件来解析以及压缩odoo的css样式代码。
在windows下,则需要安装完node.js后,配置系统的PATH并重启之后,使用npm安装:C:\> npm install -g less less-plugin-clean-css
4、运行odoo
在上述依赖安装完成后,即可通过python文件的执行方式,运行odoo目录中的“odoo.py”文件来启动odoo。
启动配置可以通过上述安装方式一提到的openerp-server.conf配置文件进行配置,也可以在运行odoo.py时,通过运行指令参数的形式进行配置:
4.1)windows下命令行启动配置方式
C:\ YourOdooPath> python odoo.py -w pg数据库用户名 -r 密码 --addons-path = addons, --db-filter = 默认数据库
4.2)Unix、Linux、MACOS下命令行启动配置方式
$ ./odoo.py --addons-path = addons,.. / mymodules --db-filter = mydb $
三:Docker安装odoo
在docker的码头中可以搜索到odoo镜像的相关介绍:https://docs.docker.com/samples/library/odoo/
odoo的镜像下载地址:https://hub.docker.com/_/odoo
目前,docker安装仅支持odoo 9以上版本。
1、安装docker并学习使用。
略。
注:知道怎么拉取镜像、怎么制作yaml文件、怎么查看、启动、停止、重启即可。更深入的可以了解docker镜像打包。
2、docker安装postgres
2.1)拉取postgres镜像
docker pull postgres:9.6
2.2)创建容器并运行
docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres:9.6
run,创建并运行一个容器;
--name,指定创建的容器的名字;
-e POSTGRES_PASSWORD=password,设置环境变量,指定数据库的登录口令为password;
-p 54321:5432,端口映射将容器的5432端口映射到外部机器的54321端口;
-d postgres:9.6,指定使用postgres:9.6作为容器内镜像。
2.3)查看容器
docker ps -a
能看到刚才创建的容器则成功。
3、docker安装odoo
3.1)拉取镜像
docker pull odoo
3.2)创建容器并运行
docker run -p 8069:8069 --name odoo --link db:db -t odoo
注意:运行的PostgreSQL服务容器的别名必须是db,这样Odoo实例才能通过别名连接到PostgreSQL服务容器。
3.3)查看容器
docker ps -a
能看到odoo容器,则成功。
4、访问odoo
打开浏览器,输入: localhost:8069 ,回车,即可访问odoo。
5、停止和重启odoo
docker stop odoo
docker start -a odoo
6、自定义启动配置
docker run -v 自定义配置文件路径 -p 8069:8069 --name odoo --link db:db -t odoo
7、在启动命令中通过参数指定启动配置
启动配置文件中的内容可以以参数形式跟在启动命令后面,在命令行的关键字--
后面出现。如:
docker run -p 8069:8069 --name odoo --link db:db -t odoo -- --配置项=值
8、运行多个odoo实例
通过不同端口,可以同时运行多个不同odoo实例。
docker run -p 8070:8069 --name odoo2 --link db:db -t odoo
docker run -p 8071:8069 --name odoo3 --link db:db -t odoo
9、挂载自己的addons目录
docker run -v 自己的模块目录:/mnt/extra-addons -p 8069:8069 --name odoo --link db:db -t odoo