Ubuntu 安装 odoo 16
<h2 id="一准备-ubuntu-操作系统">一、准备 Ubuntu 操作系统</h2><h4 id="安装-ubuntu-2004">安装 Ubuntu 20.04</h4>
<ul>
<li>4GB内存</li>
<li>硬盘300GB</li>
<li>IP:10.0.0.81</li>
</ul>
<ol>
<li>
<p>加载光盘映像文件后启动虚拟机</p>
</li>
<li>
<p>语言和键盘保持默认的 U.S. English</p>
</li>
<li>
<p>设置IP地址:手动 10.0.0.81</p>
</li>
<li>
<p>设置镜像库:http://mirrors.aliyun.com/ubuntu</p>
</li>
<li>
<p>等待系统安装完成后,退出光盘映像文件,然后重启系统</p>
</li>
<li>
<p>使用 Xshell 连接虚拟机,设置 root 密码:<code>sudo passwd root</code></p>
</li>
<li>
<p>切换到 root 账号:<code>su root</code>,安装网络工具:<code>apt install net-tools</code></p>
</li>
<li>
<p>修改系统时间,使用 timedatectl 命令更改时区为上海:<code>timedatectl set-timezone Asia/Shanghai</code>,然后检查时间是否正确:<code>date -R</code></p>
</li>
<li>
<p>安装系统更新:<code>apt upgrade</code></p>
</li>
<li>
<p>关闭操作系统:<code>poweroff</code>,新建一个虚拟机快照</p>
</li>
</ol>
<h2 id="修改ip地址进入网络配置文件目录-etcnetplan修改目录下yaml配置文件">修改IP地址:<br>
进入网络配置文件目录 /etc/netplan/<br>
修改目录下yaml配置文件</h2>
<h2 id="二安装-odoo-16">二、安装 odoo 16</h2>
<h3 id="21-安装postgresql">2.1 安装PostgreSQL</h3>
<pre><code>apt install postgresql
netstat -ntlp (检测是否启动,端口5432)
</code></pre>
<h3 id="22-安装-odoo-16">2.2 安装 odoo 16</h3>
<ul>
<li>下载odoo 16</li>
</ul>
<pre><code>mkdir /opt/odoo
cd /opt/odoo
wget https://nightly.odoo.com/16.0/nightly/deb/odoo_16.0.latest_all.deb
</code></pre>
<ul>
<li>安装odoo包</li>
</ul>
<pre><code>dpkg -i odoo_16.0.latest_all.deb
如果提示报错,提示缺少依赖,继续安装依赖即可
apt -f install
netstat -anpt (检测是否启动,端口8069)
</code></pre>
<pre><code>重启odoo的命令
service odoo restart
重启Posgresql数据库服务
service postgresql restart
</code></pre>
<h3 id="23-访问odoo并建立数据库">2.3 访问odoo并建立数据库</h3>
<p>访问http://10.0.0.81:8069</p>
<p>点击 create database创建数据库</p>
<pre><code>Master Password:数据库密码
Database Name:数据库名称
Email:管理员邮箱
Password:管理员密码
Demo data:建议在正式环境,不要导入demo数据
</code></pre>
<ul>
<li>odoo安装目录默认为: <code>cd /usr/lib/python3/dist-packages/odoo</code></li>
</ul>
<hr>
<h2 id="三模块的安装">三、模块的安装</h2>
<ul>
<li>
<p>进入开发者模式,在浏览器地址栏中的/web之后#之前添加?debug=1<br>
<code>http://10.0.0.81:8069/web?debug=1#</code></p>
</li>
<li>
<p>设置公司信息</p>
</li>
</ul>
<p>设置-->用户和公司-->公司</p>
<p>更改公司名称和LOGO,(更换LOGO后如果没有呈现,可以清一下浏览器缓存)</p>
<p><img src="https://img2023.cnblogs.com/blog/2977874/202303/2977874-20230331101216939-523910427.png"></p>
<h3 id="31-odoo自带模块的安装">3.1 odoo自带模块的安装</h3>
<blockquote>
<p>系统安装时默认保存在计算机上的,在需要时可以直接安装<br>
odoo所有自带模块都在odoo安装目录下的addons目录下: <code>/usr/lib/python3/dist-packages/odoo/addons</code></p>
</blockquote>
<ul>
<li>建议首先安装“开票account”模块,并安装一个会计科目表</li>
</ul>
<p>应用 --> 会计--> 开票account</p>
<p><img src="https://img2023.cnblogs.com/blog/2977874/202303/2977874-20230331103531508-700269346.png"></p>
<ul>
<li>安装后,系统会自动安装几个关联的模块</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/2977874/202303/2977874-20230331104837101-275571842.png"></p>
<h3 id="32-第三方模块的安装">3.2 第三方模块的安装</h3>
<ul>
<li>官网下载:https://apps.odoo.com/apps</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/2977874/202303/2977874-20230331105351253-229028040.png"></p>
<ul>
<li>搜索需要的版本</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/2977874/202303/2977874-20230331105436941-1755365997.png"></p>
<ul>
<li>
<p>创建一个存放第三方模块的文件夹 <code>mkdir /opt/odoo/myaddons</code></p>
</li>
<li>
<p>设置odoo.conf文件中的addons参数,使之包含此三方模块文件夹</p>
</li>
</ul>
<pre><code> vi /etc/odoo/odoo.conf
addons_path = /usr/lib/python3/dist-packages/odoo/addons,/opt/odoo/myaddons
重启odoo服务
service odoo restart
将下载的模块文件复制到此文件夹中
或者使用ubuntu下 rz 命令
apt-get install lrzsz
解压:unzip
</code></pre>
<h4 id="下载安装odoo钉钉登录模块-dingtalk">下载安装Odoo钉钉登录模块 dingtalk</h4>
<ul>
<li>下载后,使用 <code>rz</code> 命令上传到 /opt/odoo/myaddons 目录</li>
</ul>
<blockquote>
<p>如果ubuntu无法上传,或者出现乱码,可以先上传到一台CentOS,然后通过 <code>SCP</code> 命令拷贝到 Ubuntu<br>
scp root@10.0.0.82:/opt/dingtalk.zip /opt/odoo/myaddons/</p>
</blockquote>
<ul>
<li>在odoo系统后台,搜索dingtalk安装模块(需要更新应用列表)</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/2977874/202303/2977874-20230331115701027-561507056.png"></p>
<blockquote>
<p>根据提示,需要安装python依赖 <code>pip install pycryptodomex</code> (如果失败,多运行几次),然后重新在odoo后台激活模块<br>
配置参考:https://www.bilibili.com/read/cv16378052</p>
</blockquote>
<hr>
<h3 id="自定义应用">自定义应用</h3>
<h4 id="1新建自定义模型">1、新建自定义模型</h4>
<p>首先,在网址后面添加?debug=1进入开发者模式</p>
<p>设置-->技术-->数据库结构-->模型</p>
<p><img src="https://img2024.cnblogs.com/blog/2977874/202502/2977874-20250213170133847-802026059.png"></p>
<p>设置模型英文名和模型说明,点击保存</p>
<p><img src="https://img2024.cnblogs.com/blog/2977874/202502/2977874-20250213170520455-2136353631.png"></p>
<p>添加模型字段,字段下面,点击添加明细行</p>
<p><img src="https://img2024.cnblogs.com/blog/2977874/202502/2977874-20250213170817761-2499166.png"></p>
<p>填写字段名称,字段类型,字段标签</p>
<pre><code>字段类型说明:
如果需要引用其他模型的数据,可以使用many2one类型
</code></pre>
<p><img src="https://img2024.cnblogs.com/blog/2977874/202502/2977874-20250213171044091-1981444911.png"></p>
<p>设置访问权限,在字段后面的“访问权”页面,添加明细行,<br>
群组:用户类型/内部用户,至少可读的权限</p>
<p><img src="https://img2024.cnblogs.com/blog/2977874/202502/2977874-20250213171232686-2009771085.png"></p>
<p>为模型创建菜单(在这里新建菜单,会自动创建默认的动作和视图)</p>
<p><img src="https://img2024.cnblogs.com/blog/2977874/202502/2977874-20250213195758262-1480836582.png"></p>
<h4 id="2新建菜单">2、新建菜单</h4>
<p>设置-->技术-->用户界面-->菜单项目</p>
<p><img src="https://img2024.cnblogs.com/blog/2977874/202502/2977874-20250213164814305-451438815.png"></p>
<p>新建一级菜单,输入菜单名称,上级菜单为空</p>
<p>新建二级菜单,在子菜单中添加明细</p>
<p><img src="https://img2024.cnblogs.com/blog/2977874/202502/2977874-20250213165254848-449535665.png"></p>
<p>动作:选择ir.actions.act_windows,然后在右侧选择“搜索更多”,点击下面的“创建”按钮</p>
<p><img src="https://img2024.cnblogs.com/blog/2977874/202502/2977874-20250213171616098-133118873.png"></p>
<p>设置动作名称,对象,使用新建的模型</p>
<p><img src="https://img2024.cnblogs.com/blog/2977874/202502/2977874-20250213171745404-769360261.png"></p>
<h4 id="3新建视图">3、新建视图</h4>
<p>设置-->技术-->用户界面-->视图</p>
<p><img src="https://img2024.cnblogs.com/blog/2977874/202502/2977874-20250213192637543-1749785967.png"></p>
<p>设置视图名称、视图类型、视图模型<br>
并设置结构XML语句<br>
<list><br>
<field name="x_name"><br>
<field name="x_state"><br>
<field name="x_type"><br>
<field name="x_vlan"><br>
<field name="x_host"><br>
<field name="x_hosttype"><br>
</field></field></field></field></field></field></list></p><br><br>
来源:https://www.cnblogs.com/cn1151/p/17275181.html
頁:
[1]