分类: 电脑技术
作者: admin

CentOS5.3下安装VHCS2(VHCS2.4.8)教程

在你安装VHCS2前请确认你注意到以下问题:
    (1)请确认您使用的是CentOS 5.3
    (2)你的服务器必须配置有完全合法的域名,或者这个域名可以被网络上的其他计算机识别。
    (3)服务器的安装。
    (4)服务器的IP、子网掩码等设置,以(3)中的教程设置为范例,您可以自行修改成你的设置。
      注意:服务器安装完成后,必须关闭防火墙和SELinux,设置后必须重启一次。本教程仅做测试研究之用,由于VHCS2对CentOS5的兼容性不是太好,不建议用做工业用途。
一、调整/etc/hosts
    编辑/etc/hosts

host:~# vi /etc/hosts
     内容如下
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.0.200 server.ispcpcn.com server
::1 localhost6.localdomain6 localhost6
二、系统的初始化配置安装过后,要进行系统的初始化配置。具体配置方法见本站的:
       CentOS安装过后的几个初始化配置
三、使用root帐号登录系统,升级系统,建立一个专用文件夹,下载VHCS2最新版压缩包并解压。
host:~# mkdir downloads
host:~# cd downloads
host:~# wget http://server5.moll-newmedia.de/vhcs-2.4.8.tar.bz2
host:~# tar -xjvf vhcs-2.4.8.tar.bz2
四、设置补充更新源,并更新系统
      在VHCS2中,某些模块在官方的更新源中是没有的,就需要引用一些其他的源来安装。安装这个模块,就可以方便得使用yum install来安装一些官方没有的功能模块。
host:~# wget http://www.ispcpcn.com/Soft/ispCP/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
host:~# rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm
host:~# rm -f rpmforge-release-0.3.6-1.el5.rf.i386.rpm
host:~# yum update
五、切换到VHCS2解压缩主目录,建立软件安装文件列表:
host:~# cd $HOME/downloads/vhcs*
host:~# vi ./docs/centos-packages
      centos5-packages内容如下:
awstats
bind
bind-chroot
bind-libs
bind-utils
bzip2
caching-nameserver
chkrootkit
clamav
clamd
clamav-db
courier-authlib
courier-authlib-userdb
courier-imap
cyrus-sasl
cyrus-sasl-gssapi
cyrus-sasl-plain
cyrus-sasl-md5
cyrus-sasl-ntlm
expect
gcc
httpd
iptables
libdbi-dbd-mysql
libmcrypt
libtool-ltdl
redhat-lsb
mod_perl
mod_ssl
mod_auth_mysql
mysql
mysql-server
net-snmp-perl
patch
perl-Archive-Tar
perl-Archive-Zip
perl-BerkeleyDB
perl-Bit-Vector
perl-Carp-Clan
perl-Compress-Zlib
perl-Convert-TNEF
perl-Convert-UUlib
perl-Crypt-Blowfish
perl-Crypt-CBC
perl-Crypt-DH
perl-Crypt-PasswdMD5
perl-Date-Calc
perl-DateManip
perl-DBD-MySQL
perl-Digest-HMAC
perl-HTML-Parser
perl-HTML-Tagset
perl-MIME-tools
perl-IO-stringy
perl-libwww-perl
perl-MailTools
perl-Net-CIDR-Lite
perl-Net-DNS
perl-Net-IP
perl-Net-LibIDN
perl-Net-Netmask
perl-Net-Server
perl-suidperl
perl-TermReadKey
perl-TimeDate
perl-URI
perl-Unix-Syslog
perl-MailTools
php
php-bcmath
php-dba
php-gd
php-ldap
php-mbstring
php-mcrypt
php-mysql
php-odbc
php-pear
php-snmp
php-xml
postfix
proftpd
proftpd-mysql
rkhunter
spamassassin
system-config-bind
tar
unixODBC
unzip
wget
六、通过yum安装必须的软件包。
host:~# cd $HOME/downloads/vhcs*
host:~# yum install `cat ./docs/centos-packages`
七、通过CPAN安装一些不能通过yum安装的模块:
host:~# cpan
      进入cpan会出现如下提示,请输入no回车:
Are you ready for manual configuration? [yes]  no <--这里输入no然后回车确认
      安装:MIME::Entity:
cpan> install MIME::Entity
      安装过程出现如下提示:
     (1)==》Auto-install the 1 mandatory module(s) from CPAN? [y]  <--输入y回车
     (2)Shall I follow them and prepend them to the queue of modules we are processing right now? [yes]  <--输入yes回车
      安装Term::ReadPassword:
