linux安装odoo总流程

Centos7安装odoo总流程

一、安装系统后的基本配置

联网:先插上网线

Vim /etc/sysconfig/network-scripts/ifcfg-enp0s25
ONBOOT=yes
保存
重启
service network restart
Ping www.baidu.com可以使用。
查看IP : IP addr

关闭防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
新建用户odoo
adduser odoo
修改odoo用户密码
passwd odoo
安装基本包
yum install lrzsz tree net-tools nmap vim bash-completion -y
yum -y install readline-devel
yum -y install zlib-devel
yum -y install make

二、安装python2.7.13

Su
Cd
查看当前python版本 python --version ,当前为2.7.5
安装所有的开发工具包
yum groupinstall -y “Development tools”
安装其它的必需包
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
下载、安装、编译python
cd
mkdir python
cd python
yum -y install wget
wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
tar zxf Python-2.7.13.tgz
cd Python-2.7.13
./configure
make && make install
(健康汇报使用了这个方式,下方红色的方式没有使用:https://blog.csdn.net/weixin_43737422/article/details/84568115)

方法一(推荐)

cat /etc/centos-release
python -V
mv /usr/bin/python /usr/bin/python2.7.5
python2.7.5
ln -s /usr/local/bin/python2.7 /usr/bin/python
python -V
vim /usr/bin/yum
首行的#!/usr/bin/python 改为 #!/usr/bin/python2.7.5
vim /usr/libexec/urlgrabber-ext-down
首行的#!/usr/bin/python 改为 #!/usr/bin/python2.7.5
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
ln -s /usr/local/bin/pip2.7 /usr/bin/pip 

方法二(不推荐)

更新系统默认python版本
先把系统默认的旧版 Python 重命名。
mv /usr/bin/python /usr/bin/python.old
再删除系统默认的 python-config 软链接。
rm -f /usr/bin/python-config
最后创建新版本的 Python 软链接。
ln -s /usr/local/bin/python /usr/bin/python
ln -s /usr/local/bin/python-config /usr/bin/python-config
ln -s /usr/local/include/python2.7/ /usr/include/python2.7
查看python版本,显示2.7.13
python --version
安装包
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
cp -r /usr/lib/python2.7/site-packages/yum /usr/local/lib/python2.7/site-packages/
cp -r /usr/lib/python2.7/site-packages/rpmUtils /usr/local/lib/python2.7/site-packages/
cp -r /usr/lib/python2.7/site-packages/iniparse /usr/local/lib/python2.7/site-packages/
cp -r /usr/lib/python2.7/site-packages/urlgrabber /usr/local/lib/python2.7/site-packages/
cp -r /usr/lib64/python2.7/site-packages/rpm /usr/local/lib/python2.7/site-packages/
cp -r /usr/lib64/python2.7/site-packages/curl /usr/local/lib/python2.7/site-packages/
cp -p /usr/lib64/python2.7/site-packages/pycurl.so /usr/local/lib/python2.7/site-packages/
cp -p /usr/lib64/python2.7/site-packages/_sqlitecache.so /usr/local/lib/python2.7/site-packages/
cp -p /usr/lib64/python2.7/site-packages/sqlitecachec.py /usr/local/lib/python2.7/site-packages/
cp -p /usr/lib64/python2.7/site-packages/sqlitecachec.pyc /usr/local/lib/python2.7/site-packages/
cp -p /usr/lib64/python2.7/site-packages/sqlitecachec.pyo /usr/local/lib/python2.7/site-packages/
easy_install pip

三、安装pgsql9.3

adduser openpg
passwd openpg
cd /home/openpg
通过windows下载了postgresql-9.3.3.tar.gz
通过xshell上传到centos,
cd postgresql-9.3.3
创建用户密码:
adduser postgres
passwd postgres
配置、编译及安装:
./configure
Make
make install
配置环境变量:
cd /usr/local/pgsql
vi /etc/profile
在文件最后加入:PATH=$PATH:/usr/local/pgsql/bin
然后刷新环境变量,即时生效 : source /etc/profile
初始化数据库:
cd /usr/local/pgsql
mkdir data
chown postgres:postgres /usr/local/pgsql/data/
su postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/
复制安装目录下的linux文件到/etc/init.d/中,并将linux名称重命名为postgresql:
cp /home/openpg/postgresql-9.3.3/contrib/start-scripts/linux /etc/init.d/postgresql
chmod +x /etc/init.d/postgresql
启动数据库和设置开机自启动:
su
/etc/init.d/postgresql start
chkconfig postgresql on
测试是否创建成功:
su postgres
createdb test
psql test
ALTER USER postgres with encrypted password ‘111111’;
修改数据库外网访问
find / -name pg_hba.conf
find / -name postgresql.conf
/etc/init.d/postgresql stop
修改pg_hba.conf
vim /usr/local/pgsql/data/pg_hba.conf
添加:
host all 192.168.1.1/24 trust
修改postgresql.conf
vim /usr/local/pgsql/data/postgresql.conf
添加
listen_addresses = ‘*’
重启postgresql服务
/etc/init.d/postgresql start
使用pgadmin连接,创建用户openpg,恢复数据库,所有者为openpg

四、运行odoo代码:

(健康汇报没有安装如下依赖,直接安装request.txt,没有成功,然后安装如下依赖,再安装request.txt ,成功。)
安装依赖:
yum install libxslt*
yum install openldap
yum install openldap24-libs
yum install openldap-clients
yum install openldap-devel
yum install openssl-devel
安装requests.txt pip install -r requests.txt
下载nodejs
切换到/usr/src路径下,并下载node到此路径下。
(1)切换/usr/src路径:cd /usr/src
(2)下载node:https://www.cnblogs.com/zeroTime/p/10945459.html
wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz
解压文件,顺便改个名字。
tar -xvf node-v10.16.0-linux-x64.tar.xz
mv node-v10.16.0-linux-x64 nodejs// 将node-v10.16.0-linux-x64修改为nodejs
4.配置环境变量
vim /etc/profile
在后面添加:
export NODE_HOME=/usr/src/nodejs #写上你安装node路径
export PATH= P A T H : PATH: PATH:NODE_HOME/bin
export NODE_PATH= N O D E H O M E / l i b / n o d e m o d u l e s 重 新 刷 新 p r o f i l e : s o u r c e / e t c / p r o f i l e 删 除 n o d e − v 10.16.0 − l i n u x − x 64. t a r . x z ( 删 不 删 都 由 你 ) r m − r f . / n o d e − v 10.16.0 − l i n u x − x 64. t a r . x z 测 试 : n o d e − v n p m − v 然 后 : c d n p m i n s t a l l − g l e s s n p m i n s t a l l − g l e s s − p l u g i n − c l e a n − c s s 添 加 p y t h o n 导 包 路 径 : v i m / e t c / p r o f i l e e x p o r t P Y T H O N P A T H = NODE_HOME/lib/node_modules 重新刷新profile: source /etc/profile 删除node-v10.16.0-linux-x64.tar.xz(删不删都由你) rm -rf ./node-v10.16.0-linux-x64.tar.xz 测试: node -v npm -v 然后: cd npm install -g less npm install -g less-plugin-clean-css 添加python导包路径:vim /etc/profile export PYTHONPATH= NODEHOME/lib/nodemodulesprofilesource/etc/profilenodev10.16.0linuxx64.tar.xz()rmrf./nodev10.16.0linuxx64.tar.xznodevnpmvcdnpminstallglessnpminstallglessplugincleancsspythonvim/etc/profileexportPYTHONPATH=PATH:/usr/lib/python2.7/site-packages
:wq
source /etc/profile
本次将centos6.8的site-packages 替换了现有的site-packages #操作错误,不可以,centos6.8和centos7.2的pthon版本不一样
将odoo代码拷贝到odoo用户/home/odoo下。
Vim odoo.conf

将odoo.conf 和启动文件odoo移动到上一级,和odoo文件夹同级
Pip install pypinyin
Pip install xinge_push
命令行启动:python start.py(将odoo复制出来,重命名) -c odoo.conf
Worker数没有配置。postgersql的最大连接数使用的默认的。

五、配置两台电脑在同一个网段。

配置windows电脑:
插入网线,设置ipv4属性

配置以下IP地址,默认网关,子网掩码

更改完成以后查看ip

然后配置centos的静态ip
Vim /etc/sysconfig/network-scripts/ifcfg-enp0s25
修改
BOOTPROTO=static
新增
IPADDR=192.168.1.101
GATEWAY=192.168.1.2
NETMASK=255.255.255.0
DNS1=192.168.1.2
重启网络
service network restart
发现不能启动
查资料后发现需要将ifcfg-enp0s25中的DEVICE一行注释掉。
#DEVICE=enp0s25
重启网络
service network restart
查看IP
IP addr
发现IP为自己设置的IP。
配置两块网卡,复制ifcfg-enp0s25文件改名为ifcfg-enp0s26,修改内容

其中uuid获取方法:

六、配置pgsql主从备份。

系统描述

原理
(1)设置主机归档模式。
(2)主机使用PostgreSQL提供的pg_basebackup等工具制作一次基础备份并将备份文件拷贝至备机,完成一次主被机间的基础备份。
(3)主机产生WAL文件后通过archive_command参数调度命令传输至备机。
(4)备机接收到WAL文件后,持续恢复主机的WAL文件,最大限度跟上主机数据产生速度。

软件安装
主服务器和从服务器系统都是centos7.2系统,安装的数据库都为postgresql9.4.15

热备份

配置方法
(1)首先配置主服务器:
联网:先插上网线
Vim /etc/sysconfig/network-scripts/ifcfg-enp0s25
ONBOOT=yes
保存
重启
service network restart
Ping www.baidu.com可以使用。
yum install lrzsz tree net-tools nmap vim bash-completion -y
yum -y install readline-devel
yum -y install zlib-devel
yum -y install make
yum install gcc-c++
yum -y install pcre*
yum -y install openssl*
yum groupinstall -y “Development tools”
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
yum -y install wget
安装pgsql9.4.15
adduser openpg
passwd openpg
cd /home/openpg
通过windows下载了postgresql-9.4.15.tar.gz
通过xshell上传到centos,
cd postgresql-9.4.15
创建用户密码:
adduser postgres
passwd postgres
配置、编译及安装:
./configure
Make
make install
配置环境变量:
cd /usr/local/pgsql
vi /etc/profile
在文件最后加入:PATH=$PATH:/usr/local/pgsql/bin
然后刷新环境变量,即时生效 : source /etc/profile
初始化数据库:
cd /usr/local/pgsql
mkdir data
chown postgres:postgres /usr/local/pgsql/data/
su postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/
复制安装目录下的linux文件到/etc/init.d/中,并将linux名称重命名为postgresql:
cp /home/openpg/postgresql-9.4.15/contrib/start-scripts/linux /etc/init.d/postgresql
chmod +x /etc/init.d/postgresql
启动数据库和设置开机自启动:
su
/etc/init.d/postgresql start
chkconfig postgresql on
测试是否创建成功:
su postgres
createdb test
psql test
ALTER USER postgres with encrypted password ‘111111’;
\q
su
创建文件夹 mkdir -p /opt/pgsql/pg_archive
cd /opt/pgsql
chmod 777 pg_archive/
创建一个用户进行主从同步
su postgres
psql
CREATE ROLE replica login replication encrypted password ‘replica’;
\q
su
修改pg_hba.com 文件
cd /usr/local/pgsql/data
vim pg_hba.conf
增加:
host all all 192.168.1.0/24 md5
host replication replica 192.168.1.100/32 md5
host replication replica 192.168.1.101/32 md5
分别是允许192.168.1网段访问,允许replica用户同步数据。
修改recoverydone文件。
cp /usr/local/pgsql/share/recovery.conf.sample /usr/local/pgsql/data/recovery.done
vim recovery.done
standby_mode = on
primary_conninfo = ‘host=192.168.1.100 port=5432 user=replica password=replica’
recovery_target_timeline = ‘latest’

修改postgresql.conf文件。
vim postgresql.conf
hot_standby=on
listen_addresses = ‘*’
archive_mode = on
archive_command = ‘cp %p /opt/pgsql/pg_archive/%f’
wal_level = hot_standby
max_wal_senders = 5
wal_sender_timeout = 60s
max_connections = 500

启动数据库
Su
Service postgresql start
Service postgresql restart
(2)然后配置从服务器
联网:先插上网线
Vim /etc/sysconfig/network-scripts/ifcfg-enp0s25
ONBOOT=yes
保存
重启
service network restart
Ping www.baidu.com可以使用。
yum install lrzsz tree net-tools nmap vim bash-completion -y
yum -y install readline-devel
yum -y install zlib-devel
yum -y install make
yum install gcc-c++
yum -y install pcre*
yum -y install openssl*
yum groupinstall -y “Development tools”
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
yum -y install wget
安装pgsql9.4.15
adduser openpg
passwd openpg
cd /home/openpg
通过windows下载了postgresql-9.4.15.tar.gz
通过xshell上传到centos,
cd postgresql-9.4.15
创建用户密码:
adduser postgres
passwd postgres
配置、编译及安装:
./configure
Make
make install
配置环境变量:
cd /usr/local/pgsql
vi /etc/profile
在文件最后加入:PATH=$PATH:/usr/local/pgsql/bin
然后刷新环境变量,即时生效 : source /etc/profile
初始化数据库:
cd /usr/local/pgsql
mkdir data
chown postgres:postgres /usr/local/pgsql/data/
su postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/
复制安装目录下的linux文件到/etc/init.d/中,并将linux名称重命名为postgresql:
cp /home/openpg/postgresql-9.4.15/contrib/start-scripts/linux /etc/init.d/postgresql
chmod +x /etc/init.d/postgresql
启动数据库和设置开机自启动:
su
/etc/init.d/postgresql start
chkconfig postgresql on
测试是否创建成功:
su postgres
createdb test
psql test
ALTER USER postgres with encrypted password ‘111111’;
su
创建文件夹 mkdir -p /opt/pgsql/pg_archive
cd /opt/pgsql/
chmod 777 pg_archive/
cd /usr/local/pgsql/
rm -rf /usr/local/pgsql/data
然后将主节点服务器数据拷贝到从节点。
scp -r [email protected]:/usr/local/pgsql/data /usr/local/pgsql
rm -rf data/postmaster.pid
配置recovery.conf
cp /usr/local/pgsql/share/recovery.conf.sample /usr/local/pgsql/data/recovery.conf
cd data/
vim recovery.conf
standby_mode = on
primary_conninfo = ‘host=192.168.1.101 port=5432 user=replica password=replica’
recovery_target_timeline = ‘latest’
不再修改postgresql,以后主从切换,不需要修改。
#配置postgersql.conf
#Vim postgresql.conf
#注释掉#archive_mode = on
#archive_command = ‘cp %p /opt/pgsql/pg_archive/%f’
#max_wal_senders = 5
#wal_sender_timeout = 60s
#max_connections = 500
#新增:max_standby_streaming_delay = 30s
#wal_receiver_status_interval = 10s
#hot_standby_feedback = on
#max_connections = 1000
然后重启从服务器:
Su
重新启动。
cd /usr/local/pgsql/
chown -R postgres:postgres data
chmod -R 0700 data
service postgresql start
service postgresql restart
查看主服务器:
su postgres
psql
select client_addr,sync_state from pg_stat_replication;
说明100服务器是从服务器,正在进行异步流复制。
维护方法
搭建完成后
(1)当主服务器进行添加数据、修改数据、删除数据的时候,从服务器也会进行相应的增删改。
(2)在主机上创建表user,然后在备机上可以看到user表已经被复制过来了
(3)停止备机,在主机上插入数据,然后再启用备机,可以看到备机也是有这条数据的。所以从机停机不会影响主机。
(4)在主服务器上添加用户,从服务器上也自动添加上了此用户。
(5)从服务器无法进行增加、修改、删除,只能通过主服务器数据的变化而变化,说明在主备模式下备机是只读的。
主从切换
先将原来的主改为从:
mv recovery.done recovery.conf
service postgresql restart
再将原来的从该为主:
mv recovery.conf recovery.done
service postgresql restart
此时,验证原来的主只能查看数据,不能进行修改,原来的从改成了主,可以进行增删改,之前的主降为从,也发生了相应的变化。
数据恢复

恢复方法

(1)假设主服务器因某些原因丢失数据、宕机,那么这时候就需要将从服务器的数据恢复到主服务器。
(2)通过pgadmin3将从服务器上的数据库备份下来,然后重新启动主服务器,恢复到主服务器。
测试
首先主数据库删除数据,从数据库也跟着删除。

主数据库增加数据,从数据库也增加数据。
增加前主数据库: 增加前从数据库:

增加后主数据库: 增加后从数据库:

数据库表数据也相同。
单独修改从服务器数据:发现禁止删除。

修改数据表中的数据,发现也不能修改。

从服务器停止,主服务器增加、修改一些数据,然后启动从服务器:

修改主数据库后,启动从,观察两者数据库区别。
修改后的外出申请表数据:

启动从数据库:

查看从数据库的外出申请表。结果也发生了相同的变化,可以得出结论,从数据库不影 响主数据库工作。

主数据库停止一段时间后再启动,观察从数据库时候能够继续成功备份。

停止主数据库后查看从数据库日志:一直是拒绝连接状态。

重新启动主数据库:

丛服务器日志:开始进行流复制。

对主数据库数据进行修改:

查看从数据库,也进行了相应的修改

当主数据库被攻击以后,可以通过从数据库备份数据然后在主服务器上恢复。

配置odoo 报表环境

su
cd /home/odoo
安装wkhtmltopdf
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
cd wkhtmltox/bin/
mv ./wkhtmltopdf /usr/bin/wkhtmltopdf
chmod +x /usr/bin/wkhtmltopdf
yum install urw-fonts libXext openssl-devel
使用xftp将window的字体复制过去,我复制的是simsun.ttc,路径为下面路径:
C:\Windows\WinSxS\amd64_microsoft-windows-font-truetype-simsun_31bf3856ad364e35_10.0.17763.1_none_ebcf08efc7d83d60
复制到/usr/share/fonts路径下。

odoo配置为服务

cd /lib/systemd/system
vim odoo10.service
添加:
[Unit]

Description=Odoo10

After=postgresql.service

[Service]

Type=simple

User=root

Group=root

ExecStart=/usr/bin/python /home/odoo/odoo-10.0/start -c /home/odoo/odoo-10.0/odoo.conf
#注意:先运行上面一行/usr/bin/python /home/odoo/odoo-10.0/start.py -c /home/odoo/odoo-10.0/odoo.conf,看是否能运行成功。

[Install]

WantedBy=multi-user.target

然后保存,退出。
扫描新的服务
systemctl daemon-reload
启动服务
systemctl start odoo10
停止服务
systemctl stop odoo10
重启服务
systemctl restart odoo10
开机自启
systemctl enable odoo10
如果配置成服务后无法导入lessc,则在service中加入Environment=“PATH=/usr/src/nodejs/bin”

遇到的问题:

访问报错
解决办法:
1)首先清除浏览器历史记录。
2)运行命令“ createdb odoo”,或者也可以使用旧数据库。
3)使用此命令运行openerp-server
./openerp-server -u all

Centos7配置防火墙:

基本使用

启动: systemctl start firewalld
查看状态: systemctl status firewalld 
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
查看所有打开的端口: firewall-cmd--zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
添加: firewall-cmd --zone=public --add-port=80/tcp --permanent   (--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --remove-port=80/tcp --permanent
查看firewall是否运行systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctldisable firewalld.service
查看服务是否开机启动:systemctlis-enabled firewalld.service

你可能感兴趣的:(linux安装odoo总流程)