Install VHCS 2.4.7 Control Panel in Ubuntu

มาลง vhcs กันเถอะครับ มันเป็น control panel ที่เป็นของฟรีและใช้งานได้ดีทีเดียวครับ เริ่มกันเลยนะครับ

#apt-get install postfix postfix-tls proftpd-mysql courier-authdaemon courier-base courier-imap courier-maildrop courier-pop libberkeleydb-perl libc-dev libcrypt-blowfish-perl libcrypt-cbc-perl libcrypt-passwdmd5-perl libdate-calc-perl libdate-manip-perl libdbd-mysql-perl libdbi-perl libio-stringy-perl libmail-sendmail-perl libmailtools-perl libmd5-perl libmime-base64-perl libmime-perl libnet-dns-perl libnet-netmask-perl libnet-perl libnet-smtp-server-perl libperl5.8 libsnmp-session-perl libterm-readkey-perl libtimedate-perl perl perl-base perl-modules bind9 diff gzip iptables libmcrypt4 mysql-client-4.1 mysql-common-4.1 mysql-server-4.1 patch php4 php4-mcrypt php4-mysql php4-pear procmail libterm-readpassword-perl libsasl2-modules libsasl2 sasl2-bin apache2 apache2-common apache2-mpm-prefork libapache2-mod-php4 gawk libgd1g bzip2 wget make

สร้าง database ก่อนชื่อ vhcs2

ใส่พาสเวิร์ดให้กับ root ก่อน

#mysqladmin -u root password YOURROOTSQLPASSWORD
#mysql -u root -p
#create database vhcs2;
#use vhcs2;
#quit

download vhcs มาก่อนนะครับ

#cd /root
#wget -c http://superb-west.dl.sourceforge.net/sourceforge/vhcs/vhcs2-2.4.7.1.tar.bz2

#wget http://mesh.dl.sourceforge.net/sourceforge/vhcs/vhcs_patch_2006-02-09.tar.bz2

#tar -xjvf vhcs2-2.4.7.1.tar.bz2

ทำการแตกไฟล์แล้วเข้าไปในพาท? vhcs

#cd vhcs2-2.4.7.1

แล้วไปแก้ไขไฟล์ MakeFile
บรรทัดที่ INST_PREF=/tmp/vhcs-2.4.7.1
เป็น INST_PREF=
แล้วก็ save
พิมพ์

#make install

แล้วไปแก้ไข

#nano /var/www/vhcs2/engine/vhcs2_common_code.pl

กด ctrl-w เพื่อหา cipher

ของเดิมมันจะเป็น

