Odoo16需要Python3.8支持,否則有些功能可能有所限制
第一步:安裝Python和依賴包
sudo apt-get update
sudo apt-get install openssh-server fail2ban
sudo apt-get install -y python3-pipsudo
apt
install
git python3-pip build-essential wget python3-dev python3-venv \
python3-wheel libfreetype6-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev \
python3-setuptools node-
less
libjpeg-dev zlib1g-dev libpq-dev \
libxslt1-dev libldap2-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev \
liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev
Python 依賴安裝好之后,還需要安裝一些前端所需的依賴包:
sudo apt-get install -y npm sudo ln -s /usr/bin/nodejs /usr/bin/node sudo npm install -g less less-plugin-clean-css sudo apt-get install -y node-less
通過網上搜到的往往有兩個坑:
- Package ‘libmysqlclient-dev’ has no installation candidate 使用default-libmysqlclient-dev來代替
- libjpeg8-dev和libjpeg-dev沖突,導致無法安裝,選一個就好,ITGeeker技術奇客用的libjpeg8-dev包
第二步:安裝 PostgreSQL 數據庫
PostgreSQL用12或者13版本都沒問題,有些自帶11的問題也不大
sudo apt-get install postgresql #安裝數據庫
創建數據庫用戶
sudo su - postgres -c "createuser -s odoo"
psql
\q
exit
此步可以跳過。讓odoo成為Postgresql的超級用戶,否則啟動的時候會有個錯誤提示,不知道是不是新版本的bug
sudo -u postgres psql
ALTER USER odoo WITH SUPERUSER;
第三步:給系統添加一個odoo的用戶用於運行
sudo useradd -r -m -U -d /opt/odoo -s /bin/bash odoo
###sudo adduser --system --home=/opt/odoo --group odoo
為創建的用戶帳戶設置密碼
#sudo passwd odoo
Changing password for user odoo. New password:輸入自己設置的密碼 Retype new password:再次輸入自己設置的密碼 passwd: all authentication tokens updated successfully.
第四步:獲取odoo的源代碼
代碼可以根據自己的渠道獲取
第五步:安裝Python的工具包
此處建議使用python venv環境來運行,這樣你的系統如果要使用其它python包的時候不會有沖突,可保持系統穩定運行。
sudo su - odoo
cd /opt/odoo
python3 -m venv odoo-venv
source odoo-venv/bin/activate
python -m pip install --upgrade pip
先把pip3切換到阿里源:
-
mkdir ~/.pip
vi ~/.pip/pip.conf
# 然后將下面這兩行復制進去就好了
[global]
index-url = https://mirrors.aliyun.com/pypi/simple
pip install wheel pip install --upgrade pip pip install setuptools --upgrade
pip3 install -r /opt/odoo/requirements.txt
成功安裝后,停用虛擬環境,
$deactivate $exit
創建Odoo日志文件:
sudo touch /var/log/odoo/odoo.log
設置正確的目錄權限:
sudo chown -R odoo:odoo /opt/odoo/ /var/log/odoo/odoo.log
如果安裝速度太慢,那就采用鏡像加速的方式來安裝吧:
第六步:安裝Wkhtmltopdf
Odoo打印PDF報告都要用到這個模塊,如果直接安裝版本太低,就下載到本地安裝。
cd /tmp && sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb sudo apt install -f #直接安裝 sudo apt install wkhtmltopdf
第七步:創建conf文件
sudo cp /opt/odoo/odoo_source/debian/odoo.conf /etc/odoo.conf
sudo nano /etc/odoo.conf
添加配置內容
[options] ; This is the password that allows database operations: admin_passwd = admin db_host = False db_port = False db_user = odoo db_password = False addons_path = /opt/odoo/odoo/addons logfile = /var/log/odoo/odoo.log
更改權限
sudo chown odoo: /etc/odoo.conf
sudo chmod 640 /etc/odoo.conf
第八步:odoo服務文件
sudo nano /etc/systemd/system/odoo.service
添加內容
[Unit] Description=odoo Documentation=https://www.geekercloud.com [Service] # Ubuntu/Debian convention: Type=simple User=odoo #ExecStart=/opt/odoo/odoo_source/odoo-bin -c /etc/odoo.conf ExecStart=/opt/odoo/odoo_venv/bin/python3 /opt/odoo/odoo_source/odoo-bin -c /etc/odoo.conf [Install] WantedBy=default.target
調整權限
sudo chmod 755 /etc/systemd/system/odoo.service && sudo chown root: /etc/systemd/system/odoo.service
第十步:查看日志Log
sudo tail -f /var/log/odoo/odoo.log
----------
重新加載系統服務:
sudo systemctl daemon-reload
啟動創建的odoo服務。
sudo systemctl start odoo sudo systemctl restart odoo
使它在啟動時啟動。
$ sudo systemctl enable odoo Created symlink /etc/systemd/system/multi-user.target.wants/odoo.service → /etc/systemd/system/odoo.service.
確認Odoo服務是否設置為在啟動時啟動。
$ systemctl is-enabled odoo enabled
檢查是否正在運行。
$ systemctl status odoo