1、升级系统

sudo apt-get update

2、更新系统

sudo apt-get upgrade

3、查看系统Python3版本

python3 -V

4、更新Python3.8到3.10

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update

安装Python 3.10

sudo apt-get install python3.10 -y

安装完成后,检查新版本

python3.10 --version

设置默认版本为 Python3.10

查看系统已存在的所有python版本

ls -l /usr/bin/python*

挂载多版本

update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2

设定默认版本

update-alternatives --config python3

选择默认版本,提示信息中回车即可.

修复 pip

apt install python3.10-distutils -y
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py

权限问题

python3 get-pip.py --user

检查配置文件

sudo vi /usr/local/bin/pip3

第一行是 #!/usr/bin/python3 即可.

5、安装Postgres

安装最新的Postgres

创建库

sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

导入密钥

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

更新系统源

sudo apt-get update

安装Postgres

sudo apt-get -y install postgresql

启动命令

systemctl start | stop | restart | status postgresql

进入数据库

sudo -u postgres psql

查看Postgres版本

pg_config --version

修改数据库密码

ALTER USER postgres WITH PASSWORD '要设定的密码';

创建数据库

CREATE USER odoo WITH PASSWORD '要设定的密码';

授予数据库访问权限

ALTER USER odoo CREATEDB;

推出数据库链接

\q

开启远程访问(以下使用的是我的本地版本16,改成你自己安装的版本号即可)

vim /etc/postgresql/16/main/pg_hba.conf

修改监听以及默认端口号

vim /etc/postgresql/16/main/postgresql.conf

修改完成后重启

6、卸载postgres

完全卸载PG数据库

sudo systemctl stop postgresql           ### 关闭数据库服务
sudo systemctl status postgresql ### 确认数据库服务处于关闭状态
sudo apt-get purge 'postgresql-*' ### 卸载数据库
sudo apt-get autoremove 'postgresql-*' ### 卸载数据库依赖包
sudo rm -r /etc/postgresql/ ### 删除配置文件
sudo rm -r /etc/postgresql-common/ ### 删除配置文件
sudo rm -r /var/lib/postgresql/ ### 删除数据目录
sudo userdel -r postgres ### 删除用户
sudo groupdel postgres ### 删除用户组

7、拉取Odoo最新代码

git clone https://github.com/odoo/odoo.git

安装依赖(如何requirements文件没有权限需要先赋权) 下面使用清华源安装

pip install -r requirements.txt -i https://pypi.douban.com/simple

执行上面的后可能存在后续启动时提示还是少包的问题安装即可

sudo pip install libsass PyPDF2 psycopg2-binary werkzeug passlib Pillow reportlab babel pytz
decorator python-dateutil polib docutils rjsmin MarkupSafe psutil -i https://pypi.douban.com/simple

安装openssl

sudo pip install num2words ofxparse dbfread ebaysdk firebase_admin pyOpenSSL -i https://pypi.tuna.tsinghua.edu.cn/simple

安装npm

sudo apt-get install nodejs npm -y
sudo npm install -g rtlcss

安装web依赖包

sudo npm install -g less
sudo npm install -g less-plugin-clean-css

自行修改Odoo的配置文件下的相关配置 - odoo.conf

临时启动命令

/home/tools/odoo/odoo-bin -c /home/tools/odoo/debian/odoo.conf

启动后可以看到后台log

8、安装Nginx

更新系统

更新系统

sudo apt update

安装Nginx

sudo apt install nginx -y

配置防火墙(443/80)

sudo ufw allow 80
sudo ufw allow 443

验证防火墙是否已经放开

sudo ufw status

nginx启动命令

systemctl restart nginx     # 启动nginx
systemctl status nginx # 查看nginx状态

配置目录

  • 所有的 Nginx 配置文件都在/etc/nginx/目录下。
  • 主要的 Nginx 配置文件是/etc/nginx/nginx.conf。
  • 为每个域名创建一个独立的配置文件,便于维护服务器。你可以按照需要定义任意多的 block 文件。
  • Nginx 服务器配置文件被储存在/etc/nginx/sites-available目录下。在/etc/nginx/sites-enabled目录下的配置文件都将被 Nginx 使用。
  • 最佳推荐是使用标准的命名方式。例如,如果你的域名是mydomain.com,那么配置文件应该被命名为/etc/nginx/sites-available/mydomain.com.conf
  • 如果你在域名服务器配置块中有可重用的配置段,把这些配置段摘出来,做成一小段可重用的配置。
  • Nginx 日志文件(access.log 和 error.log)定位在/var/log/nginx/目录下。推荐为每个服务器配置块,配置一个不同的access和error。
  • 你可以将你的网站根目录设置在任何你想要的地方。最常用的网站根目录位置包括:
    • /home/<user_name>/<site_name>
    • /var/www/<site_name>
    • /var/www/html/<site_name>
    • /opt/<site_name>

注意:80/443端口需要进行备案后方可代理