my to $cipher = Crypt::CBC -> new(
{

`key’ => $main::db_pass_key,
`to cipher’ => `Blowfish’ ,
`IV’ => $main::db_pass_iv,
`regenerate_key’ => 0,
`padding’ => ‘space’,
`prepend_iv’ => 0
}
);

ให้ใส่

my to $cipher = Crypt::CBC -> new(

{

`keysize’ => 32,
`key’ => $main::db_pass_key,
`to cipher’ => `Blowfish’ ,
`IV’ => $main::db_pass_iv ,
`regenerat e_key’ => 0,
`padding’ =>’ space’,
`prepend_i v’ => 0
}
);

ไปแทนนะครับ มันจะมีสองที่ใกล้ๆกันแหล่ะลองค้นหาคำ $cipher ดูสองครั้งแล้วก็เพิ่มไปแทนของเดิมสองครั้งนะครับพอ save แล้วก็ไปแก้ไขที่ไฟล์ vhcs2-setup
ไปที่

#nano /var/www/vhcs2/engine/setup/vhcs2-setup

ไปดูบรรทัดที่ require ‘vhcs2_common_code.pl’;
ไฟล์ vhcs2_common_code.pl ไม่ได้อยู๋พาทเดียวกันในโฟลเดอร์ setup ดังนั้นมันจะใช้แบบนี้ไม่ได้นะครับ เราต้องระบุพาทให้มันตรง แก้ไขเป็น

require ‘/var/www/vhcs2/engine/vhcs2_common_code.pl’;

ทำการ save แล้วก็เข้าไปที่ /var/www/vhcs2/engine/setup

#cd /var/www/vhcs2/engine/setup
#./vhcs2-setup

Please to enter system hostname (for Enter defaults) [debian]: hostname
Please to enter system network address (for Enter defaults) [192.168.0.1 ]: 192.168.0.1 (ใช้ ip ของเครื่องตัวเอง)
Please to enter SQL server host (for Enter defaults) [localhost]:? enter ต่อไป
Please to enter system SQL database (for Enter defaults) [vhcs2]: vhcs2
Please to enter system SQL to user (for Enter defaults) [root]: vhcs2
Please to enter system SQL password (for Enter defaults) [none]: ใส่พาสเวิร์ด
Please repeat system SQL password: ใส่พาสเวิร์ดอีกครั้ง
Please to enter VHCS FTP SQL to user (for Enter defaults) [vftp]: enter ต่อไป
Please to enter VHCS FTP SQL to user password (for Enter defaults) [none]: enter ต่อไป
Please repeat VHCS FTP SQL to user password:? enter ต่อไป
Please to enter administrator login name (for Enter defaults) [admin]:
Please to enter administrator password: Administrator PASSWORD
Administrator Please repeat password: Administrator PASSWORD
Please to enter administrator email address: ใส่ Email

เพียงเท่านี้ก็เสร็จแล้วนะครับเข้าตอนกลางลง
ไป login ตามที่ระบบแจ้งมาครับเช่น 192.168.0.1/vhcs2
เพียงเท่านี้ก็เสร็จขั้นตอนการลงครับ ต่อไปทำการอัพเดดครับ

# tar -xjf vhcs_patch_2006-02-09.tar.bz2
# cp vhcs_patch_2006-02-09/gui/include/login.php /var/www/vhcs2/gui/include/login.php

แต่ว่ามันจะมีปัญหาอีเมล์ที่ login เข้ามาแล้วมัน error เป็น ERROR (2): Header may not contain more than a single header, new line detected.

(/var/www/vhcs2/gui/tools/webmail/inc/inc.php:155)

ให้ทำการแก้ไข

#nano /var/www/vhcs2/gui/tools/webmail/inc/inc.php

ดูบรรทัดที่

Header ( You expire: Wed, 11 Nov 1998 11:11: 11 GMT r n.
Break-Control: n not-breaks r.
Break-Control: must-revalidate?);

เปลี่ยนเป็น

Header (You expire: Wed, 11 Nov 1998 11:11: 11 GMT);
Header (Break-Control: not-break);
Header (Break-Control: must-revalidate);

ทำการ save แล้วก็ลอง login ใหม่ก็หายแล้วนะครับ

เพียงเท่านี้ก็เป็นอันเสร็จครับ แต่ถ้าจะลบก็

Uninstall VHCS#apt-get remove vhcs

#dpkg purge vhcs

  • wi

    เมื่อ เข้าไปที่ http://IP/vhcs2 แล้วไม่ขึ้นอะไรเลยว่างเปล่า หมายความว่ายังไงหลอครับ

  • wi

    พอ ./vhcs2-setup

    เสร็จแล้ว
    ขึ้น
    Can’t exec “/usr/sbin/makeuserdb”: No such file or directory at /var/www/vhcs2/engine/setup/../vhcs2_common_code.pl line 564.
    ERROR: External command ‘/usr/sbin/makeuserdb’ returned ‘16777215’ status !
    งง

  • wi

    Can’t exec “/usr/sbin/makeuserdb”: No such file or directory at /var/www/vhcs2/engine/setup/../vhcs2_common_code.pl line 564.
    ERROR: External command ‘/usr/sbin/makeuserdb’ returned ‘16777215’ status !

  • คุณแก้ตามที่บอกยังอ่ะครับ เพราะว่าสคริปที่เอามาลงมันต้องแก้ด้วยครับผม

  • golfreeze

    โชว์เก๋าจริงๆ เสี่ย tum

  • เจ

    ลองทำตามแล้วได้ผลครับดีมาก ๆ
    แต่ผมมีปัญหาเรื่อง DNS ครับ คือยังงี้
    1. ผมจดโดเมนเนมไว้ก่อนแล้ว สมมติชื่อ http://www.mydomain.com
    โดยกำหนดให้ชี้มาที่ ns1.mydomain.com และ ns2.mydomain.com
    2. หลังจาก ลง VHCS เสร็จผมเข้าไปเพิ่มโดเมนเนม mydomain.com
    3. เมื่อเรียกด้วย IP จะขึ้นว่า Welcome
    to homepage of mydomain.com แต่ ถ้าเรียกด้วย http://www.mydomain.com จะเรียกไม่ได้ครับ
    host = Ubuntu 8.04 Server

    ผมต้องทำอย่างไร เว็ตตรงไหนเพิ่มมั้ยครับ
    ขอความกรุณาชี้แนะด้วยครับ

  • ลองดูในไฟล์ vhcs.conf ว่ามันเชตยังไงปกติมันจะเป็น
    DocumentRoot /var/www/virtual/gootum.com/htdocs
    ServerName gootum.com
    ServerAlias http://www.gootum.com gootum.com *.gootum.com
    ServerAlias จะเป็นตัวกำหนดครับว่าเข้ามาที่โฟลเดอร์ htdocs เข้าได้ทางไหนบ้างลองเช๊คตรงนี้ดูก่อนครับ หากมีแล้วก็มาดูที่ไฟล์นี้ต่อ /var/cache/bind/gootum.com.db ข้างหลังจะเป็นชื่อเว็บคุณเองไปดูว่ามันเชตถูกไหม มันจะเป็นแบบนี้ครับ

    gootum.com. A 203.150.228.106
    ns IN A 203.150.228.106
    mail IN A 203.150.228.106
    www CNAME gootum.com.
    ftp CNAME gootum.com.

    ลักษณะนี้ และมีข้อมูล sub domain ต่างๆอีกเพียบ ลองดูสองที่นี้ก่อนนะครับ

  • เจ

    ขอบคุณครับ ทำได้แล้วครับ
    ไว้วันหลังจะมาถามต่อครับ

  • สวัสดีครับ เรียนถามคุณ gootum หน่อยครับ

    คือตอนนนี้ผมใช้ vps ลง debian+vhcs ครับ และต้องการทำ wilcard dns ของโดเมนๆหนึ่งครับ
    ไม่ทราบว่าจะต้อง config อะไรยังไงบ้างครับ ถึงจะใช้ wilcard dns ได้

    ขอบพระคุณมาก ๆ ครับ

  • SEO

    ไปแก้ที่ bind /var/cache/bind/gootum.com.db ให้เป็น * ครับ เช่น
    * IN CNAME gootum.com.

  • ขอบคุณครับ เดี๋ยวยังไงลองแล้วได้ไม่ได้จะมาขอคำปรึกษาใหม่ครับ 🙂

  • สวัสดีครับ

    ได้แล้วครับผม 😀 ขอบคุณมาก ๆ ครับ
    แต่ว่าผมมีคำถามอีกคำถามหนึ่งครับ ไม่ทราบว่าคุณ gootum พอจะทราบไหมครับ

    คือว่าผมอยากจะทำ add domain เข้าสู่บล็อกเว็บอ่ะครับ จะต้อง set server เรายังไงบ้างครับ
    คือสมมุติว่าผมทำเว็บโดยได้ add wildcard dns(อันนี้คือคำถามก่อนครับ :)) แล้วเวลามีคนมาสมัครสร้างบล็อกให้เขาใช้เป็น sub domain เช่น xxxx.domain.com และอยากให้ในกรณีที่เขาต้องการ จดโดเมนแล้วชี้มาตรง sub ของเรา แล้วให้ทำงานได้ คล้าย ๆ กับ blogger หรือ weloveshopping ไรงี้อ่ะรับ ผมต้องทำยังไงครับ

    ปล. ผมจดโดเมนที่ name.com ครับ ส่วน CP ใช้ DirectAdmin ครับ ส่วน vhcs นั้นไม่ทราบว่าทำต่างกันไหม

    ขอบคุณมาก ๆ ครับ

  • SEO

    สมมุติจะเพิ่มโดเมนใหม่ชื่อ gootumseo.com แล้วกันไปเพิ่มไฟล์ที่นี่ /var/cache/bind/ มันจะเป็นชื่อ gootumseo.com.db แล้วก็ไปเพิ่มที่ VirtualHost เช่น
    DocumentRoot /var/www/virtual/gootum.com/htdocs
    ServerName gootumseo.com
    ServerAlias http://www.gootumseo.com gootumseo.com *.gootumseo.com

    ประมาณนี้อ่ะมันจะสามารถระบุพาทว่าโดเมนนี้วิ่งไปที่ไหนของโดเมนหลักเราครับ งงไหมอ่า แค่บอกผมก็งงล่ะ

  • ไม่คงครับผม พอจะเข้าใจครับ แต่ต้องลองก่อน 😀 ยังไงจะมารายงานครับ

    ขอบคุณมาก ๆ ครับ

  • สวัสดีครับ คุณ gootum ผมติดปัญหาเกี่ยวกับ vhcs อีกแล้วครับ คือผมต้องการสร้าง nameserver ครับ เช่น ns1.xxx.com ns2.xxx.com เพื่อให้โดเมนอื่น ๆ ชี้มาที่เครื่องผมได้อ่ะครับ ผมต้องทำไงยังบ้างครับ ปรกติผมจดโดเมนที่ name.com แล้ว สร้าง ns1.domain.com ns2.domain.com แล้วชี้มาที่ ip ของเครื่องโดยตรงเลย

    ขอบคุณครับ

  • Assavamet Patike

    ทำได้แล้วครับแต่อยากทำ wild card ทำไม่ได้ครับ ขอวิธีทำแบบละเอียดมีไหมครับ