CentOS安装部署Odoo 14 ERP系统详细教程

Shaw

发表文章数:39

首页 » 经验教程 » 正文

此教程针对企业ERP管理系统的Odoo14版本的部署教程 原教程参考Anlan Hou个人博客的文章做的教程完善 本教程对服务器的一些基础知识不够了解可能有一定门槛,教程已经很详细了,不会配置可以找我,有偿搭建

CentOS 7安装 Odoo 14

安装 Python 3

sudo yum update y
sudo yum install gcc gccc++ openssldevel bzip2devel libffidevel libxml2devel libxsltdevel libjpegturbodevel openldapdevel y
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
tar xzf Python3.8.5.tgz
cd Python3.8.5
./configure enableoptimizations
sudo make altinstall
python3.8 V

配置虚拟环境

mkdir ~/odoo-dev
cd ~/odoo-dev
python3.8 -m venv env
source env/bin/activate

安装 PostgreSQL

sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum -y install epel-release yum-utils
sudo yum-config-manager --enable pgdg12
sudo yum -y install postgresql12-server postgresql12 postgresql-devel
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
 
sudo passwd postgres # 为超级用户设置密码
 
# 远程链接
# vi /var/lib/pgsql/12/data/postgresql.conf
listen_addresses = '192.168.10.10' # 设置为*表示所有
# sudo vi /var/lib/pgsql/12/data/pg_hba.conf
# Accept from anywhere
host all all 0.0.0.0/0 md5
# Accept from trusted subnet
host all all 192.168.18.0/24 md5
 
# 设置完成后重启服务
systemctl restart postgresql-12.service

参考链接:https://computingforgeeks.com/how-to-install-postgresql-12-on-centos-7/

安装 Odoo

10月1日 Odoo 14稳定版已正式发布,可直接通过 GitHub 下载源代码(参见CentOS 8部分教程)

cd ~/odoo-dev/
wget http://nightly.odoo.com/master/nightly/src/odoo_14.1alpha1.latest.tar.gz
tar xzf odoo_14.1alpha1.latest.tar.gz
mv odoo-14.1a1.* odoo14
 
pip install -r odoo14/requirements.txt
sudo -u postgres createuser --createdb $(whoami)
# sudo -u postgres createdb -O $(whoami) dbname
 
cd odoo14
cp setup/odoo odoo-bin
chmod +x odoo-bin
./odoo-bin -d odoo-test -i base

登录页还是那个熟悉的登录页,登录后可以看到目前界面上的最大变化就是左侧导航区 odoo_14.0alpha1未开启 debug   登录页还是那个熟悉的登录页,登录后可以看到目前界面上的最大变化就是左侧导航区 odoo_14.0alpha1未开启 debug

CentOS安装部署Odoo 14 ERP系统详细教程

支付服务也着实不少,支付宝赫然在列:

CentOS安装部署Odoo 14 ERP系统详细教程

odoo_14.1alpha1已开启 debug

CentOS安装部署Odoo 14 ERP系统详细教程

然后在Odoo14中单纯使用?debug已无法调出调试菜单,需使用完整的?debug=1或?debug=assets;原“Activate the developer mode”按钮要求至少安装一个应用后再点击 Settings 菜单下拉至底部:

CentOS安装部署Odoo 14 ERP系统详细教程

CentOS 8安装 Odoo 14

