你的位置:首页 > 服务器类

ISPConfig在CentOS 5.x下详细安装教程

2009-12-25 浏览:(6802) 服务器类 评论(0)

ISPConfig 是Linux的一款开源的虚拟主机管理程序,带Web控制面板,可通过Web控制面板管理虚拟主机、开设网站、开设邮箱、开设和管理mysql数据库、支 持DNS解析和监控服务器运行状况等功能。下面我们将讲解如何在CentOS 5中安装ISPConfig。安装的IP以及主机名等按照开源主机安装装备篇之——CentOS5.2的安装中设置,您可以替换成您的IP和主机名。

1、安装CentOS 5.2,安装过程见:开源主机安装装备篇之——CentOS5.2的安装

2、对CentOS 5.2进行一些安装前的配置。见文章:CentOS安装过后的几个初始化配置。

3、调整/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 idc.xifan.org server

::1 localhost6.localdomain6 localhost6

4、 禁止防火墙和SELinux,如果您在安装前已经禁止了,这一步可以忽略。运行下面的命令:

system-config-securitylevel

在下面这个界面中禁止防火墙和SELinux

然后重启服务器:

reboot

5、安装一些所需的软件包。

首先我们运行下面的命令:

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY*

然后对系统进行更新升级

yum update

安装系统开发包,为下一步编译部分软件做准备。 yum groupinstall ‘Development Tools’ ‘Development Libraries’

5、安装Quota,这样建立好主机后我们可以进行磁盘配额管理,限制用户的网站和邮箱空间占用。 yum install quota

编 辑/etc/fstab,添加,usrquota,grpquota 到/ partition(/dev/VolGroup00/LogVo100)后面,添加后如下: /dev/VolGroup00/LogVol00 / ext3 defaults,usrquota,grpquota 1 1 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0

sysfs /sys sysfs defaults 0 0

proc /proc proc defaults 0 0

/dev/VolGroup00/LogVol01 swap swap defaults 0 0

然后运行如下命令启用quota: touch /aquota.user /aquota.group

chmod 600 /aquota.*

mount -o remount /

quotacheck -avugm

quotaon -avug

6、安装Apache2,Mysql,phpmyadmin,安装前,为了能安装一些官方没有的软件,我们需要运行下面的命令,使用一些非官方的软件库,方便安装。 rpm –import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

cd /tmp

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

如果上面的软件包无法下载,你可以到: http://dag.wieers.com/rpm/packages/rpmforge-release/ 去寻找其他的映像网站,去下载安装。

然 后我们进行安装Apache2,MySql,phpmyadmin 

#yum install ntp httpd mysql-server php php-mysql php-mbstring php-mcrypt phpmyadmin rpm-build gcc mysql-devel openssl-devel cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel postgresql-devel expect libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin-devel

7、安装 Courier-IMAP,Courier-Authlib和Maildrop 这三个软件没有RPM包,所以我们只有采用编译的方式进行安装,因为Courier-IMAP的编译只能使用普通用户,为此我们切换到我们先前建立的普通 用户xifanorg下去。 su xifanorg

在编译前,还需要进行一些初始化的编译环境的建立。 mkdir $HOME/downloads

mkdir $HOME/rpm

mkdir $HOME/rpm/SOURCES

mkdir $HOME/rpm/SPECS

mkdir $HOME/rpm/BUILD

mkdir $HOME/rpm/SRPMS

mkdir $HOME/rpm/RPMS

mkdir $HOME/rpm/RPMS/i386

echo “%_topdir $HOME/rpm” >> $HOME/.rpmmacros

然后,我们到http://www.courier-mta.org/download.php去下载源码包 cd $HOME/downloads

wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.62.2.tar.bz2

wget http://prdownloads.sourceforge.net/courier/courier-imap-4.4.1.tar.bz2

wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2

现在我们开始编译courier-authlib sudo rpmbuild -ta courier-authlib-0.62.2.tar.bz2

编译完成后,切换到$HOME/rpm/RPMS/i386,安装三个编译好的RPM软件包。 cd $HOME/rpm/RPMS/i386

sudo rpm -ivh courier-authlib-0.62.2-1.i386.rpm courier-authlib-mysql-0.62.2-1.i386.rpm courier-authlib-devel-0.62.2-1.i386.rpm

