查看信息,确定系统的源
uname命令:uname命令用于显示有关系统的基本信息,如内核版本和系统架构。以下是一些常用的uname命令示例:
查看内核版本: uname -r
查看系统架构: uname -m
查看操作系统名称:uname -o
查看主机名:uname -n
lsb_release命令:lsb_release命令用于查看Linux发行版的详细信息
lsb_release -a
cat /etc/os-release命令:这个命令可以查看系统的详细信息,包括发行版、版本号、ID等
cat /etc/os-release
hostnamectl命令:hostnamectl命令允许您查看和修改系统的主机名和相关信息
hostnamectl
在更新源之前可以切换到国内的源上
参考:liunx-Ubuntu上apt源的切换
在终端中运行以下命令,确保您的系统已更新到最新版本:
sudo apt update
sudo apt upgrade
安装python可以参考:liunx-Ubuntu安装python多个指定版本
Odoo需要Python 3来运行,您可以使用以下命令安装Python和相关库:
sudo apt install python3 python3-pip python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev libssl-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev libatlas-base-dev libopenblas-dev libopenjp2-7-dev libfreetype6-dev libtiff5-dev libjpeg62-dev liblcms2-dev libopenblas-base libopenblas-dev libfreetype6 libtiff5 libjpeg8 libjpeg-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev libssl-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev libatlas-base-dev libopenblas-dev libjpeg62-dev libfreetype6-dev libtiff5-dev libjpeg62-dev liblcms2-dev libopenblas-base libopenblas-dev
Odoo需要一个数据库来存储数据。您可以安装PostgreSQL并创建一个数据库用户和数据库。以下是一些命令来完成这个步骤:
#安装
sudo apt install postgresql-12 #安装postgresql12版本
#启动命令:
/etc/init.d/postgresql start
systemctl restart postgresql
#登录:
sudo -u postgres psql # 使用postgres用户登录数据库
#修改密码:
# 以下内容内容都是在 postgres=# 下输入
ALTER USER postgres WITH PASSWORD 'Odoochengdu123*'; # 密码设置为123455,有分号才会执行命令
\q #退出客户端
exit
#命令行方式创建postgres 用户以及权限
create user odoo with password 'Odoochengdu123';
alter user odoo createdb createrole superuser;
#修改远程链接
vim打开文件sudo vim/etc/postgresql/12/main/postgresql.conf
cd /etc/postgresql/12/main
vim postgresql.conf
listen_addresses='*'
vim pg_hba.conf
host all all 0.0.0.0/0 md5
Odoo需要用于生成PDF文件的wkhtmltopdf工具。您可以从其官方网站下载适合您的Ubuntu 18.04架构的二进制文件并安装它。以下是一个示例命令:
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6-1.bionic_amd64.deb
sudo apt install -f
您需要安装Git来获取Odoo源代码。运行以下命令:
sudo apt install git
odoo 按照需要:
安装note.js
sudo apt-get install nodejs -y
sudo apt-get install npm -y
[sudo] npm install -g less
[sudo] npm install -g less-plugin-clean-css
lessc
使用Git克隆Odoo 16的源代码库:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 16.0 --single-branch .
在Python 3.3及更高版本中,venv模块已经内置在Python中,您可以使用它来创建虚拟环境。如果您使用的是较旧版本的Python,可以安装virtualenv包。
建议使用虚拟环境以隔离Odoo的依赖项。您可以使用以下命令创建虚拟环境:
sudo apt install python3-venv
python3 -m venv odoo-venv
(这个命令将使用Python 3.8的虚拟环境工具来创建虚拟环境,并且是完全有效的。)
sudo apt install python3-venv
/usr/bin/python3.8 -m venv odoo-venv
sudo pip install virtualenv
virtualenv -p /usr/bin/python3.8 myenv3.8
有时候,pip和setuptools的旧版本可能会导致编译错误。请确保它们是最新版本
pip install --upgrade pip setuptools
进入虚拟环境并安装Odoo的Python依赖项:
source odoo-venv/bin/activate
pip install -r requirements.txt
deactivate
1.lxml (pip3 install lxml==3.7.1 -i https://pypi.tuna.tsinghua.edu.cn/simple)
sudo apt-get install libxml2-dev libxslt-dev -y
sudo apt-get install python3-lxml -y
–with-freetype-config=/usr/local/freetype/bin/freetype-config
2.pyldap
pyldap (pip3 install pyldap==2.4.28 -i https://pypi.tuna.tsinghua.edu.cn/simple)
sudo apt-get install libldap2-dev libsasl2-dev -y
首先创建odoo.conf文件
[options]
; This is the password that allows database operations:
admin_passwd = admin_passwd
db_host = localhost
db_port = 5432
db_user = user
db_name = odoodata #数据库名字
db_password = odoodbpassword
addons_path = /odoopath/odoo/addons,/odoopath/odoo/
pg_path = /usr/lib/postgresql/12/bin
bin_path= /usr/bin/wkhtmltopdf/bin
xmlrpc_port = 8069
;xmlrpc_interface =
longpolling_port = 9014
;limit_memory_hard = 1677721600
;limit_memory_soft = 6291456000
;limit_request = 600
;limit_time_cpu = 600
;limit_time_real = 1200
;max_cron_threads = 100
;workers = 1
;log_db = True
log_handler = :INFO
log_level = info
logfile = /log/odoo.log
;osv_memory_age_limit = 1.0
;translate_modules = [‘UTC‘]
在激活虚拟环境后使用启动命令:
source odoo-venv/bin/activate
使用以下命令启动Odoo(在项目目录下):
python odoo-bin -c odoo.conf
在配置odoo.conf文件中,您需要设置数据库连接信息、监听地址和端口等等。
Odoo的文件存储路径可以在Odoo配置文件(通常是odoo.conf)中进行配置
[data_dir]
data_dir = /path/to/your/data_directory
odoo版本查看
odoo-bin --version
怎样才看odoo运行在8069端口上的文件在什么位置:
sudo lsof -i :8069
#更改项目的权限
sudo chown -R odoo:odoo /path/to/your/directory
sudo chmod -R 777 /path/to/your/directory
[uwsgi]
#socket = odoo16_e_test.sock
http=0.0.0.0:8069
chmod-socket = 664
virtualenv = /path/venv/
#pythonpath = /home/shop/venv/bin/python3.8
wsgi-file = /odoopath/odoo-wsgi.py #位置根据项目具体位置而定
buffer-size = 50000
die-on-term = true
[Unit]
Description=cdn-odoo16
[Service]
User=ubuntu
ExecStart=/bin/bash -c 'cd /odoopath/ && source /odoopath/venv/bin/activate && uwsgi --ini uwsgi.ini'
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all
[Install]
WantedBy=multi-user.target
这是一个Python脚本odoo-wsgi.py,用于配置和启动Odoo服务器的设置。Odoo是一种开源的ERP(企业资源规划)和CRM(客户关系管理)系统,用于管理企业的各种业务流程。
#----------------------------------------------------------
#Common
#----------------------------------------------------------
odoo.multi_process = True # Nah!
# Equivalent of --load command-line option
odoo.conf.server_wide_modules = ['base', 'web']
conf = odoo.tools.config
# Path to the OpenERP Addons repository (comma-separated for
# multiple locations)
conf['addons_path'] = '/odoopath/odoo/addons,/odoopath/odoo/'
# Optional database config if not using local socket
conf['admin_passwd'] = 'adminodoo'
conf['db_name'] = 'DATA'
conf['db_host'] = 'localhost'
conf['db_user'] = 'odoo'
conf['db_port'] = 5432
conf['data_dir'] = '/root/.local/share/Odoo'
conf['db_password'] = 'Odoo*'
conf['proxy-mode'] = True
conf['saas_db_name'] = 'DATA'
#----------------------------------------------------------
# Generic WSGI handlers application
#----------------------------------------------------------
application = odoo.service.wsgi_server.application
odoo.service.server.load_server_wide_modules()
#----------------------------------------------------------
# Gunicorn
#----------------------------------------------------------
# Standard OpenERP XML-RPC port is 8069
bind = '127.0.0.1:8069'
pidfile = '.gunicorn.pid'
workers = 2
timeout = 240
max_requests = 2000
在这个脚本中,有许多重要的设置。让我们一一解析:
odoo.multi_process = True:这行代码设置Odoo服务器以多进程模式运行。这种模式可以提高服务器的并发处理能力。
odoo.conf.server_wide_modules = [‘base’, ‘web’]:这行代码指定了在服务器启动时加载的模块,‘base’ 和 ‘web’ 是Odoo的基础模块,为运行其他模块提供支持。
conf[‘addons_path’]:这是Odoo的插件路径。这些路径中包含了所有可用的Odoo模块。
conf[‘admin_passwd’], conf[‘db_name’], conf[‘db_host’], conf[‘db_user’], conf[‘db_port’], conf[‘db_password’]:这些是数据库配置参数,包括管理员密码、数据库名、数据库主机地址、数据库用户名、数据库端口以及数据库密码。
conf[‘proxy-mode’] = True:这个选项开启了代理模式,这在Odoo服务器背后有反向代理服务器的情况下很有用。
application = odoo.service.wsgi_server.application:这行代码创建了一个WSGI应用。WSGI是Web服务器网关接口,是Python应用程序或框架和Web服务器之间的标准接口。
odoo.service.server.load_server_wide_modules():这行代码负责加载前面定义的server-wide模块。
bind = ‘127.0.0.1:8069’:这行代码指定了服务器应该在哪个地址和端口上监听请求。默认的Odoo XML-RPC端口是8069。
pidfile = ‘.gunicorn.pid’:这是存储主进程ID的文件的路径,Gunicorn是一个Python WSGI HTTP服务器。
workers = 2:这行代码设置了工作进程的数量,这应根据服务器的CPU核心数量和负载来设置。
timeout = 240:这行代码设置了工作进程的超时时间,超过这个时间的进程将被杀死并重新启动。
max_requests = 2000:这是在工作进程被重启前可以处理的最大请求数。
这个文件应该在服务器上使用特定的命令(例如:Gunicorn)来运行,以启动一个Odoo服务。