前言:刚接触odoo,准备学习二次开发,这是个系列的笔记,方便以后回顾,同时为其他初学者一个参考,避免我踩的坑
环境搭建
环境:虚拟机安装centos7,python3.6.9
虚拟机安装centos,在此不赘述。进入正题:
1,新建用户
adduser odoo
2, 给用户添加root权限
$ vi /etc/sudoers 推荐使用visudo命令,最好备份,血的教
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
odoo ALL=(ALL) ALL
3,切换用户
su odoo
4,安装python3.6
1、先安装下依赖
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
2下载
wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
tar -xzvf Python-3.6.9.tgz -C /tmp cd /tmp/Python-3.6.9/
3. 把Python3.6安装到 /usr/local 目录
./configure --prefix=/usr/local
make && make altinstall
4. 更改/usr/bin/python链接
mv /usr/bin/python /usr/bin/python.backup
ln -s /usr/local/bin/python3.6 /usr/bin/python
5,安装 postgresql
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm -y yum install postgresql10-contrib postgresql10-server -y
Postgresql安装目录是/usr/pgsql-10,
Postgresql的数据目录是/var/lib/pgsql/10/data
初始化
/usr/pgsql-10/bin/postgresql-10-setup initdb
因为当前是odoo用户 要加上sudo 命令
启动:
/usr/pgsql-10/bin/pg_ctl start -D /var/lib/pgsql/10/data # 启动时报没权限的错误,后面有方案
# sudo systemctl start postgresql-10 用这个命令启动没反应
# sudo systemctl enable postgresql-10.service
6,配置postgresql 账号和密码
sudo su - postgres #(退出时是使用exit)
psql #(psql在退出时并不是使用exit,而是使用\q,接着按下回车就行了,这里的q指的就是quit)
#不区分大小写,但是要以;结尾 这个是master user 密码 要记住配置odoo12.conf要用
ALTER USER postgres WITH PASSWORD 'root';
#创建 普通用户,要和新建的linux用户同名。(自己可以去试试不同名会不会报错)
create user odoo;
\du #查看当前所有用户
给新用户添加权限
alter user odoo superuser;
alter user odoo createrole;
alter user odoo createdb;
7 odoo源码git 下载
git clone https://github.com/odoo/odoo.git --branch 12.0 --depth 1 --single-branch odoo12
# 这句的意思是 分支12.0,深度为1,单分支
8,如果没有pip,安装pip,如果没有epel源,下载阿里的epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
安装pip3
yum -y install python3-pip
建立软连接
sudo ln -s /usr/local/bin/pip3 /usr/bin/pip
9. 安装virtualenvwrapper
yum install python-setuptools python-devel
pip install virtualenvwrapper
编辑.bashrc文件
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
重新加载.bashrc文件
source ~/.bashrc
新建虚拟环境 并进入
mkvirtualenv odoo
workon odoo #刚创建是会自动进入虚拟环境
安装依赖包,用的是豆瓣源
pip install -r requirements.txt -i https://pypi.doubanio.com/simple
10, 关闭防火墙
firewall-cmd --state #查看状态
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
11,设置odoo配置文件
debian目录下有一个 odoo.conf的文件,复制出来,放到项目根目录下,修改如下:
说明:账号密码要与前面设置的postgresql 账号和密码一致
[options]
; This is the password that allows database operations:
; admin_passwd = admin
db_host = 192.168.80.128
db_port = 5432
db_user = odoo
db_password = 123456
addons_path = addons
12,安装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 -y
# 中文字体
sudo yum install -y wqy*
13,启动:
python odoo-bin -c odoo.conf
如果没有报错,说明安装成功。浏览器访问http://192.168.80.128:8069
如果报错,按提示一一安装其他依赖包
安装依赖出的一些问题:
1,需要安装 libxml2和libxslt,网上找了很多办法都没有成功,可能是我的环境有问题。最终通过下面方式成功了
得到源
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install libxml2 libxslt
安装pip install pyldap报错
yum install openldap-devel
这里特别说明:报错的依赖包单独安装,报错的依赖包单独安装,报错的依赖包单独安装,
2,数据库不能启动:
应该是 文件夹 “/var/lib/pgsql/10/data”权限错误, 权限应该是 rwx (0700)
解决:
切换到 具有root权限的用户,
(1)先把文件夹 “/var/lib/pgsql/10/data” 的用户所属组,给postgres 用户:
切换到 具有root权限的用户
进入/var/lib/pgsql/10目录
cd /var/lib/pgsql/10
chown -R odoo:postgresql data
(2)把data目前的所有文件及子目录文件权限改成: rwx (0700)
sudo chmod -R 0700 /var/lib/pgsql
sudo chmod -R 0700 /var/lib/pgsql/10
sudo chmod -R 0700 /var/lib/pgsql/10/data/
sudo chmod -R 777 /var/run/postgresql/
重启PostgreSQL 数据库,问题解决。