然后返回$HOME/downloads,继续编译courier-imap。 cd $HOME/downloads

rpmbuild -ta courier-imap-4.4.1.tar.bz2

完成后,进入$HOME/rpm/RPMS/i386,安装courier-imap。 cd $HOME/rpm/RPMS/i386

sudo rpm -ivh maildrop-2.0.4-1.i386.rpm

接下来,我们返回$HOME/downloads,编译maildrop。 cd $HOME/downloads

sudo rpmbuild -ta maildrop-2.0.4.tar.bz2

编译完成后,进入$HOME/rpm/RPMS/i386,安装maildrop,按章完成后,我们要退出当前用户,仍旧使用root进行下一步的安装。 cd $HOME/rpm/RPMS/i386

sudo rpm -ivh maildrop-2.0.4-1.i386.rpm

exit

8、安装Postfix 并给其增加Quota和Mysql支持。我们必须下载Postfix的RPM源文件,给Postfix打上Quota和Mysql补丁,然后编译成RPM包,再安装。 cd /usr/src

wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.2/os/SRPMS/postfix-2.3.3-2.src.rpm

rpm -ivh postfix-2.3.3-2.src.rpm

然 后会出现许多 warning: user mockbuild does not exist – using root warning: group mockbuild does not exist – using root 这样的错误,不用理会他,我们继续: cd /usr/src/redhat/SOURCES

wget http://vda.sourceforge.net/VDA/postfix-2.3.3-vda.patch.gz

gunzip postfix-2.3.3-vda.patch.gz

cd /usr/src/redhat/SPECS/

为了增加Quota和Mysql支持,我们必须编辑postfix.spec vi postfix.spec

把“%define MYSQL 0”改成“%define MYSQL 1”,并且在“Patch1: postfix-2.1.1-config.patch”前加上一行“Patch0: postfix-2.3.3-vda.patch”,在“%patch1 -p1 -b .config”前加上一行“%patch0 -p1 -b .vda”,内容如下: [...]

%define MYSQL 1

[...]

# Patches

Patch0: postfix-2.3.3-vda.patch

Patch1: postfix-2.1.1-config.patch

Patch3: postfix-alternatives.patch

Patch6: postfix-2.1.1-obsolete.patch

Patch7: postfix-2.1.5-aliases.patch

Patch8: postfix-large-fs.patch

Patch9: postfix-2.2.5-cyrus.patch

[...]

%setup -q

# Apply obligatory patches

%patch0 -p1 -b .vda

%patch1 -p1 -b .config

%patch3 -p1 -b .alternatives

%patch6 -p1 -b .obsolete

%patch7 -p1 -b .aliases

%patch8 -p1 -b .large-fs

%patch9 -p1 -b .cyrus

[...]

然后我们编译新的能够支持Quota和Mysql的RPM软件包 rpmbuild -ba postfix.spec

我们的编译好的软件包在在目录/usr/src/redhat/RPMS/i386下,我们进入这个目录然后安装编译好的软件包。 cd /usr/src/redhat/RPMS/i386

rpm -ivh postfix-2.3.3-2.i386.rpm

然后我们关闭Sendmail,启动Postfix,saslauthd和courier-authlib: chkconfig –levels 235 courier-authlib on

/etc/init.d/courier-authlib start

chkconfig –levels 235 sendmail off

chkconfig –levels 235 postfix on

chkconfig –levels 235 saslauthd on

/etc/init.d/sendmail stop

/etc/init.d/postfix start

/etc/init.d/saslauthd start

8、配置Courier 这一步,我们将对Courier进行一些配置,先启动Courier: chkconfig –levels 235 courier-imap on

/etc/init.d/courier-authlib restart

/etc/init.d/courier-imap restart

当 courier-imap第一次启动的时候,他会默认以/usr/lib/courier-imap/etc/imapd.cnf and /usr/lib/courier-imap/etc/pop3d.cnf和/usr/lib/courier-imap/etc/pop3d.cnf这 两个文件分别家里一个文件,分别是/usr/lib/courier-imap/share/imapd.pem 和 /usr/lib/courier-imap/share/pop3d.pem,因为这个.cnf文件中的CN=localhost,但是我们的服务器的 主机名是idc.xifan.org,当我们使用TLS连接的时候这两个证书文件可能会导致一些问题,为了解决这个问题,我们删除这两个证书。 cd /usr/lib/courier-imap/share/