sudo dnf update -y # 升级系统安装包
# 安装所需依赖
sudo dnf install python3 python3-devel git gcc redhat-rpm-config libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel curl unzip -y
# 安装wkhtmltopdf
sudo dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm
# 验证安装版本
wkhtmltopdf --version
# 安装 PostgreSQL
sudo dnf install postgresql postgresql-server postgresql-contrib -y
# 初始化数据库
sudo postgresql-setup initdb
# 启动服务
sudo systemctl start postgresql
sudo systemctl enable postgresql
# 创建数据库用户(需与下面的系统用户名称保持一致)
sudo su - postgres -c "createuser -s odoo14"
# 创建系统用户
sudo useradd -m -U -r -d /opt/odoo14 -s /bin/bash odoo14
# 创建目录
sudo mkdir /opt/odoo
sudo chown odoo14: /opt/odoo
# 切换用户、克隆代码
sudo su - odoo14
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo/odoo14
# 创建自定义 addon 文件夹
mkdir /opt/odoo/odoo14-custom-addons
# 创建虚拟环境
cd /opt/odoo14 && python3 -m venv odoo14-venv
# 激活虚拟环境
source odoo14-venv/bin/activate
# 在虚拟环境中安装 Python依赖包
pip install wheel
pip install -r /opt/odoo/odoo14/requirements.txt
# 退出当前用户
deactivate && exit
# 创建日志文件并授权
sudo mkdir /var/log/odoo14 && sudo touch /var/log/odoo14/odoo14.log
sudo chown -R odoo14: /var/log/odoo14/

编辑配置文件(请修改master_password)

# sudo vi /etc/odoo14.conf 文件诺不存在请新建
[options]
; This is the password that allows database operations:
admin_passwd = master_password
db_host = False
db_port = False
db_user = odoo14
db_password = False
xmlrpc_port = 8069
; longpolling_port = 8072
logfile = /var/log/odoo14/odoo14.log
logrotate = True
addons_path = /opt/odoo/odoo14/addons,/opt/odoo/odoo14-custom-addons
proxy_mode = True # 配合 Nginx 使用

配置文件常用参数

选项 格式 用途
without_demo 逗号分隔的模块名列表,或 all(取消所有模块的演示数据),或 False(为所有模块启用演示数据) 该选项阻止模块演示数据被加载
addons_path 逗号分隔的路径列表 这是一个服务查找插件的路径名列表
admin_passwd 文本 这是 master 密码(参见前面部分的内容)
data_dir 一个目录路径 这个目录中服务会存储session信息、从网上下载的插件以及在启用了文件存储时存放文档。
db_host 主机名 这是运行PostgreSQL服务的服务器名。使用 False 来使用本地 Unix 域套接字,以及 localhost 来使用本地 TCP 套接字。
db_user 数据库登录用户 在db_host为 False 时这通常为空。这将是用于连接数据库的用户。
db_password 数据库用户密码 在db_host为 False以及 db_user 与运行服务的用户相同时通常为空。阅读pg_hba.conf的主页面来获取更多相关信息。
db_name 数据库名 用于设置一些默认执行命令作用的数据库名。这不会限制服务所操作的数据库。参照下面的 dbfilter 参数。
dbfilter 一个正则表达式 该表达式应匹配服务所使用的数据库名。如果你运行网站,应该匹配单个数据库,类似^databasename$。
http_interface 网络接口的 IP 地址 默认为0.0.0.0,表示服务监听所有接口。
http_port longpolling_port 端口号 这些是 Odoo 服务所会监听的端口。你需要指定这两者来在同一台主机上运行多个 Odoo 服务;longpolling_port仅在workers不为0时使用。 http_port默认值为8069,longpolling_port默认为8072。
logfile 文件路径 Odoo 写入日志的文件。
log_level 日志信息级别 指定日志的级别。可接受的值(内容逐渐增加)包括critical, error, warn, info, debug, debug_rpc, debug_rpc_answer, debug_sql。
workers 整数 worker进程的数量。
list_db True/False 设置为 True 来取消列出数据库。
proxy_mode True/False 激活反向代理WSGI封装。仅在运行于可信任的 web 代理后启用它。

创建systemd启动文件

# sudo vi /etc/systemd/system/odoo14.service
[Unit]
Description=Odoo14
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo14
PermissionsStartOnly=true
User=odoo14
Group=odoo14
ExecStart=/opt/odoo14/odoo14-venv/bin/python3 /opt/odoo/odoo14/odoo-bin -c /etc/odoo14.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target

