实战odoo12安装

前言

odoo是一套开源的ERP程序,社区版是可以免费使用的,用于商业用途也没有任何问题。

对于新手来说,使用上它并不容易,需要花很多时间精力都研究它,一旦能上手,这套餐程序还是很有用的。

我在linode的VPS(套餐Linode 2048)搭建了odoo12社区版,用于公司管理,目前还在测试阶段,这里把安装过程简单说下。

安装环境

  • Linode 2048 套餐的VPS 1核2G内存50G硬盘 10美元/月
  • Ubuntu 16.04 LTS 64位操作系统

开始安装

更新系统

sudo apt-get update && sudo apt-get upgrade

安装 software-properties-common

sudo apt-get install software-properties-common

安装 PostgreSQL

添加 PostgreSQL 存储库

sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main"

导入密钥

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

更新缓存

sudo apt update

安装PostgreSQL 9.6

sudo apt install postgresql-9.6 postgresql-server-dev-9.6

新建 PostgreSQL 用户

临时切换到 PostgreSQL 用户

sudo su - postgres

创建一个数据库用户 odoo 负责所有数据库操作,并给它创建一个强密码

createuser odoo -U postgres -dRSP

CTRL+D 退出 postgres 用户临时进程。

新建一个系统用户用于运行odoo

sudo adduser --system --home=/opt/odoo --group odoo

配置日志(可选)

Ubuntu默认使用systemd和journald记录日志,如你只使用系统日志而不需要单独的odoo日志文件,你不需要进行这一步。

建立日志文件目录(可选)

sudo mkdir /var/log/odoo

安装 Odoo 12

安装git

sudo apt-get install git -y

从github上克隆 odoo 12 到服务器

sudo git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 --single-branch /opt/odoo

强制使用POSIX语言环境,防止在安装过程中出现错误

export LC_ALL=C

安装新的Python3依赖项

sudo apt-get install python3 python3-pip python3-suds python3-all-dev python3-dev python3-setuptools python3-tk

安装全局依赖项

sudo apt install git libxml2-dev libxslt1-dev libevent-dev libsasl2-dev libldap2-dev \
pkg-config libtiff5-dev libjpeg8-dev libjpeg-dev zlib1g-dev libfreetype6-dev \
liblcms2-dev liblcms2-utils libwebp-dev tcl8.6-dev tk8.6-dev libyaml-dev fontconfig

安装 odoo 12 特定信赖项

sudo -H pip3 install --upgrade pip
sudo -H pip3 install -r /opt/odoo/doc/requirements.txt
sudo -H pip3 install -r /opt/odoo/requirements.txt

通过 Node.js 和 npm 安装 Less CSS

sudo curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - \
&& sudo apt-get install -y nodejs \
&& sudo npm install -g less less-plugin-clean-css

安装 wkhtmltopdf 0.12.4

cd /tmp
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
sudo mv wkhtmltox/bin/wk* /usr/bin/ \
&& sudo chmod a+x /usr/bin/wk*

配置 odoo 服务器

复制配置文件到 /etc

sudo cp /opt/odoo/debian/odoo.conf /etc/odoo-server.conf

修改 /etc/odoo-server.conf

[options]
admin_passwd = admin
db_host = False
db_port = False
db_user = odoo
db_password = odoo_password
addons_path = /opt/odoo/addons
logfile = /var/log/odoo/odoo-server.log
xmlrpc_port = 8069

admin_passwd 允许数据库操作的密码,一定要设置成强密码

db_password 修改为你刚才设置的postgres密码

addons_path 自定义模块的路径

logfile 日志文件,无需要日志文件只使用系统日志的话可以在行首添加分号 ; 注释掉

xmlrpc_port odoo前端端口,默认 8069

创建一个 odoo 服务

创建一个 systemd unit 名称为 odoo server 让odoo服务器程序能以服务运行。

新建一个文件 /lib/systemd/system/odoo-server.service 添加如下代码

[Unit]
Description=Odoo Open Source ERP and CRM
[Service]
Type=simple
PermissionsStartOnly=true
SyslogIdentifier=odoo-server
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo-bin --config=/etc/odoo-server.conf --addons-path=/opt/odoo/addons/
WorkingDirectory=/opt/odoo/
[Install]
WantedBy=multi-user.target

更改文件所属账户并设置权限

sudo chmod 755 /lib/systemd/system/odoo-server.service
sudo chown root: /lib/systemd/system/odoo-server.service
sudo chown -R odoo: /opt/odoo/
sudo chown odoo:root /var/log/odoo
sudo chown odoo: /etc/odoo-server.conf
sudo chmod 640 /etc/odoo-server.conf

测试 odoo 服务器

启动服务

sudo systemctl start odoo-server

检查服务状态

sudo systemctl status odoo-server

你应该会看到如下图所示输出代码

odoo test status

检查数据库输出确保没有错误输出

sudo journalctl -u postgresql

停止 odoo 服务

sudo systemctl stop odoo-server

再次检查 odoo 服务状态,确保无错误输出

sudo systemctl status odoo-server

正常输出如下图所示

odoo stop status

启用 odoo 服务

启用 odoo 服务让 odoo 随服务器自动启动停止

sudo systemctl enable odoo-server

重启服务器看odoo服务是否正常启动

使用Linode后台重启服务器或直接reboot

等待VPS重新启动成功后重新ssh连接到vps,输入如下命令检查odoo服务是否正常启动

sudo journalctl -u odoo-server

应该会有一条提示 Started Odoo Open Source ERP and CRM. 指示odoo已启动。

现在你可以访问 http://yourip:8069 访问odoo了,enjoy it

参考:

发表评论

邮箱地址不会被公开。 必填项已用*标注