รูปภาพแจ้งข่าว ทางเว็บบอร์ด openerpthailand.org ได้เปลี่ยนระบบเว็บบอร์ด ใหม่เป็น phpBB 3.1
  1. บุคคลทั่วไป จะไม่สามารถเข้าอ่านกระทู้บางบอร์ด แนะนำให้ท่าน สมัครสมาชิกคลิกตามลิงค์นี้
  2. สมาชิกใหม่ ถ้ายังไม่ได้แนะนำตัวจะไม่สามารถ ตั้งกระทู้ และ ดาวน์โหลด ไฟล์จากเว็บบอร์ดได้ ท่านจำเป็นต้องแนะนำตัวที่หมวดนี้
  3. ถ้ามีปัญหาการใช้งาน หรือ ข้อเสนอแนะใดๆ แนะนำได้ที่นี่
  4. ปุ่มรูปหัวใจใต้โพส แต่ละโพส ท่านสามารถกดเพื่อสื่อถึงคนโพสนั้นถูกใจท่าน
  5. ห้ามลง E-mail, เบอร์โทรส่วนตัว, Line id หรือข้อมูลส่วนตัวอื่นๆ เพื่อป้องกันการแอบอ้างและโฆษณาแฝง โดยสามารถติดต่อสมาชิกท่านอื่นผ่านระบบ PM ของบอร์ด
  6. ท่านสามารถปิดการแจ้งนี้ได้ ที่มุมขวาของกล่องข้อความนี้

บุคคลทั่วไปสามาเข้าสู่ระบบ ด้วย Account ของ FaceBook ได้แล้ว คลิกที่นี่ได้เลย

ติดตั้ง OpenERP บน CentOS 5

บอกเพื่อนบ้านเป็นหมวด ที่ไว้รวบรวม กระทู้ การถามตอบ จากเว็บไซต์ต่างๆ เกี่ยวกับการใช้งาน ERP OpenERP SAP Oracle และ ระบบ ERP แบบไทยๆ
openerp_docman
โพสต์: 393
ลงทะเบียนเมื่อ: เสาร์ 06 ต.ค. 2012 10:11 am

ติดตั้ง OpenERP บน CentOS 5

โพสต์โดย openerp_docman » อังคาร 06 พ.ย. 2012 11:19 am

CentOS - เป็นลีนุกซ์ที่พัฒนามาจากต้นฉบับ RedHat Enterprise Linux (RHEL) โดยที่ CentOS ได้นำเอาซอร์สโค้ดต้นฉบับของ RedHat มาทำการคอมไพล์ใหม่โดยการพัฒนายังเน้นพัฒนาเป็นซอฟต์แวร์ Open Source ที่ถือลิขสิทธิ์แบบ GNU General Public License ในปัจจุบัน CentOS Linux ถูกนำมาใช้ในการทำ Web Hosting กันอย่างกว้างขวางเนื่องจากเป็นระบบปฏิบัติการที่มีต้นแบบจาก RedHat ที่มีความแข็งแกร่งสูง (ปัจจุบันเน้นพัฒนาในเชิงการค้า) การติดตั้งแพ็กเกจย่อยภายในสามารถใช้ได้ทั้ง RPM, TAR, APT หรือใช้คำสั่ง YUM ในการอัปเดทซอฟต์แวร์แบบอัตโนมัติ

การติดตั้ง OpenERP บน CentOS

ขั้นที่ 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


จากนั้น แก้ไขวิธี authenticate ของ postgresql ให้เป็น MD5 โดย

โค้ด: เลือกทั้งหมด

[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


เสร็จแล้ว restart postgresql

โค้ด: เลือกทั้งหมด

# 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:
ข้อควรระวังคือ ถ้าหาก uid หรือ gid หมายเลข 56 ถูกใช้งานไปแ้ล้ว จะต้องเปลี่ยนไปใช้ uid/gid ที่ยังว่างอยู่
จากนั้น สร้าง 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

จากนั้น populate configuration file โดย

โค้ด: เลือกทั้งหมด

[prompt]# su - openerp
[prompt]# openerp-server -s

จากนั้น กด Ctrl-C เพื่อออกจาก server จะได้ไฟล์ config ขึ้นมาใน home directory ของ openerp ให้ทำการแก้ไขโดย

โค้ด: เลือกทั้งหมด

[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

จากนั้น เตรียม config file สำหรับ web client โดย copy ตัวอย่างจาก package

โค้ด: เลือกทั้งหมด

[prompt]# cp /usr/lib/python2.4/site-packages/openerp_web-5.0.11-py2.4.egg/config/openerp-web.cfg .

แก้ไข config ของ web-client ตามต้องการ แล้วเซฟ

ขั้นที่ 8 ติดตั้ง service สำหรับ openerp
ใช้ไฟล์ต่อไปนี้ในการสร้าง service

โค้ด: เลือกทั้งหมด

[prompt]# vi /etc/init.d/openerp

File: /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 $?

เสร็จแล้วทำการ start service โดย

โค้ด: เลือกทั้งหมด

[prompt]# service openerp start


หมายเหตุ: การรันครั้งแรกอาจจะมีข้อความว่าว่า cat: /var/lib/openerp/run/server.pid: No such file or directory ขึ้น เนื่องจาก server จะยังไม่ start ทันที แต่จะต้องทำการ initialize ฐานข้อมูลก่อน ไม่ต้องทำอะไรเพิ่มเติมครับ ทิ้งไว้แบบนั้น ครั้งต่อๆ ไปจะไม่มีข้อความนี้ขึ้น

ที่มา : barameu.blogspot.com

กระทู้นี้มีโพสต์ทั้งหมด 2 โพสต์รอการเปิดอ่านจากคุณ

คุณจำเป็นต้องเป็น สมาชิกและล็อคอินเข้าสู่ระบบ ถึงจะสามารถอ่านโพสต์ที่เหลือและตอบกระทู้นี้ได้.
(คลิกปุ่มด้านล่างเพื่อ สมัครสมาชิก หรือ เข้าสู่ระบบถ้าเป็นสมาชิกอยู่แล้ว หรือ เข้าสู่ระบบด้วย Account ของ Facebook ก็ได้นะ


สมัครสมาชิก เข้าสู่ระบบ
 
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 63 และ บุคคลทั่วไป 0 ท่าน