载入配置文件并启动服务

sudo systemctl daemon-reload
sudo systemctl start odoo14
sudo systemctl enable odoo14
# 查看启动状态
sudo systemctl status odoo14

绑定域名

Nginx绑定域名

安装 Nginx 并进行配置(以下 yourdomain.com 仅为示例,请使用自己的域名,测试目的可能过 host绑定来使用该域名)

#安装命令
sudo dnf install nginx -y
# sudo vi /etc/nginx/conf.d/yourdomain.com.conf
upstream odooserver {
  server 127.0.0.1:8069;
}
upstream odoochat {
  server 127.0.0.1:8072;
}
server {
  listen 80;
  server_name yourdomain.com;
  proxy_read_timeout 720s;
  proxy_connect_timeout 720s;
  proxy_send_timeout 720s;
  # Proxy headers
  proxy_set_header X-Forwarded-Host $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Real-IP $remote_addr;
  # log files
  access_log /var/log/nginx/yourdomain.com.log;
  error_log /var/log/nginx/yourdomain.com.log;
  # Handle longpoll requests
  location /longpolling {
    proxy_pass http://odoochat;
  }
  # Request for root domain
  location / {
    proxy_redirect off;
    proxy_pass http://odooserver;
  }
  # Cache static files
  location ~* /web/static/ {
    proxy_cache_valid 200 90m;
    proxy_buffering on;
    expires 864000;
    proxy_pass http://odooserver;
  }
  gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
  gzip on;
}

启动 Nginx

sudo systemctl start nginx
sudo systemctl enable nginx

注意系统默认可能开启 SELinux 而导致80端口无法直接访问

setenforce 0
# vi /etc/selinux/config
SELINUX=disabled
Aapache
#安装apache命令
yum install httpd
#apache启动
systemctl start httpd

# 编辑vi /etc/httpd/vhost.d/odoo-apache.conf

  ProxyPreserveHost On
  ProxyRequests Off
  ServerName erp.alanhou.org
  ServerAlias erp.alanhou.org
  ProxyPass / http://localhost:8069/
  ProxyPassReverse / http://localhost:8069/

SAMBA远程调试

不建议在生产环境安装使用

sudo yum install samba samba-client -y

编辑配置文件(/etc/samba/smb.conf):

[share]
      path = /home/alan/shared_directory
      available = yes
      browseable = yes
      public = yes
      writable = yes

设置密码:

sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a $(whoami)

Mac: Finder 右击 Connect to server…或在桌面上按下 Cmd+k,输入 你的 IP地址 smb://192.168.xxx.xxx,然后输入用户名及刚刚设置的密码即可在本地挂载该目录。 Windows:Win+R 在弹出窗口中或在文件浏览器的输入框中输入 \\192.168.xxx.xxx,然后输入用户名及刚刚设置的密码即可在本地挂载该目录。 这样的好处是可以直接修改服务器上的代码或使用该代码进行调试,但使用 git 可能是更好的选择:

CentOS安装部署Odoo 14 ERP系统详细教程

常见问题

1、ModuleNotFoundError: No module named ‘_ctypes’

yum install libffi-devel -y
# 重新编译
./configure --enable-optimizations 
sudo make altinstall

2.Error: pg_config executable not found.

yum -y install postgresql-devel

3、psql 命令行创建数据库和用户

CREATE DATABASE database_name;
CREATE USER my_username WITH PASSWORD 'my_password';
GRANT ALL PRIVILEGES ON DATABASE "database_name" to my_username;

未经允许不得转载:作者:Shaw, 转载或复制请以 超链接形式 并注明出处 易微客
原文地址:《CentOS安装部署Odoo 14 ERP系统详细教程》 发布于2020-11-24

分享到:
赞(0)

评论 抢沙发

3 + 4 =


Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

切换登录

注册