Odoo(以前被称为OpenERP)是一个开源的商业应用套件,包括:客户关系管理、销售管道、项目管理、制造、发票、会计、电子商务和库存等等。Odoo团队创建了31个主要应用程序,超过4500个社区成员开发了广泛的业务需求。
一旦部署了,Odoo的灵活性允许管理员安装任何模块组合,并对其进行配置/定制,以满足从小型商店到企业级公司的业务需求。
本文介绍了如何在使用Git源代码的35分钟内安装和配置Odoo,因此它将很容易升级、维护和定制。
准备工作:
1、完成入门指南。
2、遵循确保您的服务器指南创建标准的用户帐户,加强SSH访问并删除不必要的网络服务;本文将尽可能使用sudo。不要遵循配置防火墙的配置——本文专门针对Odoo的生产服务器进行了说明。
3、通过SSH登录到您的Linode,并使用apt-get包管理器检查更新。
sudo apt-get update && sudo apt-get upgrade
打开相应的防火墙端口
在这种情况下,我们使用的是Odoo的默认端口8069,但这可能是你在配置文件中指定的任何端口。
3sudo ufw allow ssh
sudo ufw allow 8069/tcp
sudo ufw enable
安装数据库和服务器依赖关系
现在,我们将使用apt-get安装PostgreSQL数据库和其他必要的服务器库
1sudo apt-get install subversion git bzr bzrtools python-pip postgresql postgresql-server-dev-9.3 python-all-dev python-dev python-setuptools libxml2-dev libxslt1-dev libevent-dev libsasl2-dev libldap2-dev pkg-config libtiff5-dev libjpeg8-dev libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev liblcms2-utils libwebp-dev tcl8.6-dev tk8.6-dev python-tk libyaml-dev fontconfig
创建Odoo用户和日志目录
1、创建Odoo系统用户:
sudo adduser --system --home=/opt/odoo --group odoo
2、创建日志目录:
sudo mkdir /var/log/odoo
注意:在同一个Linode上运行多个Odoo版本的情况下,您可能希望为每个实例使用不同的用户和目录。
从源代码中安装Odoo服务器文件
1、更改到Odoo目录,在我们的例子中:
cd /opt/odoo/
2、克隆服务器上的Odoo文件
sudo git clonehttps://bandwagonhost.bizodoo/odoo --depth 1 --branch 9.0 --single-branch .
注意:使用Git可以提供很大的灵活性,因为任何时候只要有一个新的升级,您只需拉动该分支,您甚至可以在生产版本旁边安装一个不同的版本;只需更改目标目录和——--branch X.x标记。在执行任何操作之前,请记住对数据库和自定义文件进行全面备份。
创建PostgreSQL的用户
1、切换到postgres用户:
sudo su - postgres
2、但是,如果您正在部署一个生产服务器,您可能需要为数据库用户设置一个强大的密码:
createuser odoo -U postgres -dRSP
3、您将被提示输入密码,保存它,我们稍后将需要它。
注意:在测试或开发环境的场景中,您可以创建一个没有密码的用户,使用createuser odoo-U postgres-drs。
4、按ctrl+d从postgres用户会话退出。
注意:如果您想在相同的Linode上运行多个Odoo实例,请记得检查pghba。根据你的需要改变它。
Odoo应用程序的特定依赖项
使用pip而不是get-get来保证您的安装有正确的版本。我们也将不再使用Ubuntu的打包版本的Wkhtmltopdf和无节点。
安装Python依赖性
使用以下命令安装Python库
sudo pip install -r /opt/odoo/doc/requirements.txt
sudo pip install -r /opt/odoo/requirements.txt
通过node js和npm安装更少的CSS
1、从nodesource下载node js安装脚本:
wget -qO- https://deb.nodesource.com/setup | sudo bash -
2、现在,我们的存储库列表更新了使用apt-get:
sudo apt-get install nodejs
3、是时候安装一个新版本的npm:
sudo npm install -g less less-plugin-clean-css
安装Wkhtmltopdf更新版本
1、切换到/tmp/目录:
cd /tmp/
2、为Odoo服务器下载wkhtmltopdf的推荐版本,目前为0.12.1:
sudo wget http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb
3、使用dpkg安装包:
1sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb
4、为了正常工作,我们需要将二进制文件复制到一个适当的位置:
1sudo cp /usr/local/bin/wkhtmltopdf /usr/bin
2sudo cp /usr/local/bin/wkhtmltoimage /usr/bin
Odoo服务器配置
1、将所包含的配置文件复制到一个更方便的位置,将其名称改为odoo-server.conf:
1sudo cp /opt/odoo/debian/openerp-server.conf /etc/odoo-server.conf
2、接下来,我们需要修改配置文件。完成的文件应该与此类似,这取决于您的部署需求:
file: /etc/odoo-server.conf
[options]
admin_passwd=admin
db_host=False
db_port=False
db_user=odoo
db_password=
addons_path= /opt/odoo/addons
logfile= /var/log/odoo/odoo-server.log
xmlrpc_port=8069
adminpasswd=admin这是允许数据库操作的密码。
dbhost=False,除非您打算连接到不同的数据库服务器地址,否则将保持这一行不变。
dbport=False Odoo使用PostgreSQL缺省端口5432,只有在必要时才进行更改。
dbuser=odoo数据库用户,在本例中我们使用了缺省名称。
dbpassword=前面创建的PostgreSQL用户密码。
addonspath=我们需要修改这一行来读取:addonspath=/opt/odoo/addons。添加< /路径> / /定制/模块。
我们需要包括日志文件的路径,添加一个新行:logfile=/var/log/odoo/odoo-server.log。
我们还可以选择一条新行,指定用于连接的Odoo前端端口:xmlrpcport=8069。如果您打算在同一台服务器上运行多个Odoo实例(或版本),那么这是有意义的。对于正常的安装,你可以跳过这条线,Odoo将默认连接到端口8069。
Odoo启动脚本
下一步是创建一个名为Odoo-server的引导脚本,以获得对Odoo行为的控制,并在服务器启动和关闭时使用它。
file:/etc/init.d/odoo-server
#!/bin/sh
### BEGIN INIT INFO
# Provides: odoo-server
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Odoo ERP
# Description: Odoo is a complete ERP business
solution.
### END INIT INFO
PATH=/bin:/sbin:/usr/bin
# Change the Odoo source files location according your
needs.
DAEMON=/opt/odoo/openerp-server
# Use the name convention of your choice
NAME=odoo-server
DESC=odoo-server
# Specify the user name (Default: odoo).
USER=odoo
# Specify an alternate config file (Default: /etc/odoo-server.conf).
CONFIGFILE="/etc/odoo-server.conf"
# pidfile
PIDFILE=/var/run/$NAME.pid
# Additional options that are passed to the Daemon.
DAEMON_OPTS="-c$CONFIGFILE"
[-x$DAEMON]||exit0
[-f$CONFIGFILE]||exit0
checkpid(){
[-f$PIDFILE]||return1
pid=`cat$PIDFILE`
[-d /proc/$pid]&&return0
return1
}
case"${1}"in
start)
echo-n"Starting${DESC}: "
start-stop-daemon --start --quiet
--pidfile${PIDFILE}\
--chuid${USER}--background --make-pidfile\
--exec${DAEMON}--${DAEMON_OPTS}
echo"${NAME}."
;;
stop)
echo-n"Stopping${DESC}: "
start-stop-daemon --stop --quiet
--pidfile${PIDFILE}\
--oknodo
echo"${NAME}."
;;
restart|force-reload)
echo-n"Restarting${DESC}: "
start-stop-daemon --stop --quiet
--pidfile${PIDFILE}\
--oknodo
sleep 1
start-stop-daemon --start --quiet
--pidfile${PIDFILE}\
--chuid${USER}--background --make-pidfile\
--exec${DAEMON}--${DAEMON_OPTS}
echo"${NAME}."
;;
*)
N=/etc/init.d/${NAME}
echo"Usage:${NAME}{start|stop|restart|force-reload}">&2
exit1
;;
esac
exit0
Odoo文件所有权和权限
1、更改odoo-server文件权限和所有权,因此只有root用户可以写入它,而odoo用户只能够读取和执行它。
1
2sudo chmod 755 /etc/init.d/odoo-server
sudo chown root: /etc/init.d/odoo-server
2、由于odoo用户将运行该应用程序,因此相应地更改其所有权:
sudo chown -R odoo: /opt/odoo/
3、我们也应该将odoo用户设置为日志目录的所有者:
sudo chown odoo:root /var/log/odoo
4、最后,我们应该保护服务器配置文件更改它的所有权和权限,这样就不会有其他非root用户可以访问它:
sudo chown odoo: /etc/odoo-server.conf
sudo chmod 640 /etc/odoo-server.conf
测试服务器
1、现在是检查一切正常工作的时候了,让我们启动Odoo服务器:
1
sudo /etc/init.d/odoo-server start
2、让我们看一下日志文件,以确认没有发生错误:
cat /var/log/odoo/odoo-server.log
3、现在我们可以检查服务器是否也停止了:
sudo /etc/init.d/odoo-server stop
4、输入与第2步中相同的命令:
cat /var/log/odoo/odoo-server.log
在服务器启动和关闭时运行启动脚本
1、如果Odoo服务器日志没有显示任何问题,我们可以继续并让启动脚本启动并停止服务器:
sudo update-rc.d odoo-server defaults
2、重新启动我们的Linode是一个好主意,看看是否一切正常:
sudo shutdown -r now
3、重新启动后,再次验证日志文件:
cat /var/log/odoo/odoo-server.log
测试Odoo前端
1、打开一个新的浏览器窗口,输入您的IP地址,然后在地址栏中输入:8069(表示端口8069)
https://bandwagonhost.bizip:8069
2、屏幕会显示类似这样的:
3、祝贺您,现在您可以创建您的第一个数据库,并开始使用Odoo!