Ubuntu 20.04 安装Odoo17的更多相关文章

  1. Ubuntu 20.04安装Docker

    Docker学习系列文章 入门必备:十本你不容错过的Docker入门到精通书籍推荐 day1.全面的Docker快速入门教程 day2.CentOS 8.4安装Docker day3.Windows1 ...

  2. 【超详细】Ubuntu 20.04 安装 Apache+PHP网页环境 图文教程,常见问题和解决方案

    本文将介绍在Ubuntu20.04 LTS环境下安装Apache的全过程,针对其中可能出现的一些坑也会提供解决方案. 作者:Eriktse 简介:19岁,211计算机在读,现役ACM银牌选手力争以通俗 ...

  3. ubuntu 20.04 安装 vim8.2

    由于ubuntu 20.04自带的vim版本比较老了,有些新装的插件适配不上,所以需要安装最新版本的vim.在网上找了很久也没有比较官方的安装教程所以记录一下. 安装依赖库 sudo apt inst ...

  4. 实战记录在 Linux Ubuntu 20.04 安装VNC 远程桌面

    Virtual Network Computing (VNC),是一个图形桌面共享系统,允许我们像使用Windows桌面系统一样可视化的使用键盘和鼠标远程控制服务器,当做一台远程的电脑一样. 主要用在 ...

  5. ubuntu 20.04 安装 ros1 和ros2

    ubuntu  选择Hong Kong 源 1. ROS1安装 添加 sources.list(设置你的电脑可以从 packages.ros.org 接收软件.) sudo sh -c '. /etc ...

  6. Ubuntu 20.04 安装和编译poco 1.10.1

    1.首先安装其openssl其它依赖库,打开终端,使用root账户(sudo su),完成以下库的安装 //安装odbc相关库 apt-get install unixodbc apt-get ins ...

  7. Ubuntu 20.04 安装kodi播放器

    打开终端,执行命令在线安装 sudo apt-get install software-properties-common sudo add-apt-repository ppa:team-xbmc/ ...

  8. Ubuntu 20.04安装mysql后用mysql root无法登录

    刚安装mysql后,执行 mysql -u root -p 提示无法执行 解决方案: sudo mysql -u root -p 使用root权限不用密码就能进入mysql 然后 >ALTER ...

  9. Ubuntu 20.04下源码编译安装ROS 2 Foxy Fitzroy

    ROS 2 Foxy Fitzroy(以下简称Foxy)于2020年6月5日正式发布了,是LTS版本,支持到2023年5月.本文主要根据官方的编译安装教程[1]完成,并记录编译过程中遇到的问题. 1. ...

  10. Ubuntu 20.04.1 安装软件和系统配置脚本

    #!/bin/bash # https://launchpad.net/ubuntu # https://www.easyicon.net # https://download-chromium.ap ...

随机推荐

  1. 使用KRPano资源分析工具强力加密JS文件

    本文地址:http://www.cnblogs.com/reachteam/p/6294767.html 软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278 ...

  2. dp_ppi转光纤模块连接200PLC组态王通信案例

    DP_PPI转光纤模块连接200PLC组态王光纤通信在冷却塔控制系统案例 现场背景介绍: 西门子200 CPU226PLC通过兴达易控dp转光纤模块在200PLC系统中ppi转光纤实现PCL与组态王2 ...

  3. 2023-09-23:用go语言,假设每一次获得随机数的时候,这个数字大于100的概率是P。 尝试N次,其中大于100的次数在A次~B次之间的概率是多少? 0 < P < 1, P是double类型,

    2023-09-23:用go语言,假设每一次获得随机数的时候,这个数字大于100的概率是P. 尝试N次,其中大于100的次数在A次~B次之间的概率是多少? 0 < P < 1, P是dou ...

  4. Quantitative Relationship Induction

    数量关系是指事物之间的数值或数量之间的相互关系(+.-.*./). 数量关系描述各种量的变化和相互关系.数量关系可以包括数值的比较.增减.比例.百分比.平均值等方面. 在数学中,数量关系可以通过代数方 ...

  5. CF1336A

    题目简化和分析: 明确一点这是一棵树. 为了保证每个工业城市的设置效益最大,应该设在最深的节点. 从深到浅,可以使用优先队列去实现. 设置一个的价值为 \(dep_u-siz_u-1\). 关于作者一 ...

  6. salesforce零基础学习(一百三十三)ListView的button思考

    本篇参考: salesforce零基础学习(九十五)lightning out salesforce零基础学习(一百一十)list button实现的一些有趣事情 https://help.sales ...

  7. [ABC308G] Minimum Xor Pair Query 题解

    Minimum Xor Pair Query 题目大意 维护一个序列,支持动态插入,删除,查询最小异或对. 思路分析 看到查询最小异或对首先想到 01Trie,但 01Trie 不支持删除,考虑暴力套 ...

  8. Android-Java-反序列化JSON

    import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; String jsonStr= WebAPIOperato ...

  9. Linux 中如何修改终端提示符颜色?

    哈喽大家好,我是咸鱼 我们知道默认情况下,Linux 终端提示符都是简单的黑白色 这种黑白提示一方面看久了容易视觉疲劳,另一方面由于没有高亮显示,看着很不方便,视觉体验极差 所以我们需要修改我们的终端 ...

  10. Altium Designer中'=SheetNumber'和'=SheetTotal'参数无效的解决方法

    出现的问题 图纸没有被自动编号 在Altium中该显示区域被称为Title Block.[这里使用了图纸模板]. 当使用层次化的设计方式时,往往一个工程中若干幅原理图.这时我们需要为原理图进行编号. ...