Ubuntu 20.04 安装Odoo17
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的更多相关文章
- Ubuntu 20.04安装Docker
Docker学习系列文章 入门必备:十本你不容错过的Docker入门到精通书籍推荐 day1.全面的Docker快速入门教程 day2.CentOS 8.4安装Docker day3.Windows1 ...
- 【超详细】Ubuntu 20.04 安装 Apache+PHP网页环境 图文教程,常见问题和解决方案
本文将介绍在Ubuntu20.04 LTS环境下安装Apache的全过程,针对其中可能出现的一些坑也会提供解决方案. 作者:Eriktse 简介:19岁,211计算机在读,现役ACM银牌选手力争以通俗 ...
- ubuntu 20.04 安装 vim8.2
由于ubuntu 20.04自带的vim版本比较老了,有些新装的插件适配不上,所以需要安装最新版本的vim.在网上找了很久也没有比较官方的安装教程所以记录一下. 安装依赖库 sudo apt inst ...
- 实战记录在 Linux Ubuntu 20.04 安装VNC 远程桌面
Virtual Network Computing (VNC),是一个图形桌面共享系统,允许我们像使用Windows桌面系统一样可视化的使用键盘和鼠标远程控制服务器,当做一台远程的电脑一样. 主要用在 ...
- ubuntu 20.04 安装 ros1 和ros2
ubuntu 选择Hong Kong 源 1. ROS1安装 添加 sources.list(设置你的电脑可以从 packages.ros.org 接收软件.) sudo sh -c '. /etc ...
- Ubuntu 20.04 安装和编译poco 1.10.1
1.首先安装其openssl其它依赖库,打开终端,使用root账户(sudo su),完成以下库的安装 //安装odbc相关库 apt-get install unixodbc apt-get ins ...
- Ubuntu 20.04 安装kodi播放器
打开终端,执行命令在线安装 sudo apt-get install software-properties-common sudo add-apt-repository ppa:team-xbmc/ ...
- Ubuntu 20.04安装mysql后用mysql root无法登录
刚安装mysql后,执行 mysql -u root -p 提示无法执行 解决方案: sudo mysql -u root -p 使用root权限不用密码就能进入mysql 然后 >ALTER ...
- Ubuntu 20.04下源码编译安装ROS 2 Foxy Fitzroy
ROS 2 Foxy Fitzroy(以下简称Foxy)于2020年6月5日正式发布了,是LTS版本,支持到2023年5月.本文主要根据官方的编译安装教程[1]完成,并记录编译过程中遇到的问题. 1. ...
- Ubuntu 20.04.1 安装软件和系统配置脚本
#!/bin/bash # https://launchpad.net/ubuntu # https://www.easyicon.net # https://download-chromium.ap ...
随机推荐
- sqlite/mysql 省市县三级联动
这个是sqlite的, 改下表结构, 就可以给mysql用了 CREATE TABLE ProvinceCityZone ( _id INTEGER PRIMARY KEY AUTOINCREMENT ...
- 如何解决IOS 15提示“此App的开发者需要更新APP以在此IOS版本上正常工作”, 无法打开安装的APP的问题
在苹果手机最新的IOS 15 beta的系统上安装自签名或者企业签名的APP时,可能会遇到如下的错误提示: 此App的开发者需要更新APP以在此IOS版本上正常工作 The developer of ...
- 使用HTML一键打包APK工具打包KRPANO全景项目
"HMTL一键打包APK工具"可以把本地HTML项目或者网站打包为一个安卓应用APK文件,无需编写任何代码,支持在安卓设备上安装运行. 打包工具群:429338543 下载地址: ...
- Record - Stirling Number / FK. & SK.
Part. 1 Stirling Number / FK. Def. 定义 \(\begin{bmatrix}n \\ m\end{bmatrix}\) 表示将 \(n\) 个元素分成 \(m\) 个 ...
- c++ 常用的 STL
c++ 中常用的 STL vector //vector 变长数组 倍增的思想(倍增:系统为每一个程序分配空间的时候,所需要的时间和空间大小无关,与请求次数相关)尽量减少请求的次数 /* 返回元素的个 ...
- 甲骨文宣布: 也做 PostgreSQL!
PostgreSQL 在开源数据库世界中一直是一个标志性的存在.经过35年的严格开发,它以其可靠性.强大的功能和性能而自豪.DB-engines 的突出显示,其市场份额的增长证明了其适应性强的数据模型 ...
- hash code
值相同却可能有不同的hashcode //对象值到底指什么?(x.equals(y) == true)应该并不代表对象值相同 class A { A(){} public boolean equals ...
- k8s集群证书过期,重新生成证书
Kubernetes集群证书过期后,使用kubeadm重新颁发证书 默认情况下部署kubernetes集群的证书一年内便过期,如果不及时升级证书导致证书过期,Kubernetes控制节点便会不可用,所 ...
- String类的valueOf以及动态绑定(多态)
1.String类的valueOf Class String public static String valueOf(Object obj) Returns the string represent ...
- Codeforces Round #706 (Div. 2) A-D题解
写在前边 链接:Codeforces Round #706 (Div. 2) \(A,B,C,D\),这场有点简单,不过由于A写炸了后边题连看都没看就溜了,就从上大分变成了掉大分 A. Split i ...