rm -f imapd.pem

rm -f pop3d.pem

然后 把/usr/lib/courier-imap/etc/imapd.cnf和/usr/lib/courier-imap/etc/pop3d.cnf 这两个文件中的“CN=localhost”用“CN=idc.xifan.org”替换掉。 vi /usr/lib/courier-imap/etc/imapd.cnf

然后替换成: [...]

CN=idx.xifan.org

[...]

编辑/usr/lib/courier-imap/etc/pop3d.cnf vi /usr/lib/courier-imap/etc/pop3d.cnf

替换成 [...]

CN=idc.xifan.org

[...]

然后我们重新建立这两个证书: ./mkimapdcert

./mkpop3dcert

然后我们重新启动courier-authlib和courier-imap: /etc/init.d/courier-authlib restart

/etc/init.d/courier-imap restart

9、安装Getmail 用一下命令安装getmail yum install getmail

10、设置Mysql密码,并对phpmyadmin进行配置。

启动Mysql: chkconfig –levels 235 mysqld on

/etc/init.d/mysqld start

然后为Mysql的root帐号设置密码,注意将这里的yourrootpassword替换成你的密码。 mysqladmin -u root password yourrootsqlpassword

mysqladmin -h server1.example.com -u root password yourrootsqlpassword

接下来为phpmyadmin建立一个别名,这样才能访问。 vi /etc/httpd/conf.d/phpmyadmin.conf

改变的内容如下: #

# Web application to manage MySQL

#

#

# order Deny,Allow

# Deny from all

# Allow from 127.0.0.1

#

Alias /phpmyadmin /usr/share/phpmyadmin

Alias /phpMyAdmin /usr/share/phpmyadmin

Alias /mysqladmin /usr/share/phpmyadmin

然后我们改变phpmyadmin的验证方式,把cookie验证改成http vi /usr/share/phpmyadmin/config.inc.php

改变的内容如下: [...]

/* Authentication type */

$cfg['Servers'][$i]['auth_type'] = ‘http’;

[...]

然后我们设置httpd为自启动,并且启动httpd chkconfig –levels 235 httpd on

/etc/init.d/httpd start

现在我们可以使用http://idc.xifan.org/phpmyadmin访问到phpmyadmin了。

11、安装Amavisd-new、SpamAssassin和ClamAV

运行以下命令行安装 Amavisd-new、SpamAssassin和ClamAV

yum install amavisd-new spamassassin clamav clamd unzip bzip2 unrar perl-DBD-mysql

然后,我们启动freshclam, amavisd 和 clamd。 chkconfig –levels 235 amavisd on

chkconfig –levels 235 clamd on

/usr/bin/freshclam

/etc/init.d/amavisd start

/etc/init.d/clamd start

然后,建立一些必须的文件夹,并设置权限。 mkdir /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db

chown amavis /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db

12、安装php的mod-php,suphp,fcgi等模式支持。

ISPCOnfig 3允许在php5的环境中为每个站点设置mod_php,mod_fcgi,cgi和suPHP这四种不同的php运行模式。mod_fcgid在官方的 软件库中是不存在的,但是在centos.karan.org有测试包。我们通过以下命令添加更新库来安装这个测试包 cd /etc/yum.repos.d/

wget http://centos.karan.org/kbsingh-CentOS-Extras.repo

然后我们编辑/etc/yum.repos.d/kbsingh-CentOS-Extras.repo这个文件: vi /etc/yum.repos.d/kbsingh-CentOS-Extras.repo

然后我们在[kbs-CentOS-Testing]中设置gpgcheck = 0 ,设置enabled = 1。如下: [...]

[kbs-CentOS-Testing]

name=CentOS.Karan.Org-EL$releasever – Testing

gpgcheck=0

gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt

enabled=1

baseurl=http://centos.karan.org/el$releasever/extras/testing/$basearch/RPMS/

接下来我们可以安装apache的mod_php5,mo_fcgid和php5模块。

注意:如果您在安装的过程中出现不能安装php-eaccelerator,请在以下命令中删除php-eaccelerator。因为在php 5.1.6版本中,已经没有这个模块了。

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-mbstring php-mcrypt php-mhash php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel

然后我们编辑/etc/php.ini vi /etc/php.ini

改变错误报告的方式,找到 “;error_reporting = E_ALL & ~E_NOTICE”,去掉前面的“;”号(如果没有,则查找error_reporting,改成“error_reporting = E_ALL & ~E_NOTICE

”,并且在文件最后添加一行“cgi.fix_pathinfo = 1”,如下 [...]

error_reporting = E_ALL & ~E_NOTICE

[...]

cgi.fix_pathinfo = 1

接下来我们安装suPHP: cd /tmp

wget http://www.suphp.org/download/suphp-0.7.0.tar.gz

tar xvfz suphp-0.7.0.tar.gz

cd suphp-0.7.0/

./configure –prefix=/usr –sysconfdir=/etc –with-apr=/usr/bin/apr-1-config –with-apxs=/usr/sbin/apxs –with-apache-user=apache –with-setid-mode=owner –with-php=/usr/bin/php-cgi –with-logfile=/var/log/httpd/suphp_log –enable-SUPHP_USE_USERGROUP=yes

make

make install

然后把我们的suPHP模块添加到apache的配置中。建立/etc/httpd/conf.d/suphp.conf这个文件: vi /etc/httpd/conf.d/suphp.conf

创建的文件内容如下: LoadModule suphp_module modules/mod_suphp.so

然后建立/etc/suphp.conf: vi /etc/suphp.conf

内容如下: [global]

;Path to logfile

logfile=/var/log/httpd/suphp.log

;Loglevel

loglevel=info

;User Apache is running as

webserver_user=apache

;Path all scripts have to be in

docroot=/

;Path to chroot() to before executing script

;chroot=/mychroot

; Security options

allow_file_group_writeable=true

allow_file_others_writeable=false

allow_directory_group_writeable=true

allow_directory_others_writeable=false

;Check wheter script is within DOCUMENT_ROOT

check_vhost_docroot=true

;Send minor error messages to browser

errors_to_browser=false

;PATH environment variable

env_path=/bin:/usr/bin

;Umask to set, specify in octal notation

umask=0077

; Minimum UID

min_uid=100

; Minimum GID

min_gid=100

[handlers]

;Handler for php-scripts

x-httpd-suphp=”php:/usr/bin/php-cgi”

;Handler for CGI-scripts

x-suphp-cgi=”execute:!self”

最后重启Apache: /etc/init.d/httpd restart

13、安装PureFTPd

使用以下命令安装PureFtpd yum install pure-ftpd

设置Pureftpd自启动,然后启动pureftpd chkconfig –levels 235 pure-ftpd on

/etc/init.d/pure-ftpd start

14、安装Mydns

使用以下命令安装MyDns wget http://mydns.bboy.net/download/mydns-mysql-1.1.0-1.i386.rpm

rpm -ivh mydns-mysql-1.1.0-1.i386.rpm

系统开机时,MyDNS必须在MySQL之后启动。MySQL的启动优先级是64,所以MyDNS的启动优先级必须在65-99之间,然后我们打开MyDNS的启动脚本 vi /etc/init.d/mydns

修改的内容如下,请参照修改: [...]

# chkconfig: 345 65 50

[...]

然后我们设置MyDNS自启动。 chkconfig –levels 235 mydns on

我们现在不启动MyDNS,是因为它首次启动必须进行配置,这个配置将对以后安装ISPConfig 3有影响,以后我们安装ISPConfig3的时候会对他自动进行配置的。

15、安装Vlogger 和 Webalizer

使用以下命令安装Vlogger和Webalizer。 yum install webalizer perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

cd /tmp

wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz

tar xvfz vlogger-1.3.tar.gz

mv vlogger-1.3/vlogger /usr/sbin/

rm -rf vlogger*

16、安装Jailkit

使用如下命令安装Jailkit: cd /tmp

wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz

tar xvfz jailkit-2.5.tar.gz

cd jailkit-2.5

./configure

make

make install

rm -rf jailkit-2.5*

17、安装fail2ban。 yum install fail2ban

chkconfig –levels 235 fail2ban on

/etc/init.d/fail2ban start

18、安装rkhunter,使用如下命令: yum install rkhunter

19、安装Webmail。

官 方使用的是squirrelmail,但是对中文支持不好,所以我们使用Extmail,Extmail是国产开源的webmail系统,对中文支持自然 没问题。首先我们去http://www.extmail.org/cgi-bin/download.cgi下载Extmail,目前是1.09版本。 他下载前要求填写一个表单。 Your Name:这里填写你的名字,Phone:电话,Email:电子邮箱,Your website:你的网站,Industry:职业,Scale:规模,MTA Softs:邮件系统,这里选择Postfix,OS:操作系统,就选Linux好了。下载后的操作请见 在ispconfig3中使用Extmail替代squirrelmail!。

20、安装ISPConfig 3

首先我们要下载ISPConfig3,然后解压,进入安装目录,命令如下:

cd /tmp

wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.1.tar.gz?use_mirror=

tar xvfz ISPConfig-3.0.1.tar.gz

cd ispconfig3_install/install/

然后运行如下命令行安装: php -q install.php

这里可能会出错,如果出错,看: 关于ISPConfig在CentOS 5.3下安装的问题

修改完后,继续安装,操作按下面提示进行: ——————————————————————————–

_____ ___________ _____ __ _

|_ _/ ___| ___ \ / __ \ / _(_)

| | \ `–.| |_/ / | / \/ ___ _ __ | |_ _ __ _

| | `–. \ __/ | | / _ \| ‘_ \| _| |/ _` |

_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| |

\___/\____/\_| \____/\___/|_| |_|_| |_|\__, |

__/ |

|___/

——————————————————————————–

>> Initial configuration

Operating System: CentOS 5.2 or compatible

Following will be a few questions for primary configuration so be careful.

Default values are in [brackets] and can be accepted with .

Tap in “quit” (without the quotes) to stop the installer.

Select language (en,de) [en]:

Installation mode (standard,expert) [standard]: <– 回车

Full qualified hostname (FQDN) of the server, eg server1.domain.tld [idc.xifan.org]: <–回车

MySQL server hostname [localhost]: <– 回车

MySQL root username [root]: <–回车

MySQL root password []: <– 输入您的MySql的root用户密码

MySQL database to create [dbispconfig]: <– 回车

MySQL charset [utf8]: <– 回车

Generating a 2048 bit RSA private key

…………………………………………+++

………………………………………………………………………+++

writing new private key to ’smtpd.key’

—–

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.’, the field will be left blank.

—–

Country Name (2 letter code) [GB]: <– 输入“CN”

State or Province Name (full name) [Berkshire]: <– 填写你的省份

Locality Name (eg, city) [Newbury]: <– ENTER

organization Name (eg, company) [My Company Ltd]: <– 回车

organizational Unit Name (eg, section) []: <– 回车

Common Name (eg, your name or your server’s hostname) []: <– 回车

Email Address []: <– 回车

Configuring Jailkit

Configuring SASL

Configuring PAM

Configuring Courier

Configuring Spamassassin

Configuring Amavisd

Configuring Getmail

Configuring Pureftpd

Configuring MyDNS

Configuring Apache

Configuring Firewall

Installing ISPConfig

ISPConfig Port [8080]: <– 回车

Configuring DBServer

Installing Crontab

no crontab for root

no crontab for getmail

Restarting services …

Stopping MySQL: [ OK ]

Starting MySQL: [ OK ]

Shutting down postfix: [ OK ]

Starting postfix: [ OK ]

Stopping saslauthd: [ OK ]

Starting saslauthd: [ OK ]

Shutting down Mail Virus Scanner (amavisd): [ OK ]

Starting Mail Virus Scanner (amavisd): [ OK ]

Stopping Clam AntiVirus Daemon: [ OK ]

Starting Clam AntiVirus Daemon: [ OK ]

Stopping Courier authentication services: authdaemond

Starting Courier authentication services: authdaemond

Stopping Courier-IMAP server: imap imap-ssl pop3 pop3-ssl

Starting Courier-IMAP server: imap imap-ssl pop3 pop3-ssl

Stopping httpd: [ OK ]

Starting httpd: [ OK ]

Stopping pure-ftpd: [ OK ]

Starting pure-ftpd: [ OK ]

Installation completed.

[root@server1 install]#

然后就可以输入http://192.168.0.200:8080看看是不可以访问了。 

  • 发表评论
  • 查看评论
【暂无评论!】

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。