-------------------通用命令
實時查看docker容器日誌
docker container {stop|start} nexus
docker container {stop|start} redis
docker ps -a:列出所有的容器
docker rm 容器名:移除容器
$ sudo docker logs -f -t --tail 100 redis 【redis容器名稱】
firewall-cmd --zone=public --add-port=8069/tcp --permanent 或者可以直接添加端口
firewall-cmd --reload 重載防火牆
注意 :如果你複製命令是否,命令報錯,可能是從網頁複製過去 格式有問題,我遇到一個坑“空格、- 都需要重新替換”
複製注意前後空格、複製注意前後空格、複製注意前後空格
複製注意前後空格、複製注意前後空格、複製注意前後空格
複製注意前後空格、複製注意前後空格、複製注意前後空格
說9遍
一、----------------------docker 安裝postgresql11
1,下載docker pull postgresql
2,所有postgresql配置文件和數據數據文件位於:掛在數據
/var/lib/postgresql/data
我們要重新指定容器外的路徑
mkdir -p /home/postgresql11/data
3,運行postgres
docker run --name postgres -e POSTGRES_PASSWORD=postgresql@wings@2018 -v /home/postgresql10/data:/var/lib/postgresql/data -p 5432:5432 -d postgres
4 連接數據庫
之前的準備工作都已完成,下一步就是從外部訪問數據庫了。
這一步就很常規了:
psql -U postgres -h 192.168.100.172 -p 54321
注意:
postgres鏡像默認的用戶名爲postgres,
登陸口令爲創建容器是指定的值。
5,登陸docker容器
docker exec -it postgres /bin/bash
6,創建數據庫和用戶
$ su - postgres
$ createuser -P -d -U postgres odoo; 密碼【輸入密碼】
$ psql
$ postgres=# create database odoo with owner=odoo encoding='UTF8';
$ postgres=# \q
7 退出容器
exit;
二、安裝版本:nodejs 10.13.0
安裝依賴
sudo yum install gcc gcc-c++
2,從源碼下載Nodejs
cd /usr/local/src
wget https://npm.taobao.org/mirrors/node/v10.13.0/node-v10.13.0.tar.gz
3解壓 nodejs 安裝包
tar xvf node-v10.13.0.tar.gz
4,進入解壓的 node 文件夾,開始編譯
cd node-v10.13.0/
./configure
make
5 安裝
sudo make install
6,驗證是否正確安裝
node -v
7 odoo 官網要求安裝 rtlcss
npm install -g rtlcss
注:是否要安裝其他的未知。
三 、安裝odoo
Odoo 12已正式發佈,在 Github 和Nigthly 均可下載源碼,此前在博客上發佈了Ubuntu 快速安裝配置Odoo 12,本文探討 CentOS 上安裝 Odoo 12的相關內容。
sudo yum -y update
sudo yum -y install epel-release
# 添加Software Collections (SCL) 安裝 Python
sudo yum -y install centos-release-scl
sudo yum -y install rh-python36
# 或直接執行(可能需要提前執行yum -y groupinstall "Development tools")
sudo yum -y install python36 python36-devel
# 又或者
curl -O https://www.python.org/ftp/python/3.6.7/Python-3.6.7rc2.tgz
tar xf Python-3.6.7rc2.tgz
cd Python-3.6.7rc2
./configure
make
sudo make install
# 安裝其它所需依賴
sudo yum -y install git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel
添加新用戶(可選)
sudo useradd -m -U -r -d /opt/odoo -s /bin/bash odoo
或者 創建好用戶 添加
chmod -R 777 /opt/odoo/
注意:Odoo 12要求安裝 PostgreSQL 10否則會出現報錯:
Database creation error: relation "ir_model" does not exist LINE 1: SELECT * FROM ir_model WHERE state='manual'
安裝Wkhtmltopdf
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
sudo yum localinstall wkhtmltox-0.12.5-1.centos7.x86_64.rpm
# 中文字體
yum install -y wqy*
安裝Sass
yum install -y sassc
安裝 Odoo
用戶準備
不設置執行後述操作時會報出xxx is not in the sudoers file. This incident will be reported.
su - root
visudo
# 在root ALL=(ALL) ALL下添加相應用戶
odoo ALL=(ALL) ALL
安裝及配置
需要安裝python3 隔離環境
mkdir /opt/virtualenvs
chmod -R 777 /opt/virtualenvs
查找 find / -name virtualenvwrapper.sh
我的路徑是:/usr/local/bin/virtualenvwrapper.sh
# 切換用戶
sudo su - odoo
cd /opt/odoo
wget http://nightly.odoo.com/12.0/nightly/src/odoo_12.0.latest.tar.gz
# 或git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo/odoo12
unzip odoo-12.0.zip 或者 tar -zxvf odoo_12.0.latest.tar.gz
mv odoo-12.0 odoo12
# 當前使用 nightly 版本有一個坑,需要自行添加 odoo-bin 文件【在github下載不存在此坑】
sudo vi odoo12/odoo-bin
#!/usr/bin/env python3
# set server timezone in UTC before time module imported
__import__('os').environ['TZ'] = 'UTC'
import odoo
if __name__ == "__main__":
odoo.cli.main()
#添加執行權限【root執行】
chmod +x /opt/odoo/odoo12/odoo-bin
#環境搭建
python36 -m venv odoo12-venv
source odoo12-venv/bin/activate【激活虛擬環境】【deactivate # 退出當前的虛擬環境】
# 或者 Virtualenvwrapper(使用這種方法/etc/systemd/system/odoo12.service也需調整)
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python36 get-pip.py
pip3 install virtualenvwrapper
# vi ~/.bashrc
export WORKON_HOME=/opt/virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python36
source /usr/local/bin/virtualenvwrapper.sh
#重載.bashrc
source ~/.bashrc
# 安裝依賴包
cd /opt/odoo
pip3 install -i https://pypi.douban.com/simple -r odoo12/requirements.txt
deactivate 【deactivate # 退出當前的虛擬環境】
# 創建自定義插件目錄
cd /opt/odoo
mkdir odoo12/local-addons
# 創建配置文件(<a href="https://www.jianshu.com/p/abf366d7319e" target="_blank" rel="noopener" data-mce-href="https://www.jianshu.com/p/abf366d7319e">配置項詳解參考</a>)
# odoo11/odoo-bin --help也可進行查看
sudo vi /etc/odoo12.conf
[options]
; This is the password that allows database operations:
# 此處密碼請自行修改
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo
db_password = False
; addons_path = /opt/odoo/odoo12/odoo/addons
; If you are using custom modules
addons_path = /opt/odoo/odoo12/addons,/opt/odoo/odoo12/local-addons
odoo12.conf 文件內容參數 請參考官網
添加服務
sudo vi /etc/systemd/system/odoo12.service
[Service]
Type=simple
SyslogIdentifier=odoo12
PermissionsStartOnly=true
User=odoo
Group=odoo
WorkingDirectory=/opt/odoo
Environment=/opt/odoo/odoo12-venv/bin/activate
ExecStart=/opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin -c /etc/odoo12.conf
# ExecStart=/usr/bin/scl enable rh-python36 -- /opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin -c /etc/odoo12.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
# 啓動服務
sudo systemctl daemon-reload
sudo systemctl start odoo12
firewall-cmd --zone=public --add-port=8069/tcp --permanent 或者可以直接添加端口
firewall-cmd --reload 重載防火牆
PS: (1)如果出現ERROR odoo odoo.modules.loading: Database odoo not initialized, you can force it with `-i base`
解決方案:我在配置文件中增加了 dbfilter ,成功。不要默認
dbfilter = odoo12
第二個解決方案:在GitHub上有人說增加 -i base參數【沒成功】
/opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin -i base -c /etc/odoo12.conf【啓動命令,需要在虛擬環境執行,寫在odoo12.service】
PS:(2)運行多環境odoo
cp /etc/odoo12.conf /etc/odoo8079.conf
[options]
; This is the password that allows database operations:
# 此處密碼請自行修改
admin_passwd = dfasdfasfsadf
db_host = 127.0.0.1
db_port = 5432
db_user = odoo
db_password = fdasfassafads
dbfilter = odoo79
; addons_path = /opt/odoo/odoo12/odoo/addons
; If you are using custom modules
addons_path = /opt/odoo/odoo12/addons,/opt/odoo/odoo12/local-addons
;指定用來存儲日誌的文件
logfile = /opt/odoo/odoo12/data/openerp-server8079.log
data_dir = /opt/odoo/data
到虛擬隔離環境執行如下啓動命令[root執行報錯,需要用odoo用戶]
su - odoo
cd /opt/odoo
source odoo12-venv/bin/activate
/opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin -c /etc/odoo8079.conf
後臺啓動
nohup /opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin --config=/etc/odoo8079.conf &
nohup /opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin -c /etc/odoo8079.conf &
啓動命令 -c參數 與 --config 功能一樣。
PS:(3) 不要亂加參數
xmlrpc = True
xmlrpc_interface =
千萬不要增加,好多參數 都是odoo10之前的參數,odoo12 不可用,官方文檔沒有扎到,如果增加不可用參數 後臺無任何log
瀏覽器報錯
錯誤:provisional headers are shown
docker 安裝odoo 傳送門,這個方便簡單
參考如下內容:
作者:矢寸心
鏈接:https://www.jianshu.com/p/ac5f2f93976d
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯繫作者獲得授權並註明出處。