一饱苟、安裝環(huán)境及軟件
服務(wù)器: 阿里云ECS Ubuntu14.04 64位
數(shù)據(jù)庫: Postgresql9.4
反向代理:Nginx
源碼: 10.0社區(qū)版
二、安裝數(shù)據(jù)庫
官方安裝頁面 http://www.postgresql.org/download/linux/ubuntu
1 更新數(shù)據(jù)源
新建文件
/etc/apt/sources.list.d/pgdg.list
文件中添加內(nèi)容
deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main
導(dǎo)入簽名key并更新包列表
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
2 安裝postgresql-9.4
sudo apt-get install postgresql-9.4
3 為PostgreSQL添加并配置odoo用戶
切換到postgres用戶下:
sudo su - postgres
以postgres的身份創(chuàng)建一個新的數(shù)據(jù)庫用戶odoo, Odoo程序?qū)⒁运纳矸菰L問postgresql數(shù)據(jù)庫藻茂,來創(chuàng)建刪除數(shù)據(jù)庫文件
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo
根據(jù)系統(tǒng)提示兩次輸入密碼:
Enter password for new role: Enter it again:
記住這里設(shè)置的密碼,將在odoo的配置文件中用到
最后退出postgres用戶身份:
exit
三壁晒、安裝Nginx
編輯 /etc/apt/sources.list
echo deb http://nginx.org/packages/ubuntu/trusty nginx >> /etc/apt/sources.list
echo deb-src http://nginx.org/packages/ubuntu/trusty nginx >> /etc/apt/sources.list
然后琢融,同樣更新并導(dǎo)入升級Key
wget http://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key
sudo apt-get update
安裝Nginx
apt-get install nginx
四、安裝NodeJS及相關(guān)庫
安裝地址 https://github.com/nodesource/distributions#debinstall
安裝Nodejs6.x
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
安裝Less插件
npm install -g less
npm install -g less-plugin-clean-css
五雁竞、安裝Odoo
1 更新服務(wù)器軟件源并重啟服務(wù)器
sudo apt-get update
sudo apt-get upgrade
sudo shutdown -r now
2 Odoo的依賴包將用pip來管理钦椭,如果未安裝pip的話,可以新安裝最新的pip
sudo wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
3 創(chuàng)建一個系統(tǒng)用戶odoo,用它來運行管理Odoo程序
sudo adduser --system --home=/opt/odoo --group odoo
上述命令中home參數(shù)制定了odoo用戶的根目錄碑诉,我們的程序也將裝在這個目錄下
4 下載Odoo10源碼
這里通過源碼安裝彪腔,如果系統(tǒng)未安裝git,請先安裝好git軟件
sudo apt-get install git
切換到odoo用戶下:
sudo su - odoo -s /bin/bash
使用git從github網(wǎng)站上下載一份10.0分支代碼下來
git clone https://www.github.com/odoo/odoo --branch 10.0 --single-branch .
參數(shù)single-branch后面的空格加點’ .’不能少进栽,這個點表示當前目錄
下載完成后退出odoo用戶:
exit
5 安裝Python運行庫以及Odoo相關(guān)依賴包
odoo源碼目錄下的 requirements.txt 文件里面列出了 odoo10 依賴的所有 Python lib德挣。
因為lxml ldap psycopg2 需要使用gcc進行編譯,所以需要先安裝開發(fā)相關(guān)的庫 libxml2, libxslt, libpq-dev, libldap2-dev, libsasl2-dev
sudo apt-get install -y python-dev libxml2-dev libxml2 libxslt-dev libpq-dev libldap2-dev libsasl2-dev libevent-dev zlib1g-dev
sudo apt-get install python-imaging python-lxml python-ldap python-openid
sudo apt-get update
sudo apt-get upgrade
使用 pip 安裝 odoo-10 依賴的 Python 庫
sudo pip install -r /opt/odoo/requirements.txt
安裝wkhtmltopdf
sudo apt -f install fonts-freefont-ttf fontconfig-config fontconfig libfontconfig1 libxrender1 libfontenc1 libxfont1 x11-common xfonts-encodings xfonts-utils xfonts-base xfonts-75dpi
sudo wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2/wkhtmltox-0.12.2_linux-trusty-amd64.deb
sudo dpkg -i wkhtmltox-0.12.2_linux-trusty-amd64.deb
安裝完成后將可執(zhí)行文件拷貝到usr/bin下:
sudo cp /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
更改所有這為root用戶快毛,并增加可執(zhí)行屬性
sudo chown root:root /usr/bin/wkhtmltopdf
sudo chmod +x /usr/bin/wkhtmltopdf
測試一下看是否成成一個pdf文件到你的根目錄下
wkhtmltopdf www.baidu.com ~/baidu.pdf
安裝中文字體
sudo apt-get install ttf-wqy-zenhei
sudo apt-get install ttf-wqy-microhei
6 配置Odoo程序
odoo默認的配置文件在/opt/odoo/debian/odoo.conf,包括基礎(chǔ)的設(shè)置內(nèi)容格嗅,這里我們將這個文件復(fù)制到etc下
sudo cp /opt/odoo/debian/odoo.conf /etc/odoo-server.conf
更改它的所有權(quán)和許可
sudo chown odoo: /etc/odoo-server.conf
sudo chmod 640 /etc/odoo-server.conf
上述命令讓這個文件被odoo用戶和用戶組擁有,并且只有odoo用戶和root用戶可以讀取
編輯配置文件: vim /etc/odoo-server.conf
找到 db_password = False 將False改成剛才postgresql那里創(chuàng)建數(shù)據(jù)庫用戶odoo時設(shè)置的密碼
找到 addons_path = /usr/lib/python2.7/dist-packages/openerp/oddons 這一行改成
addons_path = /opt/odoo/addons
在文件末尾添加一行 logfile = /var/log/odoo/odoo-server.log 指定odoo日志輸出路徑
;dbfilter = ^%d$ 以域名前綴為默認賬套名稱
保存退出配置文件
創(chuàng)建日志目錄
sudo mkdir /var/log/odoo
sudo chown odoo:root /var/log/odoo
配置啟動腳本
這里有一個他人制作號的腳本文件可以直接下載下來使用,稍作修改
sudo wget http://www.theopensourcerer.com/wp-content/uploads/2014/09/odoo-server
修改過后的內(nèi)容
#!/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: Complete Business Application software
# Description: Odoo is a complete suite of business tools.
### END INIT INFO
PATH=/bin:/sbin:/usr/bin
DAEMON=/opt/odoo/odoo-bin
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 ] || exit 0
[ -f $CONFIGFILE ] || exit 0
checkpid() {
[ -f $PIDFILE ] || return 1
pid=`cat $PIDFILE`
[ -d /proc/$pid ] && return 0
return 1
}
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
exit 1
;;
esac
exit 0
注意:DAEMON 修改成 /opt/odoo/odoo-bin
退出保存唠帝,然后把他改成可執(zhí)行文件屯掖,由root用戶擁有:
sudo chown root: /etc/init.d/odoo-server
sudo chmod 755 /etc/init.d/odoo-server
將odoo-bin的文件權(quán)限分配給 odoo用戶:
sudo chown odoo: /opt/odoo/odoo-bin
sudo chmod 755 /opt/odoo/odoo-bin
啟動Odoo服務(wù):
sudo /etc/init.d/odoo-server start
或
sudo service odoo-server start
停止Odoo服務(wù):
sudo /etc/init.d/odoo-server stop
或
sudo service odoo-server stop
重啟Odoo服務(wù):
sudo /etc/init.d/odoo-server restart
或
sudo service odoo-server restart
將Odoo設(shè)為開機自啟動
sudo update-rc.d odoo-server defaults