Loading... # Ubuntu 22.04 用Docker容器安装ODOO17 > 自己从模板机克隆一台机出来,修改ip地址远程连接上,以odoo98为例子 > > 搭建结构: ![][1] ## 一、安装Docker 注:现在所有操作都在`Ubuntu`执行 注:所谓容器就是在Ubuntu新建一个干净的环境去部署东西 ### 1.1、安装基础环境 整合命令: ```css apt install vim-gtk podman-docker -y ``` ps:`vim-gtk是带图形界面的,vim不带纯文本模式` ### 1.2、拉取 Ubuntu 镜像 ```css docker pull ubuntu ``` ### 1.3、创建主机和容器共享目录 ```css # 创建 mkdir -p /Users/fish/develop # 授权读写 chmod -R 777 /Users/fish/develop ``` ### 1.4、创建容器 ```css docker run -it -p 18880:8880 -p 18888:8888 \ -v /Users/fish/develop:/home/develop \ --name odoo ubuntu ``` - `-p` 参数用于映射端口,将容器内的端口 8888 映射到主机的端口 18888,并在浏览器中访问时使用 `http://localhost:18888`。 - `-v` 参数用于挂载主机文件夹到容器内,实现文件共享。 此时你会发现,主机名字改变了: ![][2] 输入`exit`退出容器: ![][3] ### 1.5、Docker容器启停 启动名为 "odoo" 的容器 ```css docker start odoo ``` 进入容器内部的 bash shell ```css docker exec -it odoo bash ``` ## 二、使用容器搭建odoo > 如果下载慢,可以参考Ubuntu更新软件源(阿里、华为、清华源)笔记 > > 把源全部加进去就快了 <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="https://a-hxin.cn/archives/827/" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(https://a-hxin.cn/usr/uploads/2024/04/1821782203.png);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">Ubuntu 更新软件源(阿里、华为、清华源)</p> <div class="inster-summary text-muted"> Ubuntu 更新软件源(阿里、华为、清华源)一、备份源 and 恢复源注:**.bak 做的备份源文件不要删了1... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> ### 2.1、进入容器 ```css docker exec -it odoo bash ``` ### 2.2、容器内安装必要环境 `update`更新更新本地软件包的源 and `upgrade`根据源更新包 ```css apt update -y && apt upgrade -y ``` 安装一些环境软件: ```css apt install mc tzdata vim -y ``` 选择06,亚洲 ![][4] 选择70,上海 ![][5] 这里如果更改时区:【默认不改直接下一步】 ```css dpkg-reconfigure tzdata ``` 刷新环境变量: ```css source /etc/profile ``` ### 2.3、安装依赖和配置 PostgreSQL 安装依赖:【一条也别漏】 ```css apt -y install postgresql python3 python3-pip git wkhtmltopdf python3-lxml python3-ldap python3-pillow python3-psycopg2 python3-gevent ``` PS:`看不懂看看就行,` ```css 如果不在这里安装 python(bold部分)需要的元件, postgresql python3 python3-pip git python3-lxml python3-ldap python3-pillow python3-psycopg2 python3-gevent 后面pip也装不起来这些模块,或是很难装 网上一大堆在解释怎么从 pip 安装,都是因為不了解ubuntu, 都是错的,。 debian系列這幾個都需使用 apt安裝。 ``` ### 2.4、在系统环境变量添加UTF-8 编辑: ```css vim /etc/profile export LANG=C.UTF-8 # 在最后一行添加,最后一行快捷键:G ,O编辑下一行 ``` 更新: ```css source /etc/profile ``` ### 2.5、增加User ODOO及ODOO系統 ```css mkdir /home/odoo && useradd -d /home/odoo -s /bin/bash odoo chown -R odoo.odoo /home/odoo ``` > 创建名为odoo的用户,并为其创建一个家目录。 > > 然后,将家目录的所有权分配给odoo用户 ### 2.6、切换到 PostgreSQL 用户并创建用户 1、切换到 PostgreSQL: ```css su postgres ``` 2、启动 PostgreSQL 服务器: ```css service postgresql start # 启动服务 service postgresql status # 检查状态 systemctl enable postgresql # 开机自启动 ``` 3、进入 PostgreSQL 数据库管理工具: ```css psql ``` 启动后的样子 ```css postgres@88369f01b6a4:/$ service postgresql start * Starting PostgreSQL 14 database server postgres@88369f01b6a4:/$ psql ## 主要看这里下面的 psql (14.11 (Ubuntu 14.11-0ubuntu0.22.04.1)) Type "help" for help. postgres=# // 后面的命令在这里操作 ``` 4、在数据库中创建odoo用户: ```css create user odoo superuser; ``` 5、使用`\q` 退出 PostgreSQL ```css Type "help" for help. postgres=# \q ## 退出命令 postgres@88369f01b6a4:/$ ## 可以看到有变化 ``` ### 2.7、修改数据库的访问权限 修改 PostgreSQL 对数据库的访问权限,`这里的14是版本号,检查自己的版本` ```css vim /etc/postgresql/14/main/pg_hba.conf ``` 在大约90行添加`odoo`用户,将odoo用户改为免密登入,方便以后的操作 ![][6] ## 三、下载 ODOO `先在容器切换root用户!!!,先在容器先切换root用户!!!,先在容器先切换root用户!!!` `很重要,很重要,很重要,很重要` > 在容器内切换root用户下载ODOO ### 3.1、在Docker容器中切换root用户 `注意这里 直接切换肯定不行的,因为刚才在x用户` ```css postgres@88369f01b6a4:/$ exit # 先退出postgres用户 exit root@88369f01b6a4:/# ``` ### 3.2、下载/上传ODOO源码文件 `以下两种方法二选一` <div class="tip inlineBlock info"> #### 3.2.1、ODOO17直接安装 </div> 把源码从`github`上下载到`opt`目录上 ```css cd /opt git clone https://github.com/odoo/odoo.git -b 17.0 --depth=1 ``` <div class="tip inlineBlock info"> 3.2.2、指定版本|宿主机上传源码到容器 </div> 具体版本可以自行去Git下载:https://github.com/odoo/odoo ![][7] `从宿主机上传ODOO16源码到Docker容器` `执行过程:先从win主机 ==> Ubuntu ==> Docker容器` > 下载: > 官方地址:https://github.com/odoo/odoo > 123网盘:https://www.123pan.com/s/lfKDVv-ySQNH.html提取码:1122 ##### 上传Ubuntu: 可以使用`Xftp`上传到Ubuntu `opt` 目录 ![][8] 上传容器: 先查看容器ID: ``` docker exec -it odoo bash # 重新进入容器,主机名就是容器ID 得到的id: 9d1b6052e67e ``` ![][9] 在Ubuntu终端执行: ``` docker cp Ubuntu软件位置 Docker容器ID:上传目录 docker cp /opt/odoo16.zip 9d1b6052e67e:/opt/ ``` ### 3.3、修改文件 ```css cd /opt/odoo/ # 切换 vim requirements.txt # 修改 ``` 将以下文件注释掉: ```css 1. python3-lxml 2. python3-ldap 3. python3-pillow 4. python3-psycopg2 5. python3-gevent ``` 注释完保存退出 ![][10] ### 3.4、pip 安装ODOO必要组件 ```css cd /opt/odoo/ pip install -r requirements.txt ``` ![][11] ![][12] ### 3.5、将 `~/.local/bin` 目录添加到当前用户的 PATH 环境变量中 ```css # 要从root用户切换进来 su odoo vim ~/.profile ``` 添加: ```css export PATH=~/.local/bin:$PATH ``` ### 3.6、配置odoo.conf文件 ```css # 切换回容器的root # 如果已经在odoo用户,用户exit退回到root cd /opt/odoo vim odoo.conf ``` 添加: ```css [options] db_host = False db_port = False db_user = odoo db_password = False addons_path = /opt/odoo/addons,/opt/odoo/odoo/addons,/home/develop http_port=8888 ``` ### 3.7、启动odoo ```css # 从容器的root用户 切换回odoo用户 su odoo $ cd /opt/odoo $ ./odoo-bin -c odoo.conf ``` ## 四、配置Host ### 4.1、Ubuntu配置 ```css vim /etc/hosts 192.168.10.98 odoo98 ``` ![][13] ### 4.2、windows配置host 把这个文件拖到桌面 ```css C:\Windows\System32\drivers\etc ``` 添加如下再拖回去: ```css 192.168.10.98 odoo98 ``` ## 五、网页操作 ```css http://odoo98:18888/ 或 192.168.10.98:18888 ``` 注册:记得截图后面找不回来的。 ![][14] 使用刚才注册的邮箱登录 ![][15] 成功进入主页 [1]: https://a-hxin.cn/usr/uploads/2024/04/3956638352.png [2]: https://a-hxin.cn/usr/uploads/2024/04/3072962193.png [3]: https://a-hxin.cn/usr/uploads/2024/04/1409624969.png [4]: https://a-hxin.cn/usr/uploads/2024/04/881570498.png [5]: https://a-hxin.cn/usr/uploads/2024/04/1411967580.png [6]: https://a-hxin.cn/usr/uploads/2024/04/3194563986.png [7]: https://a-hxin.cn/usr/uploads/2024/04/2176112965.png [8]: https://a-hxin.cn/usr/uploads/2024/04/1518748979.png [9]: https://a-hxin.cn/usr/uploads/2024/04/1545318394.png [10]: https://a-hxin.cn/usr/uploads/2024/04/2392600529.png [11]: https://a-hxin.cn/usr/uploads/2024/04/3795638127.png [12]: https://a-hxin.cn/usr/uploads/2024/04/1898668122.png [13]: https://a-hxin.cn/usr/uploads/2024/04/177384970.png [14]: https://a-hxin.cn/usr/uploads/2024/04/775549895.png [15]: https://a-hxin.cn/usr/uploads/2024/04/395715597.png 最后修改:2024 年 04 月 10 日 © 允许规范转载 打赏 赞赏作者 赞 1 咱们谁跟谁,用不着~