1、更新Ubuntu服务器软件源
2 | sudo apt-get dist-upgrade -y |
|
2、新建系统用户用于运行Odoo程序
2 | sudo adduser --system --home=/home/odoo --group odoo |
|
系统用户不能用于登录并且没有shell,但当需要以它的身份进行特定操作时,可以用su命令切换用户:
1 | sudo su - odoo -s /bin/ bash |
|
命令运行后会自动从当前目录切换到odoo用户的home目录/home/odoo。操作完毕后输入exit命令,离开odoo用户的shell,回到登录所用的用户。
3、下载最新版Odoo10源码
有两种方法
方法1,从官网下载源码:
3 | tar -zxvf odoo_10.0.latest. tar .gz |
4 | mv odoo-10.0-20161115 odoo10 |
5 | sudo chown -R odoo: odoo10 |
6 | sudo chmod -R 744 odoo10 |
|
方法2,用git从github上拉取:
1 | sudo apt-get install -y git |
2 | sudo su - odoo -s /bin/ bash |
5 | sudo chmod -R 744 /home/odoo/odoo10 |
|
方法2的代码更新比较方便,只需执行下面的命令
1 | sudo su - odoo -s /bin/ bash |
|
git pull #拉取最新代码
4、安装和配置数据库服务器PostgreSQL
数据库默认用户名:postgres,没有密码
1 | sudo apt-get install -y postgresql |
|
2 | PostgreSQL
sudo -u postgres createuser --createdb --no-createrole --no-superuser --pwprompt odoo
|
5、安装Python运行库和wkhtmltopdf
odoo源码目录下的 requirements.txt 文件里面列出了 odoo10 依赖的所有 Python lib。
因为lxml ldap psycopg2 需要使用gcc进行编译,所以需要先安装开发相关的库 libxml2, libxslt, libpq-dev, libldap2-dev, libsasl2-dev。
下载安装wkhtmltopdf(Odoo使用wkhtmltopdf来输出pdf):
2 | sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb |
4 | sudo cp /usr/ local /bin/wkhtmltopdf /usr/bin/wkhtmltopdf |
5 | sudo chown root:root /usr/bin/wkhtmltopdf |
6 | sudo chmod +x /usr/bin/wkhtmltopdf |
7 | sudo apt-get install -y ttf-wqy-zenhei ttf-wqy-microhei |
8 | wkhtmltopdf www.baidu.com baidu.pdf |
|
6、安装nodejs、node-less
1 | sudo apt-get install -y nodejs node- less npm |
2 | NPM less sudo npm install -g less -plugin-clean-css |
|
7、配置Odoo的启动文件
用Ubuntu自带的nano编辑器在/etc/odoo/目录下创建odoo.conf文件。
1 | mkdir /etc/odoo sudo nano /etc/odoo/odoo.conf |
|
复制下面的内容到nano编辑器内
1 | [options] ; This is the password that allows database operations: ; |
7 | addons_path = / home / odoo / odoo10 / odoo / addons |
|
注:用git下载的odoo源码addons_path的参数需改成:
1 | addons_path = /home/odoo/odoo10/addons |
|
粘贴好后,按Ctrl+O,然后回车覆盖保存,然后Ctrl+X退出nano。
修改配置文件(/etc/odoo/odoo.conf)的权限
1 | sudo chown odoo: /etc/odoo/odoo.conf |
2 | sudo chmod 640 /etc/odoo/odoo.conf |
|
复制启动文件到/usr/bin/目录下,并尝试启动Odoo服务:
1 | cp /home/odoo/odoo10/setup/odoo /usr/bin/odoo |
2 | sudo chown odoo: /usr/bin/odoo |
3 | sudo chmod 755 /usr/bin/odoo |
4 | cd /home/odoo/odoo10 python setup.py install |
5 | sudo su - odoo -s /bin/ bash |
6 | /usr/bin/odoo -c /etc/odoo/odoo.conf |
|
Odoo初始界面
如果一切正常,按 Ctrl+C停止odoo服务,然后用exit命令离开odoo用户,回到你自己登陆的shell。如果报错,则需要查看界面上显示的错误提示。
8、配置启动脚本
用Ubuntu自带的nano编辑器在/etc/init.d/目录下创建odoo启动脚本文件,然后把它改成可执行文件,赋给root用户。
sudo nano /etc/init.d/odoo
复制下面的内容到nano编辑器内
14 | . /lib/lsb/init-functions |
16 | PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/ local /bin |
20 | CONFIG=/etc/odoo/odoo.conf |
21 | LOGFILE=/var/log/odoo/odoo-server.log |
22 | PIDFILE=/var/run/${NAME}.pid |
26 | test -x $DAEMON || exit 0 |
30 | start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $USER:$USER --background -- make -pidfile -- exec $DAEMON -- --config $CONFIG --logfile $LOGFILE |
34 | start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo --retry 3 |
39 | start-stop-daemon --status --quiet --pidfile $PIDFILE |
46 | echo -n "Starting $DESC: " |
51 | echo -n "Stopping $DESC: " |
56 | echo -n "Restarting $DESC: " |
63 | echo -n "Status of $DESC: " |
64 | _status && echo "running" || echo "stopped" |
68 | echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 |
|
粘贴好后,按Ctrl+O,然后回车覆盖保存,然后Ctrl+X退出nano。
接下来修改odoo文件的权限。
1 | sudo chown root: /etc/init.d/odoo |
2 | sudo chmod 755 /etc/init.d/odoo |
|
增加配置文件的参数,修改/etc/odoo/odoo.conf文件
1 | sudo nano /etc/odoo/odoo.conf |
|
复制下面的内容到odoo.conf文件内
1 | data_dir = /var/lib/odoo log_level = info logfile = /var/log/odoo/odoo-server.log logrotate = True |
|
|
|
data_dir:附件的保存位置
logfile:日志文件名,比如opt/odoo-server.log。如果不设置,则默认为stdout,即输出到控制台;
logrotate:True/False。如果设置True,每天创建一个文件,并且保存30天的日志文件;
log_db:Ture/False。如果设置为True,日志会写入数据库中的“ir_logging”表中;
log_level:日志级别,可以为列表中的任意一项 ['debug_rpc_answer', 'debug_rpc', 'debug', 'debug_sql', 'info', 'warn', 'error', 'critical']。Odoo设置此日志级别选项的意义在于因为这些级别值被映射到了一个预先定义好的"module:log_level"键值对集合,即使这个选项没有被设置,Odoo则会使用预先定义的设置作为默认设置。具体内容参见下面的日志实现章节。
粘贴好后,按Ctrl+O,然后回车覆盖保存,然后Ctrl+X退出nano。
配置文件里指定了日志文件和附件的存储位置,因此要创建这个目录,同时还得让它能被odoo用户读写:
1 | sudo mkdir /var/lib/odoo |
2 | sudo chown odoo: /var/lib/odoo |
3 | sudo chmod 744 /var/lib/odoo |
4 | sudo mkdir /var/log/odoo |
5 | sudo chown odoo:root /var/log/odoo |
|
启动odoo服务
1 | sudo /etc/init.d/odoo start |
|
查看odoo的日志判断是否启动成功
1 | less /var/log/odoo/odoo-server.log |
|
要退出less命令的查看界面,只需按一下q键。如果启动过程中出现问题,可以依据日志文件的内容查找原因。
检查odoo服务器是否可以被正常停止:
1 | sudo /etc/init.d/odoo stop |
|
9、将Odoo设为开机自启动
让启动脚本随着Ubuntu服务器的开、关机而自动启动、关闭Odoo服务。
1 | sudo update-rc.d odoo defaults |
|
现在就可以重启你的服务器,当你再次登录服务器,Odoo应该已经在运行了。输入以下命令查看Odoo是否已在运行。