cpan> install Term::ReadPassword
      退出cpan:
cpan> quit
八、卸载sendmail,同时安装redhat-lsb,避免sendmail影响postfix的运行。
host:~# yum remove sendmail
host:~# yum install redhat-lsb
九、安装courier-imap,courier-authlib-userdb和courier-authlib。
host:~# wget http://www.ispcpcn.com/Soft/ispCP/courier-authlib-0.62.2-1.el5.mf.i386.rpm
host:~# wget http://www.ispcpcn.com/Soft/ispCP/courier-authlib-userdb-0.62.2-1.el5.mf.i386.rpm
host:~# wget http://www.ispcpcn.com/Soft/ispCP/courier-imap-4.4.1-1.el5.mf.i386.rpm
host:~# rpm -ivh courier-authlib-*.rpm courier-authlib-userdb-*.rpm courier-imap-*.rpm
十、更新系统并更新php和mysql。
      更新最新PHP和MYSQL的方法见:CentOS通过yum升级php到5.2.9版本的方法
十一、为courier建立用户和用户组,当我们建立用户组的时候可能会提示已经建立了,如果有这个提示,可以忽略,跳过。
host:~# groupadd courier -g 3000
host:~# useradd -u 3000 -c 'Courier Mail Server' -d /dev/null -g courier -s /bin/false courier
十二、设置mysql数据库:
      (1)启动mysql服务器:
host:~# service mysqld start
      (2)进行MySQL设置:
host:~# mysql_secure_installation
     (1)Enter current password for root (enter for none): 
         在这里输入root用户的密码,如果您没设置密码,请直接回车。
     (2)Change the root password? [Y/n]
         是否更改root的密码,如果更改,就输入“y”,如果不更改,就输入“n”,更改root密码需要连续两次输入密码。
     (3)Remove anonymous users? [Y/n]
         是否删除mysql的匿名用户,删除选择“y”,不删除选择“n”,为了安全,建议删除匿名帐号。
     (4)Disallow root login remotely? [Y/n]
         是否允许root帐号远程登录,允许输入“y”,不允许输入“n”,建议不允许root远程登录。
     (5)Remove test database and access to it? [Y/n]
         是否删除测试数据库及对测试数据库的访问许可。建议输入“y”删除测试数据库。
     (6)Reload privilege tables now? [Y/n]
         重置数据表的权限,建议输入“y”执行本步。
十三、建立三个文件和文件夹,解决VHCS2对CentOS兼容性差的问题!
      (1)建立/etc/proftpd文件夹:
host:~# mkdir /etc/proftpd
      (2)建立/etc/proftpd/proftpd.conf文件,内容随便写:
host:~# vi /etc/proftpd/proftpd.conf
      (3)建立/etc/named.conf,内容随便写:
host:~# vi /etc/named.conf
      (4)建立/var/mail/virtual文件夹:
host:~# mkdir /var/mail/virtual
十四、编译VHCS2安装文件:
host:~# cd $HOME/downloads/vhcs*
host:~# make -f Makefile.centos5 install
十五、拷贝编译好的文件进系统:
host:~# cp -RLf /tmp/vhcs-2.4.8/* /
      询问是否覆盖,请输入“y”回车确认覆盖。
十六、切换进入VHCS2安装目录,安装VHCS2,并根据提示问题进行输入和确认:
host:~# cd /var/www/vhcs2/engine/setup/
host:~# ./vhcs2-setup
    (1)Please enter system hostname (Enter for defaults) [server]: -->输入完整的主机名回车确认,这里vhcs2对centos有bug,主机名不是完整的。
    (2)Please enter system network address (Enter for defaults) [192.168.0.200]: -->直接回车
    (3)Please enter SQL server host (Enter for defaults) [localhost]: -->直接回车
    (4)Please enter system SQL database (Enter for defaults) [vhcs2]: -->直接回车
    (5)Please enter system SQL user (Enter for defaults) [root]: -->直接回车
    (6)Please enter system SQL password (Enter for defaults) [none]: -->输入MySQL的root用户的密码
    (7)Please repeat system SQL password: -->重复输入密码,进行确认
    (8)Please enter VHCS ftp SQL user (Enter for defaults) [vftp]: -->FTP的数据库连接用户,保持默认直接回车
    (9)Please enter VHCS ftp SQL user password (Enter for defaults) [none]:输入FTP的数据库连接密码
    (10)Please repeat VHCS ftp SQL user password: -->重复输入FTP的数据库连接密码
    (11)Please enter administration login name (Enter for defaults) [admin]: -->输入VHCS管理员的用户名
    (12)Please enter administrator password: -->输入VHCS管理员的密码
    (13)Please repeat administrator password: -->重复输入VHCS管理员的密码,进行确认
    (14)Please enter administrator email address: -->输入管理员的电子邮件地址
     然后开始正式安装了,耐心等候,等待安装结束。
