1、* (pass 这步可以不做) 更新Ubuntu服务器软件源
# 更新软件源
sudo apt-get update
# 更新软件包,自动查找依赖关系
sudo apt-get dist-upgrade -y
# 重启服务器,以更新改变的内容
sudo shutdown -r now
2、新建系统用户用于运行Odoo12程序
# 查看是否已经存在odoo12用户
cat /etc/passwd
# 新建系统用户odoo12,指定home目录为/home/odoo12
sudo adduser --system --home=/home/odoo12 --group odoo12
系统用户不能用于登录并且没有shell,但当需要以它的身份进行特定操作时,可以用su命令切换用户:
sudo su odoo12 # 测试一下是否成功
exit # 退出
命令运行后会自动从当前目录切换到odoo12用户的home目录/home/odoo12。
操作完毕后输入exit命令,离开odoo12用户的shell,回到登录所用的用户。
3、安装 Git , Pip , Node.js 和构建Odoo依赖项所需的工具
sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less
4、下载最新版Odoo12源码
sudo apt-get install -y git
sudo su odoo12
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
mv odoo odoo12
exit
sudo chown -R odoo12:odoo12 odoo12
sudo chmod -R 774 /home/odoo12/odoo12
5、安装和配置数据库服务器PostgreSQL
数据库默认用户名:postgres,没有密码
# 安装PostgreSQL
sudo apt-get install -y postgresql
# 创建数据库用户odoo12,输入两次密码odoo12
sudo -u postgres createuser --createdb --no-createrole --no-superuser --pwprompt odoo12
6、安装Wkhtmltopdf
下载安装wkhtmltopdf(Odoo使用wkhtmltopdf来输出pdf):
# 下载wkhtmltopdf,注意根据操作系统选择相应版本
sudo wget http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb
# 安装wkhtmltopdf
sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb
# 强制修复出现的依赖关系错误,清理上面安装过程中遇到的错误
sudo apt-get -f install
# 安装完成后将可执行文件复制到usr/bin中
sudo cp /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
# 更改所有者为root用户
sudo chown root:root /usr/bin/wkhtmltopdf
# 并增加可执行属性
sudo chmod +x /usr/bin/wkhtmltopdf
# 安装中文字体
sudo apt-get install -y ttf-wqy-zenhei ttf-wqy-microhei
# 打印一个网页到当前目录,如果成功生成pdf则表明安装成功
wkhtmltopdf www.baidu.com baidu.pdf
7、安装和配置Odoo
#更改为用户“odoo12”
sudo su - odoo12
#进入home目录
cd
# 为Odoo 12安装创建一个新的Python虚拟环境
python3 -m venv odoo-venv
# 激活环境
source odoo-venv/bin/activate
http://mirrors.aliyun.com/pypi/simple/
阿里云
https://pypi.mirrors.ustc.edu.cn/simple/
中国科技大学
http://pypi.douban.com/simple/
豆瓣(douban)
https://pypi.tuna.tsinghua.edu.cn/simple/
清华大学
http://pypi.mirrors.ustc.edu.cn/simple/
中国科学技术大学
# 创建编辑配置文件
cd
mkdir .pip
cd .pip
vim pip.conf
- 输入以下文本保存退出
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
- 进入虚拟环境后(可能需要换源pip换源)
pip3 install wheel
pip3 install -r odoo12/requirements.txt
如果在安装过程中遇到任何编译错误,请确保安装了“开始之前”节中列出的所有必需依赖项。
- 使用以下命令停用环境
deactivate
- 为自定义插件创建新目录
mkdir /home/odoo12/odoo-custom-addons
- 切换回您的sudo用户
exit
- 编辑配置文件
sudo vim /etc/odoo12.conf
- 创建log文件
cd /var/log
sudo mkdir odoo12
cd odoo12
sudo touch odoo12-server.log
sudo chown -R odoo12:odoo12 odoo12-server.log
- 创建odoo12的静态目录
sudo mkdir /var/lib/odoo12
sudo chown -R odoo12:odoo12 /var/lib/odoo12
- 粘贴以下内容
[options]
; This is the password that allows database operations:
; admin_passwd = my_admin_passwd
db_host = False
db_port = False
db_user = odoo12
db_password = odoo12
addons_path = /home/odoo12/odoo12/addons,/home/odoo12/odoo12/odoo/addons,/home/odoo12/odoo-custom-addons
data_dir = /var/lib/odoo12
log_level = info
logfile = /var/log/odoo12/odoo12-server.log
logrotate = True
;xmlrpc_port = 8069
;db_filter = ^vivi$
- 保存退出, 修改权限
sudo chmod 774 /etc/odoo12.conf
8、创建systemd服务文件
- 创建文件
sudo vim /etc/systemd/system/odoo12.service
- 创建文件
[Unit]
Description=Odoo12
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo12
PermissionsStartOnly=true
User=odoo12
Group=odoo12
ExecStart=/home/odoo12/odoo-venv/bin/python3 /home/odoo12/odoo12/odoo-bin -c /etc/odoo12.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
- 执行
sudo systemctl daemon-reload
sudo systemctl start odoo12
- 运行
sudo systemctl status odoo12
- 部分命令
# 启用Odoo
sudo systemctl enable odoo12
# 查看Odoo服务记录
sudo journalctl -u odoo12
# 启动服务
sudo systemctl start odoo12
# 重启服务
sudo systemctl daemon-reload
sudo systemctl restart odoo12
# 停止服务
sudo systemctl stop odoo12