ขั้นที่ 1 สำหรับ CentOS 5 ที่ลงเสร็จใหม่ จะต้องเพิ่ม repo epel เพื่อโหลดคอมโพเน้นท์ที่ต้องการ
[prompt]# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm [prompt]# rpm -ivh epel-release-5-3.noarch.rpm [prompt]# yum -y update
ขั้นที่ 2 - ติดตั้ง python และ component ที่จำเป็นทั้งหมด
[prompt]# yum install postgresql [prompt]# yum install python-lxml python-psycopg2 pytz.noarch PyXML mx libxslt-python python-imaging pygtk2 python-matplotlib TurboGears libxml2 python-devel graphviz pydot pychart pygtk2 pygtk2-libglade mx [prompt]# wget ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el5/en/x86_64/RPMS.dag/python-reportlab-1.20-1.el5.rf.noarch.rpm [prompt]# rpm -i python-reportlab-1.20-1.el5.rf.noarch.rpm
กรณีของ python-reportlab จะใช้ yum ก็ได้
[prompt]# yum install python-reportlab
ขั้นที่ 3 Download OpenERO
[prompt]# wget http://www.openerp.com/download/stable/source/openerp-server-5.0.9.tar.gz
ขั้นที่ 4 ทดสอบการติดตั้ง component และติดตั้ง Server
[prompt]# tar -xzf openerp-server-5.0.0.tar.gz [prompt]# cd openerp-server-5.0.0/bin [prompt]# python openerp-server.py
ถ้าหาก component ไม่ครบ จะมี error message แสดงชื่อ component ที่ต้องการ เมื่อแก้ไขปัญหาเสร็จแล้ว ขั้นสุดท้ายให้ทำการติดตั้งเซิร์ฟเวอร์
[prompt]# cd .. [prompt]# sudo python setup.py install
ขั้นที่ 5 ติดตั้ง postgresql และ การสร้างฐานข้อมูล
[prompt]# yum install postgresql (optional) [prompt]# chkconfig postgresql on [prompt]# service postgresql start [prompt]# su - postgres สร้าง admin user (root) - ขั้นตอนนี้อาจจะไม่จำเป็น [prompt]# createuser root -sdrP (ป้อนข้อมูล password สำหรับ role "root") สร้าง OpenERP user [prompt]# createuser openerp -dP (ป้อนข้อมูล password สำหรับ role "openerp") สร้างฐานข้อมูล OpenERP [prompt]# createdb -O openerp openerp
[prompt]# vi /var/lib/pgsql/data/pg_hba.conf
แก้ Content ให้เป็นตามด้านล่างนี้ File: /var/lib/pgsql/data/pg_hba.conf
# TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all md5 #local all all ident sameuser # IPv4 local connections: host all all 127.0.0.1/32 md5 #host all all 127.0.0.1/32 ident sameuser # IPv6 local connections: host all all ::1/128 md5 #host all all ::1/128 ident sameuser
# service postgresql restart
ขั้นที่ 6 สร้าง User และ Initialize ฐานข้อมูล แก้ไขไฟล์ /etc/passwd, /etc/shadow และ /etc/group โดยเพิ่มข้อมูลต่อไปนี้
File: /etc/passwd openerp:x:56:56::/var/lib/openerp:/bin/bash File: /etc/shadow openerp:!!:14773:0:99999:7::: File: /etc/group openerp:x:56:
จากนั้น สร้าง home directory ให้ openerp โดย
[prompt]# mkdir /var/lib/openerp [prompt]# mkdir /var/lib/openerp/run [prompt]# mkdir /var/lib/openerp/logs [prompt]# chown -R openerp.openerp /var/lib/openerp
[prompt]# su - openerp [prompt]# openerp-server -s
[prompt]# vi ~openerp/.openerp_serverrc แก้ไขบรรทัดต่อไปนี้ ให้มีค่าเหมือนในตัวอย่าง admin_passwd = [password สำหรับ super admin] db_user = openerp db_password = [password ที่เซ็ตไว้] db_name = openerp pid_file = /var/lib/openerp/run/server.pid logfile = /var/lib/openerp/logs/server.log
ขั้นที่ 7 ติดตั้ง Web Client
[prompt]# wget http://cheeseshop.python.org/packages/source/p/pyparsing/pyparsing-1.5.0.tar.gz [prompt]# easy_install pyparsing-1.5.0.tar.gz [prompt]# easy_install -U Babel [prompt]# easy_install -U Mako [prompt]# easy_install -U CherryPy [prompt]# tar -xzf openerp-web-5.0.9.tar.gz [prompt]# cd openerp-web-5.0.9 [prompt]# sudo python setup.py install
[prompt]# cp /usr/lib/python2.4/site-packages/openerp_web-5.0.11-py2.4.egg/config/openerp-web.cfg .
ขั้นที่ 8 ติดตั้ง service สำหรับ openerp
ใช้ไฟล์ต่อไปนี้ในการสร้าง service
[prompt]# vi /etc/init.d/openerp
#!/bin/sh
#
# chkconfig: 345 65 35
# description: Starts and stops the OpenERP's server and webclient daemons
#
# pidfile: /var/lib/openerp/run/server.pid
# pidfile: /var/lib/openerp/run/client.pid
# config: /var/lib/openerp/.openerp-serverrc
# /var/lib/openerp/client.cfg
SU="/bin/su"
USER=openerp
ERPHOME="/var/lib/openerp"
PIDFILE="${ERPHOME}/run/server.pid"
#SERVEROPTS="--syslog --log-level=debug --pidfile=${PIDFILE}"
SERVEROPTIONS="--log-level=debug" # remove when done debugging
# Source function library.
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 1
fi
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 1
# Check that conf files exist.
[ -f ${CLIENTCFG} ] || exit 6
RETVAL=0
start() {
KIND="Server"
echo -n $"Starting OpenERP $KIND services: "
$SU - ${USER} -c "nohup /usr/bin/openerp-server $SERVEROPTIONS > /dev/null 2>&1 &"
sleep 3
if [ ! -f $PIDFILE -a ! -d /proc/`cat ${PIDFILE}` ] ; then
RETVAL=1
echo_failure
else
RETVAL=0
echo_success
fi
echo
KIND="Web Client"
echo -n $"Starting OpenERP $KIND services: "
for CFG in $ERPHOME/*.cfg
do
daemon --user ${USER} /usr/bin/nohup "/usr/bin/openerp-web -c ${CFG} > /dev/null 2>&1 &"
done
RETVAL2=$?
echo
[ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && touch /var/lock/subsys/openerp || \
RETVAL=1
return $RETVAL
}
stop() {
KIND="Server"
echo -n $"Shutting down OpenERP $KIND services: "
killproc -p ${PIDFILE} openerp-server
RETVAL=$?
echo
KIND="Web Client"
echo -n $"Shutting down OpenERP $KIND services: "
killproc openerp-web
RETVAL2=$?
[ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/openerp
echo ""
return $RETVAL
}
restart() {
stop
start
}
checkstatus()
{
status -p $PIDFILE openerp
RETVAL=$?
status openerp-web
RETVAL2=$?
if [ $RETVAL2 -ne 0 ]; then
return $RETVAL2
fi
if [ $RETVAL -ne 0 ]; then
return $RETVAL
fi
}
# Check that we can write to it... so non-root users stop here
[ -w ${CLIENTCFG} ] || exit 4
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
checkstatus
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 2
esac
exit $?
[prompt]# service openerp start

ไม่มีความคิดเห็น:
แสดงความคิดเห็น