CentOS 5下安装ISPConfig详细中文教程
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 server.ispcpcn.com server ::1 localhost6.localdomain6 localhost6 |
4、 禁止防火墙和SELinux,如果您在安装前已经禁止了,这一步可以忽略。运行下面的命令:
| system-config-securitylevel |
在下面这个界面中禁止防火墙和SELinux

然后重启服务器:
5、安装一些所需的软件包。
首先我们运行下面的命令:
| rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY* |
然后对系统进行更新升级
安装系统开发包,为下一步编译部分软件做准备。
| yum groupinstall 'Development Tools' 'Development Libraries' |
5、安装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,安装前,为了能安装一些官方没有的软件,我们需要运行下面的命令,使用一些非官方的软件库,方便安装。
如果上面的软件包无法下载,你可以到:
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的编译只能使用普通用户,为此我们切换到我们先前建立的普通用户ispcpcn下去。
在编译前,还需要进行一些初始化的编译环境的建立。
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去下载源码包
现在我们开始编译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 courier-imap-4.4.1-1.i386.rpm exit |
8、安装Postfix,并给其增加Quota和Mysql支持。我们必须下载Postfix的RPM源文件,给Postfix打上Quota和Mysql补丁,然后编译成RPM包,再安装。
然后会出现许多 warning: user mockbuild does not exist - using root warning: group mockbuild does not exist - using root 这样的错误,不用理会他,我们继续:
为了增加Quota和Mysql支持,我们必须编辑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,但是我们的服务器的主机名是server.ispcpcn.com,当我们使用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=server.ispcpcn.com”替换掉。
| vi /usr/lib/courier-imap/etc/imapd.cnf |
然后替换成:
[...] CN=server.ispcpcn.com [...] |
编辑/usr/lib/courier-imap/etc/pop3d.cnf
| vi /usr/lib/courier-imap/etc/pop3d.cnf |
替换成
[...] CN=server.ispcpcn.com [...] |
然后我们重新建立这两个证书:
./mkimapdcert ./mkpop3dcert |
然后我们重新启动courier-authlib和courier-imap:
/etc/init.d/courier-authlib restart /etc/init.d/courier-imap restart |