十七、重新编辑/etc/hosts配置文件:
    编辑/etc/hosts
host:~# vi /etc/hosts
     内容如下
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.0.200 server.ispcpcn.com server
::1 localhost6.localdomain6 localhost6
十八、修改proftpd的配置:
     VHCS2对proftpd的配置是错误的,这里需要纠正过来。
     删除原来的proftpd.conf配置文件: 
host:~# rm -f /etc/proftpd.conf
     建立新的proftpd.conf文件:
host:~# vi /etc/proftpd.conf
      内容如下:
<IfModule mod_dso.c>
LoadModule mod_sql.c
LoadModule mod_sql_mysql.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_file.c
LoadModule mod_quotatab_sql.c
</IfModule>
UseIPv6 off
ServerName "host.hqtcn.me"
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
AllowOverwrite on
UseReverseDNS off
IdentLookups off
AllowStoreRestart on
AllowForeignAddress on
LogFormat traff "%b %u"
TimeoutLogin 120
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayChdir .message
ListOptions "-l"
DenyFilter \*.*/
DefaultRoot ~
Port 21
MaxInstances 30
User nobody
Group nobody
<Directory /*>
Umask 022 022
AllowOverwrite on
HideNoAccess on
</Directory>
<Limit ALL>
IgnoreHidden on
</Limit>
<Global>
RootLogin off
TransferLog /var/log/proftpd/xferlog
ExtendedLog /var/log/proftpd/ftp_traff.log read,write traff
PathDenyFilter "\.quota$"
</Global>
<IfModule mod_quotatab.c>
QuotaEngine on
QuotaShowQuotas on
QuotaDisplayUnits Mb
SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM quotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"
SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM quotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"
SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" quotatallies
SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatallies

QuotaLock /var/run/proftpd/tally.lock
QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
</IfModule>
<IfModule mod_ratio.c>
Ratios on
</IfModule>
<IfModule mod_delay.c>
DelayEngine on
</IfModule>
<IfModule mod_ctrls.c>
ControlsEngine on
ControlsMaxClients 2
ControlsLog /var/log/proftpd/controls.log
ControlsInterval 5
ControlsSocket /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine on
</IfModule>
AuthPAMConfig proftpd
AuthOrder mod_sql.c
SQLBackend mysql
SQLAuthTypes Crypt
SQLAuthenticate on
SQLConnectInfo vhcs2@localhost vftp 111111111
SQLUserInfo ftp_users userid passwd uid gid homedir shell
SQLGroupInfo ftp_group groupname gid members
SQLMinUserUID 2000
SQLMinUserGID 2000

      如上面的内容有点乱,如果您复制后无法启动proftpd.conf,请下载我改好的配置文件:
host:~# cd /etc/
host:~# rm -f proftpd.conf
host:~# wget http://www.ispcpcn.com/Soft/vhcs2/proftpd.conf
      然后对/etc/proftpd.conf进行编辑(无论是是新建的还是下载的proftpd.conf文件都需要再编辑):
host:~# vi /etc/proftpd.conf
      需要编辑的内容如下:

[......]
ServerName "host.hqtcn.me"   <--这里把host.hqtcn.me替换成您的主机名
[......]
SQLConnectInfo vhcs2@localhost vftp 111111  <-- 这里vhcs2是您的VHCS2数据库名,如果您默认不是vhcs2,修改成您的,vftp是您的ftp连接数据库的用户名,改成您的设置,后面的111111是您的vftp连接数据库的密码。
[......]

十九、设置VHCS2必须的启动项:
host:~# chkconfig --add vhcs2_daemon
host:~# chkconfig --levels 345 vhcs2_daemon on
host:~# chkconfig --levels 235 httpd on
host:~# chkconfig --levels 235 mysqld on
host:~# chkconfig --levels 235 saslauthd on
host:~# chkconfig --levels 235 proftpd on
host:~# chkconfig --levels 235 named on
二十、重启服务器
host:~# shutdown -r now
二十一、控制面板的汉化
      界面的汉化请参看Debian5下安装VHCS2最新版(2.4.8) 中的第十二步。
至此,你可以从http://yourip/vhcs2/使用管理员密码使用了!!!