Friday, September 30, 2011

cPanel Newbie Guide – cPanel Server Only

เป็นข้อมูลที่เก็บตกมาจาก RackShack Forums
บทความนี้จะเขียนเป็นบันทึกหลังจากการออก Server จาก ev1servers.net ครับ
หลังจากที่ได้ Server มาแล้ว สิ่งแรกที่ควรทำคือ
Request IP Address เพราะ RS จะมี IP ให้เครื่องละ 1 IP เป็นพื้นฐาน และแถมฟรีอีก 7 IPs ซึ่งควรรีบขอมาทันที เพื่อทำ NameServer
หลังจากที่ได้ IP มาแล้ว ก็จัดการชี้ NameServer มาที่เครื่องเราได้เลย
Login – WHM

  • Secure SSL https://sitename.com:2087

  • Regular http://sitename.com:2086 and http://yourdomain.com/whm Login – Cpanel

  • Secure SSL https://sitename.com:2083

  • Regular http://sitename.com:2082 and http://yourdomain.com/cpanel Login – Webmail

  • Secure SSL https://domain.com:2096

  • Regular http://domain.com:2095 and http://yourdomain.com/webmail เราสามารถแก้ไข บังคับให้ User เรียก /whm, /cpanel, /webmail แล้ววิ่งเข้าทาง Secure port ได้เลย โดยตั้งใน WHM
    First off is updates with Cpanel:
    ไม่ควรใช้งาน cPanel แบบ Edge ถ้ายังไม่เซียน ค่าเริ่มต้นของ cPanel ที่มาจาก RS จะเป็น Release จะใช้ไปเลยก็ได้ หรือจะ Update ไปใช้ Stable จะดีที่สุด
    ทั้งนี้ หลังจากได้มา ควร Setup NameServer หรือค่าต่างๆ ให้เรียบร้อยก่อน โดยทำได้ที่
    Server Setup/Change Update Preferences:
    และเลือกใช้งาน cPanel ได้ที่
    Cpanel/WHM Updates: Manual Updates Only (STABLE tree)
    แนะนำให้เลือกเป็น Manual Update เพราะเราจะได้เห็นทุกอย่างที่เกิดขึ้นตอน Update ถ้ามี Error หรืออื่นๆ เกิดขึ้น จะได้แก้ไขได้ทันการ
    สามารถดู Last Update ได้ที่ http://layer2.cpanel.net/
    หลังจาก Setup Server เสร็จแล้ว ควร Update cPanel ทันที เพราะจะมี Software หลายๆ ตัวที่ถูก Update ด้วย จะช่วยแก้ปัญหาเรื่อง Security ได้พอสมควร
    Cpanel and the kernel – use up2date
    cPanel สามารถ Update Software ต่างๆ ให้เราได้ แต่จะไม่ Update Kernel ให้เรา เราต้องจัดการ Up Kernel เอง
    มีคำเตือนจากคนที่เคยพบปัญหาว่า อย่า Upgrade Perl ด้วย cPanel เพราะจะทำให้ cPanel มีปัญหาได้
    กรุณาตรวจสอบข้อมูลการใช้งาน Up2date ที่ RS Forums
    ต้องทำ rhn_register ก่อน up2date จึงจะสามารถใช้งานได้
    สามารถ register กับ Red Hat Network ได้ฟรี สั่ง rhn_register ได้ที่ /usr/sbin/rhn_register แล้วจึงทำ up2date
    Tweak Settings:
    จัดการเปิด/ปิดบริการหลายๆ จุดได้ที่นี่
    อะไรที่ควรเปิดบ้าง

  • Webalizer Stats

  • Awstats Stats (Very nice stats program – recommended. (แต่เราไม่ได้ใช้)

  • Spamassassin

  • Disk Space Usage Warnings

  • The number of times users are allowed to check their mail using pop3 per hour: (60)

  • The maximum each domain can send out per hour (0 is unlimited): (250) – This is SMTP only!

  • Email users when they have reached 80% of their bandwidth <="" b="">
    <="" b="">

  • <="" b=""> ควรเปิด phpSUEXEC เพื่อไม่ให้มีการ Run Scripts ที่เป็น nobody จะสามารถช่วยเรื่อง Security ได้พอสมควรทีเดียว สามารถเปิดได้ในเมนู Enable/Disable SuExec แล้ว Recompile Apache อีกครั้ง

  • <="" b="">
  • ปิด formmail ใน Tweak Settings ด้วย เพราะเป็นจุดที่ถูก Spam บ่อยสุด แล้วยังใช้วิธี chmod 000 ผ่าน ssh ก็ได้

  • Keep log files at the end of the month ค่าตั้งต้นจะเป็น Off ให้ On Backups
    กรณีที่มี HD สองตัว ควรสั่ง Backup ด้วย โดยทำการ Format & mount HD ตัวที่สอง ให้ใช้ชื่อ partition ว่า Backup แล้วจึง Set Backup อีกที
    ตั้งค่าตามนี้ได้เลย

  • Backup Status: Enabled

  • Backup Interval (Note: Selecting Daily Backup with give you monthly and weekly as well, Selecting Weekly backup will give you monthly as well.) Daily or weekly – up to you

  • Days to run backup (explanitory)

  • Remount/Unmount backup drive (requires a seperate drive/coda/nfs mount) – Disabled

  • Bail out if the backup drive cannot be mounted (recommended if you have selected the above option) – Enabled

  • Incremental backup (only backup what has changed. (**No Compression**) – Disabled

  • Backup Accounts – Enabled

  • Backup Config Files (not needed to restore specific accounts) – Enabled

  • Sql Databases (at least per accounts is needed to use the restore feature) – Per account

  • Backup Raw Access Logs – Enabled

  • Backup Destination (this should be a dir/nfs/coda mount with at least twice the space of all your /home* partitions. Setting this to /home is a VERY BAD IDEA.): – /backup
    (Note: you need a second hard drive and should have it set to /backup in your fstab file)[/list] Service Status
    บอกสถานะของระบบและ Service ต่างๆ ลูกค้าสามารถมองเห็นได้ ผ่าน cPanel
    Green = Good | Yellow = Warning | Red = Trouble
    Firewall
    ผมใช้ APF อยู่ กรุณาอ่านเรื่องวิธีการติดตั้ง APF Firewall ในบทต่อไป
    Logs
    ควรตรวจสอบ log files ต่างๆ เป็นประจำ ถึงแม้จะใช้ logwatch ทำหน้าที่ตรวจสอบ/ส่งเมล์ให้ผู้ดูแลระบบทุกวันก็ตาม สามารถตรวจสอบ logs ได้ตามนี้ครับ

  • Exim: – /var/log/exim_mainlog -/var/log/maillog -/var/log/exim_paniclog

  • Apache: -Error Log: /usr/local/apache/logs/error_log (404 not found errors, etc)

  • Access Log: /usr/local/apache/logs/access_log

  • Site Logs: /usr/local/apache/domlogs/sitename.com

  • Logins: /var/log/secure /var/log/logins_log

  • Messages: /var/log/messages

  • Cpanel: /usr/local/cpanel/logs/access_log นอกจากนี้ก็จะมี logs ของแต่ละ Users ด้วย อยู่ใน home ของเค้าเอง
    Cpanel Manual Backup & Update
    กรณีที่ไม่สามารถทำ Backup หรือ Update ผ่าน WHM ได้ จะมี Scripts คำสั่งอยู่ที่ /scripts
    โดยใช้คำสั่ง
    $ /scripts/cpbackup
    $ /scripts/upcp

    Apache Config Test in SSH สั่งทดสอบ Apache
    /usr/local/apache/bin/apachectl configtest
    ไฟล์ httpd.conf ของ Apache อยู่ที่
    /usr/local/apache/conf/httpd.conf
    Manual Stop – Start of services in SSH: (start | stop | restart)

  • service httpd

  • service exim

  • service proftpd

  • service named

  • service mysql

  • /etc/rc.d/init.d/cpanel

  • /etc/init.d/apf

  • /etc/init.d/xinetd

  • /etc/xinetd.d/sshd[/list]

  • การลงโปรแกรม หรือ ติดตั้ง Webmin

    เมื่อเราได้ VPS มาแล้ว ถ้าผู้ให้บริการยังไม่มี Control Panel อะไรให้เราเลย ขั้นตอนต่อไปก็คือการลงโปรแกรมต่างๆรวมทั้ง Control Panel ครับ ซึ่งก่อนที่จะลงโปรแกรมได้นั้น เราต้องเข้า SSH (Secure Shell) ของ VPS ให้ได้ก่อนครับ เนื่องจากเมื่อเราเข้า SSH เรียบร้อยแล้ว คุณจะสามารถจัดการ VPS ของคุณได้ทุกอย่างจากตรงนั้นเลย
    สำหรับ Webmin นั้น ถือว่าเป็น Control Panel ที่ตัวเล็ก ลงง่าย ไม่กระทบกับระบบอื่นๆ ถ้าไม่พอใจก็สามารถเอาออกได้โดยเว็บเรายังคงทำงานต่อได้เหมือนเดิม ดังนั้น ณ เวลานี้ ผมจึงแนะนำให้ใช้ Webmin เป็น Control Panel สำหรับ VPS ของคุณ จะเหมาะสมที่สุดครับ สำหรับขั้นตอนต่อไปนี้ จะเป็นขั้นตอนสำหรับ VPS ที่ใช้ CentOS เท่านั้นนะครับ ซึ่งผมเคยบอกไว้แล้วว่าเป็น OS ที่เหมาะสำหรับ VPS ที่สุดครับ
    ดาวน์โหลดโปรแกรม Putty
    กรณีที่คุณใช้ Windows คุณควรจะไปหาโหลดโปรแกรม Putty มาครับ เนื่องจากเป็นโปรแกรมที่ใช้เข้า SSH ไปยัง Server ได้ง่ายที่สุดโดยที่ไม่ต้องติดตั้งโปรแกรม คลิกที่นี่เพื่อดาวน์โหลดได้เลย
    เริ่มโปรแกรม Putty
    เมื่อโหลดมาแล้ว ให้ดับเบิ้ลคลิกที่ไฟล์ putty.exe เพื่อเริ่มโปรแกรม คุณจะพบกับหน้าจอดังนี้ครับ
    หน้าจอโปรแกรม Putty
    ในช่อง Host Name (or IP Address) ให้กรอกหมายเลข IP ของเครื่อง VPS ของคุณลงไป แล้วกดปุ่ม Enter บนคีย์บอร์ด รอสักครู่ ถ้าคุณกรอกถูกต้อง จะปรากฎหน้าจอดังนี้ครับ
    หน้าจอล็อกอิน
    หน้าจอนี้ เป็นหน้าจอสำหรับล็อกอินเข้าระบบครับ ให้กรอกชื่อผู้ใช้ของคุณ ซึ่งปกติจะเป็น root แล้วก็กดปุ่ม Enter บนคีย์บอร์ดครับ
    ใส่รหัสผ่าน
    เมื่อใส่ชื่อผู้ใช้แล้ว มันก็จะถามรหัสผ่านต่อ ให้พิมพ์รหัสผ่านแล้วก็กดปุ่ม Enter บนคีย์บอร์ดอีกครั้ง ถ้าพิมพ์ถูกจะขึ้นพรอมพ์ดังรูปครับ
    เข้าระบบเรียบร้อย
    ข้อความที่เห็นอาจจะไม่เหมือนกันนะครับ เนื่องจากขึ้นอยู่กับชื่อเครื่อง เวลา และที่อยู่ที่เราใช้คอมพิวเตอร์ แต่โดยรวมคือ จะมีเครื่องหมาย # ตามด้วยเคอร์เซอร์ คล้ายกับหน้าจอที่เราเห็นในหนังเก่าๆเวลาที่เขาเจาะระบบกันน่ะครับ
    ณ ที่นี่ คุณสามารถจัดการ VPS ของคุณได้ทุกอย่าง จะลงโปรแกรมอะไรก็ทำได้ผ่านตรงนี้ครับ แต่เนื่องจากว่ามันใช้งานยาก ดังนั้นเราจึงควรจะลง Control Panel ดีกว่าที่จะมาจัดการ VPS ผ่านตรงนี้ครับ
    เริ่มติดตั้ง Webmin
    เมื่อเข้า SSH ได้แล้ว เราจะมาติดตั้ง Webmin กันครับ ให้คุณ copy ข้อความสีเขียวด้านล่างนี้เอาไว้ให้ครบนะครับ
    # กำหนด name server ไปยัง opendns
    echo "nameserver 208.67.222.222" > /etc/resolv.conf
    echo "nameserver 208.67.220.220" >> /etc/resolv.conf

    # ปิด selinux
    setenforce 0
    sed 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config > /etc/selinux/config-new
    /bin/cp -f /etc/selinux/config-new /etc/selinux/config

    # สร้างไฟล์ webmin.repo สำหรับ install webmin
    echo "[Webmin]" > /etc/yum.repos.d/webmin.repo
    echo "name=Webmin Distribution Neutral" >> /etc/yum.repos.d/webmin.repo
    echo "baseurl=http://download.webmin.com/download/yum" >> /etc/yum.repos.d/webmin.repo
    echo "enabled=1" >> /etc/yum.repos.d/webmin.repo

    # import key สำหรับ webmin
    rpm --import http://www.webmin.com/jcameron-key.asc

    # install โปรแกรมต่างๆ รวมทั้ง webmin
    yum -y install bind ntp httpd mysql mysql-devel mysql-server iptables sendmail php php-bcmath php-cli php-common php-devel php-gd php-imap php-mbstring php-mcrypt php-mhash php-mysql php-odbc php-pdo php-pear php-snmp php-soap php-tidy php-xml php-xmlrpc webmin perl-libwww-perl perl-Net-SSLeay libxml2 libxml2-devel perl

    เมื่อ copy เสร็จแล้ว ก็ให้สลับไปที่หน้าโปรแกรม Putty แล้วคลิกขวาเพื่อ Paste ข้อความลงไปเลยครับ แล้วก็กด Enter ที่คีย์บอร์ดอีกหนึ่งครั้ง VPS ของคุณจะทำงานอยู่สักพัก ระหว่างนี้มันจะเช็คเวอร์ชั่นของโปรแกรมทั้งหลายที่จะลง แล้วก็ทำการดาวน์โหลดมาลง ดังนั้นอาจจะนานนิดนึง รอจนมันทำงานเสร็จ มันจะขึ้นพรอมท์ที่มีเครื่องหมาย # อีกครั้ง ดังรูปครับ
    ลงเสร็จแล้ว
    ถ้าเห็นข้อความว่า Complete! ก็แสดงว่าลงสำเร็จครับ
    หมายเหตุ ถ้าเห็นข้อความอย่างอื่น เช่น Error Downloading Packages ก็แสดงว่าไม่สำเร็จ ให้ลงโปรแกรมใหม่โดย Copy ข้อความแล้วมา Paste ลงไปอีกครั้งครับ (อย่าลืมกด Enter ทิ้งท้ายนะครับ เดี๋ยวมันไม่ทำงาน)
    ตั้งค่าโปรแกรมต่างๆให้เรียบร้อย
    เนื่องจากโปรแกรมต่างๆ เราต้องจัดการให้มันทำงานอัตโนมัติทุกครั้งที่มีการ restart เครื่อง ดังนั้นเราจึงต้อง copy ข้อความสีเขียวด้านล่าง (อีกแล้ว)
    # ตั้งเวลาเครื่องให้ถูกต้อง
    ntpdate time.nist.gov

    # ปิด service ที่ไม่จำเป็น
    service iptables stop
    service ip6tables stop
    service bluetooth stop
    chkconfig iptables off
    chkconfig ip6tables off
    chkconfig bluetooth off

    # เปิด service ที่จำเป็น
    service mysqld restart
    service httpd restart
    service named restart
    service ntpd restart
    service sendmail restart
    chkconfig mysqld on
    chkconfig httpd on
    chkconfig named on
    chkconfig ntpd on
    chkconfig sendmail on

    เสร็จแล้วก็สลับหน้าจอมาที่ Putty แล้วก็คลิกขวา เพื่อวางคำสั่งเหล่านี้ แล้วกดปุ่ม Enter บนคีย์บอร์ดอีกที รอแป๊บเดียวก็จะขึ้นพรอมต์ดังรูป
    ตั้งค่าเรียบร้อย
    เท่านี้ก็เสร็จสิ้นการตั้งค่าโปรแกรมต่างๆแล้วครับ
    ลองเข้า Webmin
    เมื่อทุกอย่างพร้อม ก็ให้เปิด Browser เช่น Internet Explorer หรือ Firefox ของคุณขึ้นมา แล้วพิมพ์ address ว่า https://หมายเลข IP ของเครื่องคุณ:10000 แล้วก็กด Enter ครับ เช่นเครื่องคุณมี IP เป็น 192.168.1.102 ก็ให้เข้าไปที่ https://192.168.1.102:10000
    ถ้าพบว่า Browser มีการเตือนเรื่อง Certificate ดังรูป ก็ให้เลือก Continue to this website นะครับ
    หน้าจอเตือน Certificate
    เมื่อกดข้ามเรื่องการเช็ค Certificate แล้ว จะพบกับหน้าจอโปรแกรม Webmin ดังรูปครับ
    หน้าจอโปรแกรม Webmin
    เรียบร้อยแล้ว
    ถ้าเห็นอย่างนี้ก็ดีใจด้วยครับ เพราะคุณได้ผ่านขั้นตอนที่น่ากลัวสำหรับคนทั่วๆไปได้แล้ว นั่นคือการลง Control Panel หลังจากนี้ก็ไม่มีอะไรยากแล้วครับ เนื่องจากสามารถทำผ่านหน้าเว็บได้หมด ซึ่งผมจะมาแนะนำในตอนต่อๆไปครับ

    ใช้ได้เลยไม่ต้องคอนฟิกไรสักอย่างอ่ะคับ

    ลง แล้วมันเป็นแบบนี้ครับทำไงดี ใช้ Centos 5.2 ครับ ลังเล
    [root@localhost tmp]# rpm -ivh webmin-1.480-1.noarch.rpm
    warning: webmin-1.480-1.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 11f63c51
    Preparing...                ########################################### [100%]
    Operating system is CentOS Linux
    Port 10000 is already in use
    error: %pre(webmin-1.480-1.noarch) scriptlet failed, exit status 2
    error:   install: %pre scriptlet failed (2), skipping webmin-1.480-1


    Step by Step Install Webmin CentOS-5.3 using yum localinstall

    [root@centos53 ~]# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.480-1.noarch.rpm

    --09:27:38--  http://prdownloads.sourceforge.net/webadmin/webmin-1.480-1.noarch.rpm
    Resolving prdownloads.sourceforge.net... 216.34.181.59
    Connecting to prdownloads.sourceforge.net|216.34.181.59|:80... connected.
    HTTP request sent, awaiting response... 302 Found
    Location: http://biznetnetworks.dl.sourceforge.net/project/webadmin/webmin/1.480/webmin-1.480-1.noarch.rpm [following]
    --09:27:39--  http://biznetnetworks.dl.sourceforge.net/project/webadmin/webmin/1.480/webmin-1.480-1.noarch.rpm
    Resolving biznetnetworks.dl.sourceforge.net... 203.142.84.220
    Connecting to biznetnetworks.dl.sourceforge.net|203.142.84.220|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 15544781 (15M) [application/octet-stream]
    Saving to: `webmin-1.480-1.noarch.rpm'

    100%[=======================================>] 15,544,781   346K/s   in 49s

    09:28:29 (308 KB/s) - `webmin-1.480-1.noarch.rpm.1' saved [15544781/15544781]

    [root@centos53 ~]#
    [root@centos53 ~]# rpm --import http://www.webmin.com/jcameron-key.asc
    [root@centos53 ~]# yum -y localinstall webmin-1.480-1.noarch.rpm
    Loaded plugins: fastestmirror
    Setting up Local Package Process
    Examining webmin-1.480-1.noarch.rpm: webmin-1.480-1.noarch
    Marking webmin-1.480-1.noarch.rpm to be installed
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package webmin.noarch 0:1.480-1 set to be updated
    --> Finished Dependency Resolution

    Dependencies Resolved

    ================================================================================
     Package      Arch         Version        Repository                       Size
    ================================================================================
    Installing:
     webmin       noarch       1.480-1        webmin-1.480-1.noarch.rpm        15 M

    Transaction Summary
    ================================================================================
    Install      1 Package(s)
    Update       0 Package(s)
    Remove       0 Package(s)

    Total download size: 15 M
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Operating system is CentOS Linux
      Installing     : webmin                                            [1/1]
    Webmin install complete. You can now login to https://centos53.talsumhosp.net:10000/
    as root with your root password.

    Installed: webmin.noarch 0:1.480-1
    Complete!
    [root@centos53 ~]#
    อันนี้ของผมแบบลวก ๆคับ

    ใช้ได้เลยไม่ต้องคอนฟิกไรสักอย่างอ่ะคับ

    มาติดตั้ง webmin ใน centos 5.xx กัน

    มาเริ่มติดตั้งกันก่อนเลย

    #yum -y install perl-Net-SSLeay  ติดตั้ง ส่วนประกอบที่ webmin ต้องการกันก่อนเลย

    ต่อไปก็ cd เข้าไปยัง src (ตรงไหนก็ได้)
    #cd /usr/src

    โหลดไฟล์มาเลยจากเวป เราจาติดตั้งมันเองด้วยมือ
    #wget http://ftp://ftp.pbone.net/mirror/ftp.sourceforge.net/pub/sourceforge/w/we/webadmin/webmin-1.380-1.noarch.rpm

    เสร็จแล้วสั่งให้ กินสตอ

    #rpm -ivh webmin-1.380-1.noarch.rpm

    แล้วนอนเล่นพุงแปปนึงมันก็จะแจ้งว่า
    #rpm -i webmin-1.380-1.noarch.rpm
    Operating system is CentOS Linux
    Webmin install complete. You can now login to https://youdomain:10000/
    as root with your root password.

    เสร็จแว้วครับเข้าไปใช้งานได้เลย
    https://ip:10000
    user : root  pass : passของ root
    -------------------------------------------------------

    แต่... ใครลง chilli อย่าลืมไป อนุญาติใน firewall ด้วยนะครับ ไม่งั้นเปิดไม่ผ่าน...

    ไปเพิ่ม พอร์ต 1000 2 ที่นะครับที่แรก

    ##### chalee edit
    #Allow releated, established and ssh on $EXTIF. Reject everything else.
    $IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 22 --syn -j ACCEPT
    $IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 80 --syn -j ACCEPT
    $IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 10000 --syn -j ACCEPT

    ที่ 2

    #Allow 3990 on other interfaces (input).
    $IPTABLES -A INPUT -p tcp -m tcp --dport 3990 --syn -j ACCEPT
    $IPTABLES -A INPUT -p tcp -m tcp --dport 3128 --syn -j ACCEPT
    $IPTABLES -A INPUT -p tcp -m tcp --dport 3306 --syn -j ACCEPT
    $IPTABLES -A INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT
    $IPTABLES -A INPUT -p tcp -m tcp --dport 10000 --syn -j ACCEPT

    เท่านี้ก็เข้าหน้า webmin ได้แว้ว.... หนา้ตาสวยงามทีเดียว พอดีว่างๆ ผมเลยลองค้นหาการติดตั้งดู...




     
    Design by sutoday | Bloggerized by storesu - suvachai | laikeng