Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

CentOS6.5下源代码安装OE7+nginx代理配置+防火墙配置+自动备份



  • 以前根据自己的安装经历并且在很多坛友的帮助下写过一篇《CentOS6.4下源代码安装以及nginx配置》,论坛版主抬爱,给置顶了,本人倍感荣幸, :)。<br /><br />[color=orange]最近由于疏忽大意,结果服务器被黑了(被捉去当了肉鸡,  >:( ),为了安全起见只好把系统重做,这次顺带把这次安装经历更新到论坛,希望能给有需要新安装OE的坛友做个参考,如有谬误,请坛友多指正[/color]<br /><br />[size=18pt][b]整个部署分四个部分 安装OE、安装Nginx、安装防火墙iptables、配置自动备份脚本[/b][/size]<br /><br />[size=18pt][b]第一部分,安装OE[/b][/size]<br />[color=navy][b]说明:CentOS版本为6.5版本,命令行采用bash,PostgreSQL为9.3版本,Nginx为1.4.7版本[/b][/color]<br /><br />[b]1、[/b]CentOS 的安装选项有最小化安装、基本服务器安装、虚拟主机安装等等的,我这里采用的是基本服务器安装(带的东西较少,其实我们也只需要网络能联通加上yum可用即可)<br />[b]2、[/b]安装postgresql9.3<br /><br />[color=navy]注意:#代表root用户命令行状态(不做特别说明了),中间会涉及到切换到其他用户[/color]<br /><br />#cd /tmp              //进入tmp目录,这是系统的临时目录,里面的文件不重要,即使误删危害也不大,所以推荐在tmp目录下做临时性操作<br />#yum remove postgres  //卸载原有的pg,如果pg默认没有安装这条命令则无视<br />#rpm -Uvh http://yum.pgrpms.org/9.3/redhat/rhel-6Server-x86_64/pgdg-centos93-9.3-1.noarch.rpm //RPM方式从网络上安装pg的RPM包<br />#yum -y install postgresql93 postgresql93-server postgresql93-libs postgresql93-contrib postgresql93-devel //使用yum安装相关依赖包<br />#service postgresql-9.3 initdb  //初始化pg数据库<br />#cd /etc/init.d/<br />#ln -sf  postgresql-9.3  pg93    //做个链接文件,这样省的名字太长敲起来麻烦<br />#service pg93            start    //启动pg服务(LINUX下的服务名称就是启动目录下的文件名,即使该文件为链接文件)<br />#chkconfig pg93 on                //将pg启动服务加入CentOS的启动列表,相当于windows里面的启动项<br /><br />#su - postgres                      //切换到postgres用户,该用户为安装pg时安装包自动创建的,它是pg默认的超级用户,在该用户环境下有一些管理命令<br />-bash-4.1(postgres)$createuser --superuser openerp    //创建一个叫openerp的超级用户(此时创建的用户只是数据库的用户,openerp在操作系统中并不存在,请注意其中的区别)<br /><br />#rpm -ivh http://dl.fedoraproject.org/pub/epel/6Server/x86_64/epel-release-6-8.noarch.rpm  //从网络上安装epel包,我这里的RPM链接是针对x86_64版本的,如果是其他版本请做对应修改<br />#yum -y install  python-dateutil python-docutils python-feedparser python-imaging python-jinja2 python-ldap libxslt-python python-lxml python-mako python-mock python-openid  python-psutil python-psycopg2 python-reportlab python-yaml  pywebdav  python-vobject  python-vatnumber python-unittest2  python-simplejson pytz python-gdata python-ZSI  pychart pydot pybabel pyparsing python-werkzeug  //安装OE依赖的库,大部分都是python库,也有一部分其他依赖库<br /><br /><br />#unzip gdata-2.0.18.zip    //google的网站都改成了https了,所以请用网页下载然后传入系统目录下<br />#cd gdata-2.0.18<br />#python setup.py install    <br /><br />#cd /tmp<br />#rm -rf openerp*                          //清理不用的旧的openerp开头的所有文件(慎用)<br />#wget http://nightly.openerp.com/7.0/nightly/src/openerp-7.0-latest.tar.gz  //下载OE源代码包,准备安装<br />#tar xvzf openerp-7.0-latest.tar.gz          //解压OE源代码包<br /><br />#adduser openerp -d /opt/openerp                          //创建openerp用户,它与postgres创建的openerp是关联的<br /><br />#cp -R openerp*/{openerp,install/{openerp-server.init,openerp-server.conf},openerp-server,setup.py} /opt/openerp  //将我们需要的文件拷贝到安装目录<br /><br />#chown openerp:openerp  /opt/openerp -R          //将OE安装目录下的所有文件所有者设定为oe7用户<br /><br />#cd /opt/openerp<br />#chmod u+x openerp-server.init          //.init文件是oe的一个启动脚本,需要给它设置可执行权限<br />#ln -sf /opt/openerp/openerp-server.init    /etc/init.d/oe7server    <br />#chkconfig oe7server on                  //将oe加入CentOS启动列表<br />#ln -sf /opt/openerp/openerp-server.conf    /etc          //将oe目录下的配置文件做一份链接到/etc下,如果想自定义配置文件路径可以通过给openerp-server设置选项或者修改openerp-server.init文件里面的路径来实现,这里采用的方法不用做修改,较为简单<br />#ln -sf /opt/openerp/openerp-server  /usr/bin/          //将OE的主执行文件链接到/usr/bin目录,主要是因为官方启动文件使用了/usr/bin目录<br />;;到这里OE基本上安装完成了<br />#service oe7server start            //启动OE,这时候应该可以通过浏览器访问OE了<br /><br /><br />[size=18pt][b]第二部分,安装Nginx[/b][/size]<br />OE本身自带的webserver效能较低,在前端采用nginx做代理<br /><br />#rpm -Uvh  http://nginx.org/packages/centos/6/x86_64/RPMS/nginx-1.4.7-1.el6.ngx.x86_64.rpm  //nginx安装很简单<br />            <br />配置/etc/nginx/nginx.conf文件,如果只是为OE服务,建议一个配置文件即可<br /><br />;;/etc/nginx/nginx.conf配置文件<br />#设定http服务器,利用它的反向代理功能提供负载均衡支持<br /><br />user              nginx;<br />worker_processes  1;<br /><br />error_log  /var/log/nginx/error.log;<br />#error_log  /var/log/nginx/error.log  notice;<br />#error_log  /var/log/nginx/error.log  info;<br /><br />pid        /var/run/nginx.pid;<br /><br />events {<br />    use epoll;<br />    worker_connections  1024;<br />}<br /><br />http {<br />    #设定mime类型,类型由mime.type文件定义<br />    include      /etc/nginx/mime.types;<br />    default_type  application/octet-stream;<br />    #设定日志格式<br />    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '<br />                      '$status $body_bytes_sent "$http_referer" '<br />                      '"$http_user_agent" "$http_x_forwarded_for"';<br /><br />    access_log  /var/log/nginx/access.log  main;<br /><br />    sendfile        on;<br />    #tcp_nopush    on;<br /><br />    #keepalive_timeout  0;<br />    keepalive_timeout  65;<br /><br />    gzip  on;<br />    gzip_disable "msie6";<br />    gzip_vary on;<br />    gzip_proxied any;<br />    gzip_comp_level 6;<br />    gzip_buffers 16 8k;<br />    gzip_http_version 1.1;<br />    #添加一个类型 application/javascript<br />    gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;<br /><br />    # Load config files from the /etc/nginx/conf.d directory<br />    # The default server is in conf.d/default.conf<br />    include /etc/nginx/conf.d/.conf;<br /><br />    upstream oe_server{<br />        #这里可以给出多个server,用来分担OE服务器的负担,并且还可以设定权重(具体请参考nginx配置)<br />        server 127.0.0.1:8069;    //这是OE提供服务的地址及端口,可以指定多个server,也就是可以使用多个OE服务器来均衡负载,但是后台数据库还是要保证在逻辑上是一台<br />                                //我是因为nginx与OE在同一台机器,所以可以写成127段地址<br />    }<br /><br />  #第一个虚拟服务器<br />  server {<br />        #侦听192.168.1.2的80端口<br />        listen      80;<br />        server_name  192.168.1.2;<br /><br />        location /{<br />          root  /opt/openerp/openerp/addons/;      #定义服务器的默认网站根目录位置<br />          proxy_pass  http://oe_server ;#请求转向mysvr 定义的服务器列表<br />          #以下是一些反向代理的配置可删除.<br />          proxy_redirect off;<br />          #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP<br />          proxy_set_header Host $host;<br />          proxy_set_header X-Real-IP $remote_addr;<br />          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br />          client_max_body_size 10m;    #允许客户端请求的最大单文件字节数<br />          client_body_buffer_size 128k;  #缓冲区代理缓冲用户端请求的最大字节数,<br />          proxy_connect_timeout 90;  #nginx跟后端服务器连接超时时间(代理连接超时)<br />          proxy_send_timeout 90;        #后端服务器数据回传时间(代理发送超时)<br />          proxy_read_timeout 90;        #连接成功后,后端服务器响应时间(代理接收超时)<br />          proxy_buffer_size 4k;            #设置代理服务器(nginx)保存用户头信息的缓冲区大小<br />          proxy_buffers 4 32k;              #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置<br />          proxy_busy_buffers_size 64k;    #高负荷下缓冲大小(proxy_buffers2)<br />          proxy_temp_file_write_size 64k;  #设定缓存文件夹大小,大于这个值,将从upstream服务器传<br />        }<br />    }<br />}<br /><br /><br />#service nginx start  <br /><br /><br />OK,现在可以通过nginx来访问OE了<br /><br /><br />[size=18pt][b]第三部分,配置防火墙[/b][/size]<br />;;由于我的疏忽大意,造成服务器被黑,所以这次安装配置添加上了防火墙设置(当然防火墙不是万能的,单服务器还是不要裸奔好)<br />;;如果没有安装防火墙,请先安装<br />#yum install iptables<br />;;启动防火墙<br />#service iptables start<br /><br />#iptables -F  //清空防火墙所有的当前规则<br />#iptables -L  //该命令可以查看当前防火墙规则<br />;;我们采用命令行的方式逐一添加防火墙规则(也可以直接编辑防火墙配置文件/etc/sysconfig/iptalbes),切记命令执行完之后请使用/etc/init.d/iptables save 来保存配置)<br /><br />#iptables -A INPUT -S 192.168.1.0/24 -j  ACCEPT    //允许内网ip访问该服务器所有端口<br /> <br />#iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT  //允许所有ip访问80端口<br /> <br />#iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT  //允许本地发起的连接返回数据到任意端口。本地作为客户端可以发起到任何ip和端口的请求,这条规则确保能够收到返回<br /> <br />#iptables -A OUTPUT  -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT  //允许80端口返回数据<br /> <br />#iptables -A OUTPUT -j ACCEPT    //允许返回数据给所有ip所有端口(上面那条就没用了)<br /> <br />#iptables -P INPUT DROP    //除上面允许的规则,抛弃所有INPUT请求<br /> <br />#iptables -P FORWARD DROP  //除上面允许的规则,抛弃所有FORWARD请求<br /> <br />#iptables -P OUTPUT DROP    //除上面允许的规则,抛弃所有OUTPUT请求<br /><br />;;我们可以使用iptables -L命令来查看当前防火墙规则,实际上上述规则已经及时生效的,但是必须保存,否则系统重启或者iptables重启后上述规则就丢失了<br />#/etc/init.d/iptables save  //保存iptables配置<br /><br />[b];;上述命令可以写成一个shell脚本,方便以后使用[/b]<br /><br /><br />[size=18pt][b]第四部分,自动备份[/b][/size]<br />;;我们希望系统安全,并且数据资料可以每天都自动备份好,随时准备恢复,这项工作当然希望计算机自动完成<br />;;我们编写一个脚本文件<br />#vi /opt/oepenerp/oe7_backup.sh<br />#!/bin/bash<br /># chkconfig: 345 99 05  <br /><br />export oe7_home=awk -F &quot;:&quot; &#039;$1 ~/openerp/ {print $6}&#039; /etc/passwd<br /><br />DB_LIST="Test1 Test2"  #请在这里写上你需要备份的数据库名(不要写成跟我这里一样的,因为我们数据库名称不同,多个数据库以空格分开即可)<br /><br />for i in $DB_LIST; do<br />        su - openerp -c "pg_dump --format=c $i > $oe7_home/oe7_dump/oe7_"$i"$(date +%Y-%m-%d%H:%M:%S)_Z.dump"<br />done;<br /><br />find ./ -mtime +30 -name "*.dump" -exec rm -rf {} ;  #删除30天以上的备份文件,以防止磁盘空间不足<br /><br /><br />;;记得给备份脚本添加执行权限<br />#chmod u+x /opt/openerp/oe7_backup.sh<br /><br />上面这个脚本可以使用crontab设定为固定时间执行<br />#crontab -e  //启动编辑,命令执行后进入一个与vi编辑器类似的命令状态,按i进入插入状态,然后输入如下规则<br />30 2 * * * /opt/openerp/oe7_backup.sh<br /><br />;;上述规则表示每天夜里2:30分定时备份<br />;;编辑完后记得保存退出<br />#crontab -l  //该命令可以看到是否有定时执行的任务列表<br /><br /><br />[size=18pt][b]至此整个OE系统配置完成[/b][/size]<br /><br />[color=green]友情提醒:上面所有的命令都是我手工敲的,所以都是可执行的(当然也可能有复制的时候造成误操作)。以前遇到很多坛友说执行不了的问题,大部分都是自身权限错误或者目录/文件不存在造成的,请坛友细心查看一下[/color]<br /><br /><br /><br /><br />



  • 以前根据自己的安装经历并且在很多坛友的帮助下写过一篇《CentOS6.4下源代码安装以及nginx配置》,论坛版主抬爱,给置顶了,本人倍感荣幸, :)。<br /><br />[color=orange]最近由于疏忽大意,结果服务器被黑了(被捉去当了肉鸡,  >:( ),为了安全起见只好把系统重做,这次顺带把这次安装经历更新到论坛,希望能给有需要新安装OE的坛友做个参考,如有谬误,请坛友多指正[/color]<br /><br />[size=18pt][b]整个部署分四个部分 安装OE、安装Nginx、安装防火墙iptables、配置自动备份脚本[/b][/size]<br /><br />[size=18pt][b]第一部分,安装OE[/b][/size]<br />[color=navy][b]说明:CentOS版本为6.5版本,命令行采用bash,PostgreSQL为9.3版本,Nginx为1.4.7版本[/b][/color]<br /><br />[b]1、[/b]CentOS 的安装选项有最小化安装、基本服务器安装、虚拟主机安装等等的,我这里采用的是基本服务器安装(带的东西较少,其实我们也只需要网络能联通加上yum可用即可)<br />[b]2、[/b]安装postgresql9.3<br /><br />[color=navy]注意:#代表root用户命令行状态(不做特别说明了),中间会涉及到切换到其他用户[/color]<br /><br />#cd /tmp              //进入tmp目录,这是系统的临时目录,里面的文件不重要,即使误删危害也不大,所以推荐在tmp目录下做临时性操作<br />#yum remove postgres  //卸载原有的pg,如果pg默认没有安装这条命令则无视<br />#rpm -Uvh http://yum.pgrpms.org/9.3/redhat/rhel-6Server-x86_64/pgdg-centos93-9.3-1.noarch.rpm //RPM方式从网络上安装pg的RPM包<br />#yum -y install postgresql93 postgresql93-server postgresql93-libs postgresql93-contrib postgresql93-devel //使用yum安装相关依赖包<br />#service postgresql-9.3 initdb  //初始化pg数据库<br />#cd /etc/init.d/<br />#ln -sf  postgresql-9.3  pg93    //做个链接文件,这样省的名字太长敲起来麻烦<br />#service pg93            start    //启动pg服务(LINUX下的服务名称就是启动目录下的文件名,即使该文件为链接文件)<br />#chkconfig pg93 on                //将pg启动服务加入CentOS的启动列表,相当于windows里面的启动项<br /><br />#su - postgres                      //切换到postgres用户,该用户为安装pg时安装包自动创建的,它是pg默认的超级用户,在该用户环境下有一些管理命令<br />-bash-4.1(postgres)$createuser --superuser openerp    //创建一个叫openerp的超级用户(此时创建的用户只是数据库的用户,openerp在操作系统中并不存在,请注意其中的区别)<br /><br />#rpm -ivh http://dl.fedoraproject.org/pub/epel/6Server/x86_64/epel-release-6-8.noarch.rpm  //从网络上安装epel包,我这里的RPM链接是针对x86_64版本的,如果是其他版本请做对应修改<br />#yum -y install  python-dateutil python-docutils python-feedparser python-imaging python-jinja2 python-ldap libxslt-python python-lxml python-mako python-mock python-openid  python-psutil python-psycopg2 python-reportlab python-yaml  pywebdav  python-vobject  python-vatnumber python-unittest2  python-simplejson pytz python-gdata python-ZSI  pychart pydot pybabel pyparsing python-werkzeug  //安装OE依赖的库,大部分都是python库,也有一部分其他依赖库<br /><br /><br />#unzip gdata-2.0.18.zip    //google的网站都改成了https了,所以请用网页下载然后传入系统目录下<br />#cd gdata-2.0.18<br />#python setup.py install    <br /><br />#cd /tmp<br />#rm -rf openerp*                          //清理不用的旧的openerp开头的所有文件(慎用)<br />#wget http://nightly.openerp.com/7.0/nightly/src/openerp-7.0-latest.tar.gz  //下载OE源代码包,准备安装<br />#tar xvzf openerp-7.0-latest.tar.gz          //解压OE源代码包<br /><br />#adduser openerp -d /opt/openerp                          //创建openerp用户,它与postgres创建的openerp是关联的<br /><br />#cp -R openerp*/{openerp,install/{openerp-server.init,openerp-server.conf},openerp-server,setup.py} /opt/openerp  //将我们需要的文件拷贝到安装目录<br /><br />#chown openerp:openerp  /opt/openerp -R          //将OE安装目录下的所有文件所有者设定为oe7用户<br /><br />#cd /opt/openerp<br />#chmod u+x openerp-server.init          //.init文件是oe的一个启动脚本,需要给它设置可执行权限<br />#ln -sf /opt/openerp/openerp-server.init    /etc/init.d/oe7server    <br />#chkconfig oe7server on                  //将oe加入CentOS启动列表<br />#ln -sf /opt/openerp/openerp-server.conf    /etc          //将oe目录下的配置文件做一份链接到/etc下,如果想自定义配置文件路径可以通过给openerp-server设置选项或者修改openerp-server.init文件里面的路径来实现,这里采用的方法不用做修改,较为简单<br />#ln -sf /opt/openerp/openerp-server  /usr/bin/          //将OE的主执行文件链接到/usr/bin目录,主要是因为官方启动文件使用了/usr/bin目录<br />;;到这里OE基本上安装完成了<br />#service oe7server start            //启动OE,这时候应该可以通过浏览器访问OE了<br /><br /><br />[size=18pt][b]第二部分,安装Nginx[/b][/size]<br />OE本身自带的webserver效能较低,在前端采用nginx做代理<br /><br />#rpm -Uvh  http://nginx.org/packages/centos/6/x86_64/RPMS/nginx-1.4.7-1.el6.ngx.x86_64.rpm  //nginx安装很简单<br />            <br />配置/etc/nginx/nginx.conf文件,如果只是为OE服务,建议一个配置文件即可<br /><br />;;/etc/nginx/nginx.conf配置文件<br />#设定http服务器,利用它的反向代理功能提供负载均衡支持<br /><br />user              nginx;<br />worker_processes  1;<br /><br />error_log  /var/log/nginx/error.log;<br />#error_log  /var/log/nginx/error.log  notice;<br />#error_log  /var/log/nginx/error.log  info;<br /><br />pid        /var/run/nginx.pid;<br /><br />events {<br />    use epoll;<br />    worker_connections  1024;<br />}<br /><br />http {<br />    #设定mime类型,类型由mime.type文件定义<br />    include      /etc/nginx/mime.types;<br />    default_type  application/octet-stream;<br />    #设定日志格式<br />    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '<br />                      '$status $body_bytes_sent "$http_referer" '<br />                      '"$http_user_agent" "$http_x_forwarded_for"';<br /><br />    access_log  /var/log/nginx/access.log  main;<br /><br />    sendfile        on;<br />    #tcp_nopush    on;<br /><br />    #keepalive_timeout  0;<br />    keepalive_timeout  65;<br /><br />    gzip  on;<br />    gzip_disable "msie6";<br />    gzip_vary on;<br />    gzip_proxied any;<br />    gzip_comp_level 6;<br />    gzip_buffers 16 8k;<br />    gzip_http_version 1.1;<br />    #添加一个类型 application/javascript<br />    gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;<br /><br />    # Load config files from the /etc/nginx/conf.d directory<br />    # The default server is in conf.d/default.conf<br />    include /etc/nginx/conf.d/.conf;<br /><br />    upstream oe_server{<br />        #这里可以给出多个server,用来分担OE服务器的负担,并且还可以设定权重(具体请参考nginx配置)<br />        server 127.0.0.1:8069;    //这是OE提供服务的地址及端口,可以指定多个server,也就是可以使用多个OE服务器来均衡负载,但是后台数据库还是要保证在逻辑上是一台<br />                                //我是因为nginx与OE在同一台机器,所以可以写成127段地址<br />    }<br /><br />  #第一个虚拟服务器<br />  server {<br />        #侦听192.168.1.2的80端口<br />        listen      80;<br />        server_name  192.168.1.2;<br /><br />        location /{<br />          root  /opt/openerp/openerp/addons/;      #定义服务器的默认网站根目录位置<br />          proxy_pass  http://oe_server ;#请求转向mysvr 定义的服务器列表<br />          #以下是一些反向代理的配置可删除.<br />          proxy_redirect off;<br />          #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP<br />          proxy_set_header Host $host;<br />          proxy_set_header X-Real-IP $remote_addr;<br />          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br />          client_max_body_size 10m;    #允许客户端请求的最大单文件字节数<br />          client_body_buffer_size 128k;  #缓冲区代理缓冲用户端请求的最大字节数,<br />          proxy_connect_timeout 90;  #nginx跟后端服务器连接超时时间(代理连接超时)<br />          proxy_send_timeout 90;        #后端服务器数据回传时间(代理发送超时)<br />          proxy_read_timeout 90;        #连接成功后,后端服务器响应时间(代理接收超时)<br />          proxy_buffer_size 4k;            #设置代理服务器(nginx)保存用户头信息的缓冲区大小<br />          proxy_buffers 4 32k;              #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置<br />          proxy_busy_buffers_size 64k;    #高负荷下缓冲大小(proxy_buffers2)<br />          proxy_temp_file_write_size 64k;  #设定缓存文件夹大小,大于这个值,将从upstream服务器传<br />        }<br />    }<br />}<br /><br /><br />#service nginx start  <br /><br /><br />OK,现在可以通过nginx来访问OE了<br /><br /><br />[size=18pt][b]第三部分,配置防火墙[/b][/size]<br />;;由于我的疏忽大意,造成服务器被黑,所以这次安装配置添加上了防火墙设置(当然防火墙不是万能的,单服务器还是不要裸奔好)<br />;;如果没有安装防火墙,请先安装<br />#yum install iptables<br />;;启动防火墙<br />#service iptables start<br /><br />#iptables -F  //清空防火墙所有的当前规则<br />#iptables -L  //该命令可以查看当前防火墙规则<br />;;我们采用命令行的方式逐一添加防火墙规则(也可以直接编辑防火墙配置文件/etc/sysconfig/iptalbes),切记命令执行完之后请使用/etc/init.d/iptables save 来保存配置)<br /><br />#iptables -A INPUT -S 192.168.1.0/24 -j  ACCEPT    //允许内网ip访问该服务器所有端口<br /> <br />#iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT  //允许所有ip访问80端口<br /> <br />#iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT  //允许本地发起的连接返回数据到任意端口。本地作为客户端可以发起到任何ip和端口的请求,这条规则确保能够收到返回<br /> <br />#iptables -A OUTPUT  -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT  //允许80端口返回数据<br /> <br />#iptables -A OUTPUT -j ACCEPT    //允许返回数据给所有ip所有端口(上面那条就没用了)<br /> <br />#iptables -P INPUT DROP    //除上面允许的规则,抛弃所有INPUT请求<br /> <br />#iptables -P FORWARD DROP  //除上面允许的规则,抛弃所有FORWARD请求<br /> <br />#iptables -P OUTPUT DROP    //除上面允许的规则,抛弃所有OUTPUT请求<br /><br />;;我们可以使用iptables -L命令来查看当前防火墙规则,实际上上述规则已经及时生效的,但是必须保存,否则系统重启或者iptables重启后上述规则就丢失了<br />#/etc/init.d/iptables save  //保存iptables配置<br /><br />[b];;上述命令可以写成一个shell脚本,方便以后使用[/b]<br /><br /><br />[size=18pt][b]第四部分,自动备份[/b][/size]<br />;;我们希望系统安全,并且数据资料可以每天都自动备份好,随时准备恢复,这项工作当然希望计算机自动完成<br />;;我们编写一个脚本文件<br />#vi /opt/oepenerp/oe7_backup.sh<br />#!/bin/bash<br /># chkconfig: 345 99 05  <br /><br />export oe7_home=awk -F &quot;:&quot; &#039;$1 ~/openerp/ {print $6}&#039; /etc/passwd<br /><br />DB_LIST="Test1 Test2"  #请在这里写上你需要备份的数据库名(不要写成跟我这里一样的,因为我们数据库名称不同,多个数据库以空格分开即可)<br /><br />for i in $DB_LIST; do<br />        su - openerp -c "pg_dump --format=c $i > $oe7_home/oe7_dump/oe7_"$i"$(date +%Y-%m-%d%H:%M:%S)_Z.dump"<br />done;<br /><br />find ./ -mtime +30 -name "*.dump" -exec rm -rf {} ;  #删除30天以上的备份文件,以防止磁盘空间不足<br /><br /><br />;;记得给备份脚本添加执行权限<br />#chmod u+x /opt/openerp/oe7_backup.sh<br /><br />上面这个脚本可以使用crontab设定为固定时间执行<br />#crontab -e  //启动编辑,命令执行后进入一个与vi编辑器类似的命令状态,按i进入插入状态,然后输入如下规则<br />30 2 * * * /opt/openerp/oe7_backup.sh<br /><br />;;上述规则表示每天夜里2:30分定时备份<br />;;编辑完后记得保存退出<br />#crontab -l  //该命令可以看到是否有定时执行的任务列表<br /><br /><br />[size=18pt][b]至此整个OE系统配置完成[/b][/size]<br /><br />[color=green]友情提醒:上面所有的命令都是我手工敲的,所以都是可执行的(当然也可能有复制的时候造成误操作)。以前遇到很多坛友说执行不了的问题,大部分都是自身权限错误或者目录/文件不存在造成的,请坛友细心查看一下[/color]<br /><br /><br /><br /><br />



  • 访问本地http://192.168.0.114/  提示 502 Bad Gateway ;<br />访问本地http://192.168.0.114:8069,出现如下错误:<br />Internal Server Error<br /><br />{"message": "OpenERP Server Error", "code": 200, "data": {"debug": "Server Traceback (most recent call last):\n File &quot;/opt/oe7/openerp/addons/web/session.py&quot;, line 89, in send\n return openerp.netsvc.dispatch_rpc(service_name, method, args)\n File &quot;/opt/oe7/openerp/netsvc.py&quot;, line 296, in dispatch_rpc\n result = ExportService.getService(service_name).dispatch(method, params)\n File &quot;/opt/oe7/openerp/service/web_services.py&quot;, line 122, in dispatch\n return fn(*params)\n File &quot;/opt/oe7/openerp/service/web_services.py&quot;, line 359, in exp_list\n cr = db.cursor()\n File &quot;/opt/oe7/openerp/sql_db.py&quot;, line 484, in cursor\n return Cursor(self.__pool, self.dbname, serialized=serialized)\n File &quot;/opt/oe7/openerp/sql_db.py&quot;, line 182, in init\n self._cnx = pool.borrow(dsn(dbname))\n File &quot;/opt/oe7/openerp/sql_db.py&quot;, line 377, in _locked\n return fun(self, *args, **kwargs)\n File &quot;/opt/oe7/openerp/sql_db.py&quot;, line 440, in borrow\n result = psycopg2.connect(dsn=dsn, connection_factory=PsycoConnection)\n File &quot;/usr/lib64/python2.6/site-packages/psycopg2/init.py&quot;, line 164, in connect\n conn = _connect(dsn, connection_factory=connection_factory, async=async)\nOperationalError: FATAL: role &quot;openerp&quot; does not exist\n\n\nClient Traceback (most recent call last):\n File &quot;/opt/oe7/openerp/addons/web/http.py&quot;, line 285, in dispatch\n r = method(self, **self.params)\n File &quot;/opt/oe7/openerp/addons/web/controllers/main.py&quot;, line 570, in index\n db, redir = db_monodb_redirect(req)\n File &quot;/opt/oe7/openerp/addons/web/controllers/main.py&quot;, line 98, in db_monodb_redirect\n return db_redirect(req, not config['list_db'])\n File &quot;/opt/oe7/openerp/addons/web/controllers/main.py&quot;, line 109, in db_redirect\n dbs = db_list(req, True)\n File &quot;/opt/oe7/openerp/addons/web/controllers/main.py&quot;, line 90, in db_list\n dbs = proxy.list(force)\n File &quot;/opt/oe7/openerp/addons/web/session.py&quot;, line 30, in proxy_method\n result = self.session.send(self.service_name, method, *args)\n File &quot;/opt/oe7/openerp/addons/web/session.py&quot;, line 103, in send\n raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)\nFault: <Fault FATAL: role &quot;openerp&quot; does not exist\n: 'Traceback (most recent call last):\n File &quot;/opt/oe7/openerp/addons/web/session.py&quot;, line 89, in send\n return openerp.netsvc.dispatch_rpc(service_name, method, args)\n File &quot;/opt/oe7/openerp/netsvc.py&quot;, line 296, in dispatch_rpc\n result = ExportService.getService(service_name).dispatch(method, params)\n File &quot;/opt/oe7/openerp/service/web_services.py&quot;, line 122, in dispatch\n return fn(*params)\n File &quot;/opt/oe7/openerp/service/web_services.py&quot;, line 359, in exp_list\n cr = db.cursor()\n File &quot;/opt/oe7/openerp/sql_db.py&quot;, line 484, in cursor\n return Cursor(self.__pool, self.dbname, serialized=serialized)\n File &quot;/opt/oe7/openerp/sql_db.py&quot;, line 182, in init\n self._cnx = pool.borrow(dsn(dbname))\n File &quot;/opt/oe7/openerp/sql_db.py&quot;, line 377, in _locked\n return fun(self, *args, **kwargs)\n File &quot;/opt/oe7/openerp/sql_db.py&quot;, line 440, in borrow\n result = psycopg2.connect(dsn=dsn, connection_factory=PsycoConnection)\n File &quot;/usr/lib64/python2.6/site-packages/psycopg2/init.py&quot;, line 164, in connect\n conn = _connect(dsn, connection_factory=connection_factory, async=async)\nOperationalError: FATAL: role &quot;openerp&quot; does not exist\n\n'>\n", "fault_code": "FATAL: role &quot;openerp&quot; does not exist\n", "type": "server_exception"}}<br />  有遇到这个问题的朋友么?麻烦指导下qq282655008,感谢!


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待