ขั้นที่ 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
ไม่มีความคิดเห็น:
แสดงความคิดเห็น