基础环境:
Ubuntu Server16.04
Python 3.5+
PostgreSQL
Node.js
LESS
Git
==============================================================
Odoo11安装,Odoo11生产环境部署
本文使用有sudo权限的odoo用户进行测试
如果是阿里云,可以
1先创建个odoo用户
sudo adduser odoo
2:给root 权限:
sudo vi /etc/sudoers
修改文件参考如下:
# User privilege specification
root ALL=(ALL:ALL) ALL
odoo ALL=(ALL:ALL) ALL
保存退出,odoo用户就拥有了root权限。
切换用户: su odoo
注:在测试时,直接远程Putty用odoo用户登录了.
3: 进入odoo的家目录 cd ~
第一步: 更新安装依赖并克隆Odoo源码
1.1 更新系统
sudo apt update #注:16.04下只需要输入"sudo apt update" ,-get可以省略
sudo apt upgrade #有个地方会让您确认是否保留当前版本
sudo apt install git # 注:16.04.3自带了git,无需再安装
注:更新完毕后,最好重启下 服务器。
sudo reboot
1.2 安装nodejs(14.04之后用下面的命令):
sudo apt-get install -y npm
sudo ln -s /usr/bin/nodejs /usr/bin/node
sudo npm install -g less # 安装时注意成功安装的提示
1.3 克隆odoo源码 ,下面的命令会克隆到odoo11的 子目录内:
git clone https://github.com/odoo/odoo.git odoo11 -b 11.0 --depth=1
第二步:安装Odoo系统所需的依赖:
2.1
sudo apt-get install -y python3-pip
sudo pip3 install Babel decorator docutils ebaysdk feedparser gevent greenlet html2text Jinja2 lxml Mako MarkupSafe mock num2words ofxparse passlib Pillow psutil psycogreen psycopg2 pydot pyparsing PyPDF2 pyserial python-dateutil python-openid pytz pyusb PyYAML qrcode reportlab requests six suds-jurko vatnumber vobject Werkzeug XlsxWriter xlwt xlrd
注:安装这些依赖时,注意看下载速度,有些时间段会比较慢.有时候还会无法访问到服务器,注意成功安装后的提示. 不行换个时间段安装 就会发现快很多(比如早上8点前)
安装成功后提示:Successfully installed
2.2 安装PostgreSQL以及数据库用户:
sudo apt-get install -y postgresql
2.3 在数据库创建 odoo这个用户():
sudo su - postgres
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo
Enter password for new role: *****
Enter it again:*****
exit
进入odoo源码目录运行odoo 并生成配置文件 (也可以自己创建一个简单的配置文件)
cd ~/odoo11
./odoo-bin -s
从启动日志可以看到,会在当前用户根目录生成配置文件 .odoorc (这个配置文件第三步会用到)
Using configuration file at /home/odoo/.odoorc
再开一个终端窗口,使用ps aux |grep odoo
可以看到odoo的使用情况,比如:
odoo 1010 0.9 1.6 421168 66852 pts/0 Sl+ 12:22 0:00 python3 ./odoo-bin -c /etc/odoo/odoo.conf
应该是用python3 启动的 odoo.
netstat -ant
可以看端口使用的情况 8069是odoo,22用于ssh,5432用于postgresl :
tcp 0 0 0.0.0.0:8069 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
如果不用随着系统启动启动odoo,到这里odoo已经可以手动启动了.
如果希望随着系统自动启动,请继续看下去.
注:还可以用python3.5 odoo-bin -s
启动试试 ,ps aux | grep odoo
里面看到是这样的:
odoo 1058 2.7 1.6 422340 66012 pts/0 Sl+ 12:25 0:00 python3.5 odoo-bin
用python3 和 python3.5 启动的,好像crtl + c 关不干净
ctrl + c 应该可以终止,不过有时候好像会停不干净,需要reboot系统.
第三步:设置配置文件
3.1
sudo mkdir /etc/odoo
sudo cp /home/odoo/.odoorc /etc/odoo/odoo.conf
sudo chown -R odoo /etc/odoo
3.2 我们还需要创建存储Odoo日志的目录,通常位于/var/log内:
sudo mkdir /var/log/odoo
sudo chown odoo /var/log/odoo
3.3 编辑配置文件。
sudo vi /etc/odoo/odoo.conf
下面是2个建议增加的值 :
[options]
logfile = /var/log/odoo/odoo.log
logrotate = True
简要说明:
● addons_path 使用,逗号分隔的扩展路径,会在路径中寻找模块,从左至右阅读,最左侧拥有最高的优先级。
● admin_passwd 是master主控密码,用于访问web客户端数据库管理。建议设置一个足够强的密码,设置为False能让此功能失效。
● db_user 数据库实例在服务器启动序列期间进行初始化。
● dbfilter 用于筛选可访问的数据库,它是Pythoninterpreted正则表达式. 用于不让用户选择数据库,及未验证的URLs正常工作,它应该以^dbname。 它支持%h和%d占位符, 用来HTTP请求的主机名和子域名.
● logfile Odoo服务日志写入的地方。系统服务的日志通常位于/var/log. 留空,或者设为False,日志则会以标准方式输出。
● logrotate = True 按天存放日志
● proxy_mode 当使用反向代理时,应当设为True。
● without_demo 在生产环境中应设为True,这样新的数据库中就不会有演示数据。
● workers 值为启用的处理器数量。
● xmlrpc_port 服务监听的端口号。默认使用8069
● data_dir 会话数据和附件存储的位置,记得备份它。
● xmlrpc-interface 设置监听的地址。默认值会监听所有端口 0.0.0.0, 在使用反向代理时,可以设置为127.0.0.1 目的是只对本地请求响应。
通过-c参数运行服务,我们可以检查配置的效果:
./odoo-bin -c /etc/odoo/odoo.conf
注意:因为设置了日志文件,所以不会跳出日志,
ctrl + c 应该可以终止,不过有时候好像会停不干净,需要reboot系统.
要看 日志的话,可以 再开一个终端 ,用odoo 用户,使用:
tail -f /var/log/odoo/odoo.log 查看 日志。
安装完成
Odoo服务 启动后 试试看在界面 创建 数据库