疯狂老头版《CentOS 5.1下用源码编译安装ExtMail》的笔记订正(1)
2008-12-01 00:48:32 作者:龙飞 来源:龙飞网 浏览次数:0 网友评论 0 条
这是我在参考疯狂老头撰写的《CentOS 5.1 下用源码编译安装 ExtMail》进行安装Extmail邮件服务器时发现的一些心得和纰漏,在此发布出来,供大家一同参考。顺便说明一下,我的笔记订正,只到疯狂老头撰写的第四部分,第五部分目前还没有研究过。红字部分是我的批注
第一部分
修改系统的默认语言。上面步骤安装完 CentOS 5.1 后,默认的系统语言是 zh_CN.UTF-8,为了下面的安装,我们将其更改为 en.UTF-8,如下:
#vi /etc/sysconfig/i18n
LANG="en.UTF-8"
#LANG="zh_CN.UTF-8"
以前不明白为什么非要改不可,后来在安装中发现,一些Perl写的小程序遇到LANG="zh_CN.UTF-8"的时候无法继续执行下去,所以必须改。
第二部分
安装 MySQL
# /usr/sbin/groupadd -g 27 mysql
# /usr/sbin/useradd -c "MySQL Server" -u 27 -d /usr/local/mysql -g mysql -s /bin/bash -M mysql
# tar zxvf mysql-5.0.51.tar.gz
# cd mysql-5.0.51
# ./configure \
--prefix=/usr/local/mysql \
--sysconfdir=/etc \
--enable-thread-safe-client \
--enable-local-infile \
--with-unix-socket-path=/var/lib/mysql/mysql.sock \
--with-charset=utf8 \ 我根据自己的需要改成了utf8,注意不是utf-8,否则将无法执行
--with-extra-charset=all \
--with-low-memory
# make
# make install
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
# cd /usr/local/mysql
# chown -R mysql .
# chgrp -R mysql .
# bin/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql var
# bin/mysqld_safe --user=mysql&
# cd /dl/mysql-5.0.45 (这里的目录指的是原压缩包解压后的目录) 我直接回到我自己建立的/dl目录下,那里存放着我所有的有关安装这个系统的安装文件
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 755 /etc/rc.d/init.d/mysqld
加入自动启动服务队列:
# echo "/etc/rc.d/init.d/mysqld start" >> /etc/rc.local
也可以写成chkconfig --add mysqld
添加 mysql-root 密码:# /usr/local/mysql/bin/mysqladmin -uroot password 新密码
配置库文件搜索路径:
# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
# ldconfig (这一步骤,千万不要忘记了哦)
# ldconfig -v
添加 /usr/local/mysql/bin 到环境变量 PATH 中:
# export PATH=$PATH:/usr/local/mysql/bin
这个写法,只能临时使用路径,电脑一旦重启就没有了。如何可以永久保存,我还在研究。
检查下 PATH 中是否写入了 /usr/local/mysql/bin 路径:
# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
测试 MySQL :
# /etc/rc.d/init.d/mysqld start
也可以写成service mysqld start
Starting MySQL [ OK ]
(注意:以上方式安装好 MySQL 后,其 mysql.sock 文件位于 /var/lib/mysql 目录下。)
(二)安装 perl-DBI ,DBD::Mysql 和 Unix::syslogd
ExtMail 将会用到 perl 的 DBD::Mysql 和 Unix::syslogd 功能,您可以去 http://search.cpan.org 搜索下载原码包进行安装。
# tar zxvf Unix-Syslog-1.0.tar.gz
# cd Unix-Syslog-1.0
# perl Makefile.PL
# make
# make install
# tar zxvf DBI-1.58.tar.gz
# cd DBI-1.58
# perl Makefile.PL
# make
# make install
DBD-Mysql 目前最新版本为 4.005,但它和系统中的 perl 结合使用时会造成 extmail 无法正常使用,因此我们采用 3 的版本:
# tar zxvf DBD-mysql-3.0002_4.tar.gz
# cd DBD-mysql-3.0002_4
# perl Makefile.PL
(此步骤中如果出现类同 Can't exec "mysql_config": No such file or directory at Makefile.PL line 76. 的错误是因为您的 mysql 的 bin 目录没有输出至 $PATH 环境变量中)
# make
# make install
(三)安装 rrdtool 所需的软件包
# rpm -ivh freetype-2.2.1-19.el5.i386.rpm
# rpm -ivh freetype-demos-2.2.1-19.el5.i386.rpm
# rpm -ivh freetype-devel-2.2.1-19.el5.i386.rpm
可以简写成rpm -ivh freetype-*.rpm
这里作者写的有问题,CentOS5.1安装完毕之后,已经有freetype安装在内,而且和这些文件有冲突,不能通过Uvh的方式进行升级,必须先用rpm -e --nodeps freetype进行删除,然后再进行安装。如果是5.0就没有这个问题。
# rpm -ivh libart_lgpl-devel-2.3.17-4.i386.rpm
# rpm -Uvh libpng-1.2.10-7.1.el5_0.1.i386.rpm
# rpm -Uvh libpng-devel-1.2.10-7.1.el5_0.1.i386.rpm
可以简写成rpm -Uvh libpng-*.rpm
(四)安装 Time::HiRes 和 File::Tail 和 rrdtool-1.2.26
安装 Time::HiRes
# tar zxvf Time-HiRes-1.9711.tar.gz
# cd Time-HiRes-1.9711
# perl Makefile.PL
# make
# make install
安装 File::Tail
# tar zxvf File-Tail-0.99.3.tar.gz
# cd File-Tail-0.99.3
# perl Makefile.PL
# make
# make install
安装 rrdtool-1.2.26
(建议使用下面 rpm 包方式来安装 rrdtool)
# rpm -ivh rrdtool-1.2.23-3.el5.i386.rpm
# rpm -ivh rrdtool-perl-1.2.23-3.el5.i386.rpm
可以简写成rpm -ivh rrdtool-*.rpm>