更新时间:2022-12-27 15:51:33浏览次数:853+次
本文介绍在Ubuntu 22.04系统上安装和配置Odoo 15的详细步骤。
简介
Odoo是一个开源的基于web的业务应用程序套件,由单个控制台管理。Odoo上提供了一系列业务应用程序,包括开源CRM、网站生成器、电子商务、仓库管理、项目管理、计费和会计、销售点、人力资源、营销、制造、采购管理等。
Odoo业务应用程序可以作为独立应用程序安装和使用,但它们也可以无缝集成,因此在安装多个应用程序时,您可以获得功能齐全的开源ERP。
安装和配置Odoo 15的详细步骤
步骤1:更新Ubuntu 22.04系统
我们总是从系统更新和升级所有已安装的软件包开始安装:
sudo apt update
sudo apt upgrade -y
等待更新所有程序包,然后重新启动系统。当有内核更新时,这是必要的:
[ -f /var/run/reboot-required ] && sudo reboot -f
步骤2:安装PostgreSQL数据库服务器
Odoo需要存储数据的数据库服务器。我们将在Ubuntu 22.04上游存储库上安装PostgreSQL服务器的默认版本。
安装Ubuntu存储库中可用的默认版本。运行:
sudo apt install postgresql postgresql-client -y
安装后,将启动数据库服务:
$ systemctl status postgresql*
postgresql@12-main.service - PostgreSQL Cluster 12-main
Loaded: loaded (/lib/systemd/system/postgresql@.service; enabled-runtime; vendor preset: enabled)
Active: active (running)
步骤3:在Ubuntu 22.04上必需安装有wkhtmltopdf新版本
wkhtmltopdf是打印报表所必需的,因为它将html转换为pdf。Ubuntu存储库中可用的wkhtmltopdf版本不支持页眉和页脚,因此不用作直接依赖项。要安装新版本,请参考https://www.hmxthome.com/linux/4879.html一文里面的内容。
步骤4:在Ubuntu 22.04上安装Odoo 15
导入APT repo GPG密钥:
curl -fsSL https://nightly.odoo.com/odoo.key|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/odoo.gpg
添加Odoo deb存储库,以便您可以在Ubuntu Linux系统上安装Odoo 15:
echo "deb http://nightly.odoo.com/15.0/nightly/deb/ ./" | sudo tee /etc/apt/sources.list.d/odoo.list
更新并在Ubuntu系统上安装Odoo 15:
sudo apt update
sudo apt install odoo
同意开始安装,会输出如下信息:
The following NEW packages will be installed:
docutils-common fonts-font-awesome fonts-inconsolata fonts-roboto-unhinted graphviz libann0 libcairo2 libcdt5 libcgraph6 libdatrie1 libgd3 libgraphite2-3
libgts-0.7-5 libgvc6 libgvpr2 libharfbuzz0b libice6 libimagequant0 libjbig0 libjpeg8 libjs-jquery libjs-underscore liblab-gamut1 liblcms2-2 libpango-1.0-0
libpangocairo-1.0-0 libpangoft2-1.0-0 libpathplan4 libpixman-1-0 libsass1 libsm6 libthai-data libthai0 libtiff5 libwebp6 libwebpdemux2 libwebpmux3 libxaw7
libxcb-render0 libxcb-shm0 libxmu6 libxpm4 libxt6 odoo python-babel-localedata python3-aiohttp python3-appdirs python3-async-timeout python3-babel python3-bs4
python3-cached-property python3-dateutil python3-decorator python3-defusedxml python3-docutils python3-feedparser python3-freezegun python3-gevent
python3-greenlet python3-html2text python3-isodate python3-libsass python3-lxml python3-mako python3-mock python3-multidict python3-ofxparse python3-passlib
python3-pbr python3-pil python3-polib python3-psutil python3-psycopg2 python3-pydot python3-pyparsing python3-pypdf2 python3-qrcode python3-reportlab
python3-reportlab-accel python3-requests-toolbelt python3-roman python3-soupsieve python3-stdnum python3-suds python3-tz python3-usb python3-vobject
python3-werkzeug python3-xlrd python3-xlsxwriter python3-xlwt python3-yarl python3-zeep sgml-base xml-core
0 upgraded, 95 newly installed, 0 to remove and 0 not upgraded.
Need to get 87.3 MB of archives.
After this operation, 665 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
在Ubuntu 22.04上安装Odoo后,该服务将自动启动:
$ systemctl status odoo
odoo.service - Odoo Open Source ERP and CRM
Loaded: loaded (/lib/systemd/system/odoo.service; enabled; vendor preset: enabled)
Active: active (running)
将服务设置为在每次系统重新启动时启动:
$ sudo systemctl enable --now odoo
enabled
服务在端口8069上启动。这可以使用以下命令进行确认:
$ ss -tunelp | grep 8069
tcp LISTEN 0 128 0.0.0.0:8069 0.0.0.0:* uid:113 ino:1906251 sk:d <->
步骤5:为Odoo系统配置Nginx代理
在Ubuntu系统上安装Nginx web服务器:
sudo apt -y install vim nginx
Nginx代理配置有两种情况,使用HTTPS和流量未通过安全连接提供时。在本节中,我们将考虑这两种设置。
1、为Odoo设置Nginx HTTP代理
为odoo创建新的配置文件:
sudo vim /etc/nginx/conf.d/odoo.conf
修改此配置代码段以适合您的设置:
# Odoo Upstreams
upstream odooserver {
server 127.0.0.1:8069;
}
server {
listen 80;
server_name erp.computingforgeeks.com;
access_log /var/log/nginx/odoo_access.log;
error_log /var/log/nginx/odoo_error.log;
# Proxy settings
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
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;
# 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
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
在本例中,我的服务域是erp.computingorgeeks.com,请将其替换为与Odoo一起使用的正确域。外部访问也需要有效的DNS记录。
检查配置语法:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
如果设置正常,请重新启动nginx服务:
sudo systemctl restart nginx
重新启动时不会遇到任何错误:
$ systemctl status nginx
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running)
2、在Nginx上为Odoo使用Let's Encrypt SSL证书
始终建议对生产部署使用SSL加密。Let's Encrypt是一个免费的SSL产品,您可以在安装中使用。
安装certbot工具:
sudo apt-get update
sudo apt-get install certbot
获取让我们为您的域加密SSL证书:
#停止nginx服务
sudo systemctl stop nginx
#将域和电子邮件地址保存为变量
export DOMAIN="erp.computingforgeeks.com"
export EMAIL="myemail@computingforgeeks.com"
#请求Let's Encrypt SSL证书
sudo /usr/bin/certbot certonly --standalone -d ${DOMAIN} --preferred-challenges http --agree-tos -n -m ${EMAIL} --keep-until-expiring
如果执行成功,将打印出证书和链文件的路径,具体可以在输出的信息中看到详情。
创建cron以续订证书:
$ sudo crontab -e
15 3 * * * /usr/bin/certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"
创建Nginx配置文件:
sudo vim /etc/nginx/conf.d/odoo.conf
修改以下内容并添加到文件中:
# Odoo Upstreams
upstream odooserver {
server 127.0.0.1:8069;
}
# http to https redirection
server {
listen 80;
server_name erp.computingforgeeks.com;
return 301 https://erp.computingforgeeks.com$request_uri;
}
server {
listen 443 ssl;
server_name erp.computingforgeeks.com;
access_log /var/log/nginx/odoo_access.log;
error_log /var/log/nginx/odoo_error.log;
# SSL
ssl_certificate /etc/letsencrypt/live/erp.computingforgeeks.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/erp.computingforgeeks.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/erp.computingforgeeks.com/chain.pem;
# Proxy settings
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
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;
# 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 Compression
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
别忘了用域名替换erp.computingorgeeks.com。
重新启动Nginx:
sudo systemctl restart nginx
步骤6:访问Odoo Web界面
从Web浏览器访问域名上的Odoo网页:
输入创建数据库所需的详细信息。单击创建数据库后,您将被重定向到管理页面,从该页面可以安装Odoo业务应用程序:
如果您配置了https,则应通过安全隧道加载页面,即由原来的http改成https访问:
至此,在Ubuntu 22.04 Linux操作系统上安装和配置Odoo 15全部完成了。
相关资讯