安装postgresql
1.更新安装源
#sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2.安装postgresql-12
[root@VM-4-7-centos ~]# sudo yum -y install postgresql12-server postgresql12 postgresql-devel
3.修改profile参数文件
#vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=/usr/pgsql-12/bin:$PATH:$HOME/bin
export PATH
[root@VM-4-7-centos ~]# psql -V
psql (PostgreSQL) 12.13
4.初始化数据库
[root@VM-4-7-centos ~]# sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
Initializing database ... OK
5.设置数据库开机自启动
[root@VM-4-7-centos data]# systemctl enable postgresql-12.service
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-12.service to /usr/lib/systemd/system/postgresql-12.service.
6.启动数据库
[root@VM-4-7-centos data]# systemctl start postgresql-12.service
├─3802 postgres: stats collector
└─3803 postgres: logical replication launcher
7.创建以下链接
[root@VM-4-7-centos bin]# ln -s /usr/pgsql-12/bin/psql /usr/bin/psql
[root@VM-4-7-centos bin]# ln -s /usr/pgsql-12/bin/createuser /usr/bin/createuser
8创建一个PostgreSQL用户,与为Odoo创建的用户(odoo13和odoo14)使用相同的名称。
[root@VM-4-7-centos bin]# sudo su - postgres -c "createuser -s odoo13"
[root@VM-4-7-centos bin]# sudo su - postgres -c "createuser -s odoo14"
安装odoo13&odoo14
为odoo创建用户:
[root@VM-4-7-centos opt]# sudo useradd -m -U -r -d /opt/odoo13 -s /bin/bash odoo13
[root@VM-4-7-centos opt]# sudo useradd -m -U -r -d /opt/odoo14 -s /bin/bash odoo14
安装和配置odoo13
#git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo
一直无法成功,直接登录github下载odoo13后上传文件到服务器
[odoo13@VM-4-7-centos ~]$ unzip odoo-13.0.zip
[odoo13@VM-4-7-centos odoo-13.0]$ cd /opt/odoo13
[odoo13@VM-4-7-centos ~]$ ls
odoo-13.0 odoo-13.0.zip
为odoo13创建一个python虚拟环境:
[odoo13@VM-4-7-centos ~]$ cd /opt/odoo13
[odoo13@VM-4-7-centos ~]$ python3 -m venv odoo13-venv
[odoo13@VM-4-7-centos ~]$ ls
odoo-13.0 odoo-13.0.zip odoo13-venv
激活虚拟环境:
[odoo13@VM-4-7-centos ~]$ source odoo13-venv/bin/activate
升级pip,并安装setuptools和Wheel库:
(odoo13-venv) [odoo13@VM-4-7-centos ~]$ pip install --upgrade pip
(odoo13-venv) [odoo13@VM-4-7-centos ~]$ pip install setuptools==57.5.0
(odoo13-venv) [odoo13@VM-4-7-centos ~]$ pip3 install wheel
退出虚拟环境:
(odoo13-venv) [odoo13@VM-4-7-centos ~]$deactivate && exit
创建odoo13的配置文件:
[root@VM-4-7-centos ~]# cat /etc/odoo13.conf
[options]
db_host = False
db_port = False
db_user = odoo13
#limit_time_cpu = None
#limit_time_real = None
#db_name = bms
db_password = False
addons_path = /opt/odoo13/odoo-13.0/addons,/opt/odoo13/odoo-custom-addons
#/OdooAppBox,/opt/odoo13/odoo-custom-addons/OdooAppBox_addons-master/core,/opt/odoo13/odoo-custom-addons/OdooAppBox_addons-master/demo_for_odoo12
logfile = /var/log/odoo13/odoo13.log
logrotate = True
log_level = debug
xmlrpc_port = 8369
longpolling_port=8372
#workers = none
workers = 2
同步odoo-custom-addons下的代码文件
创建系统单元文件:
[root@VM-4-7-centos ~]# cat /etc/systemd/system/odoo13.service
[Unit]
Description=Odoo13
Requires=postgresql-12.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo13
PermissionsStartOnly=true
User=odoo13
Group=odoo13
ExecStart=/opt/odoo13/odoo13-venv/bin/python3 /opt/odoo13/odoo-13.0/odoo-bin -c /etc/odoo13.conf
#StandardOutput=journal+console --limit-time-real=10000
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
重新加载守护程序,使在systemd中创建的新单元可以启动odoo13的服务:
#systemctl daemon-reload
启用odoo13服务开机自启动:
#systemctl enable odoo13
恢复bms数据库:
[root@VM-4-7-centos odoo13]# su - postgres
postgres=# CREATE DATABASE "bms" WITH OWNER = odoo13 ENCODING = 'UTF8' LC_COLLATE = 'C' LC_CTYPE = 'en_US.UTF-8' TEMPLATE template0;
CREATE DATABASE
[odoo13@VM-4-7-centos bms_data_bak]$ psql -d bms -U odoo13 -f dump_bms_20230201.sql
安装和配置odoo14
#yum install python-devel,openldap-devel,python3-devel
[odoo143@VM-4-7-centos ~]$ tar -xvf odoo14.tar
为odoo14创建一个python虚拟环境:
[odoo14@VM-4-7-centos ~]$ cd /opt/odoo14
[odoo14@VM-4-7-centos ~]$ python3 -m venv odoo14-venv
[odoo14@VM-4-7-centos ~]$ ls
odoo14 odoo.tar odoo14-venv
激活虚拟环境:
source odoo14-venv/bin/activate
在虚拟环境中安装 Python依赖包:
pip install wheel
pip install -r /opt/odoo/odoo14/requirements.txt
退出当前用户:
deactivate && exit
在原华为云上停止odoo14服务后做一个数据库的备份:
[odoo14@ecs-366f scripts]$ sh dump_XY.sh
dump_XY_2023-02-02.sql
在目标服务器上恢复欣云数据库:
systemctl stop odoo14
postgres=# drop database if exists xinyun1;
DROP DATABASE
[root@VM-4-7-centos bms_data_bak]# systemctl start odoo14
postgres=# CREATE DATABASE "XY" WITH OWNER = odoo14 ENCODING = 'UTF8' LC_COLLATE = 'C' LC_CTYPE = 'en_US.UTF-8' TEMPLATE template0;
psql -d XY -U odoo14 -f dump_XY_2023-02-02.sql