+ -
当前位置:首页 → 问答吧 → 为了忘却的记忆——升级CentOS3.4手记

为了忘却的记忆——升级CentOS3.4手记

时间:2005-05-24

来源:互联网

为了忘却的记忆——升级CentOS3.4手记 2005年5月11日

记下安装过程作为备忘便于今后的维护,主要记录做了什么而不是如何做。

Host:HP LH6000U3 CPU:X700 内存:512兆 SCSI-34G x 2

系统迁移是一件吃力不讨好的事。原来运行的是Linux RedHat9.0,双网卡iptables,Apache,Sendmail,VPN,感觉不是十分安全,对Dos的进入只能眼睁睁的看着机器迅速趴下。那Sendmail天书也让人看得心里没底。在REHL4.0出现后计划升级。在别的机器上作原来环境模拟,没有问题后正式升级。但是,在HP机器上升级中问题还是出现,4.0版本内核已经不支持HP的NetRAID卡,在安装SCSI启动程序时找不到SCSI卡。于是改用了CentOS3.4即RHEL3U4进行安装,用的版本是CentOS3.4-Server,一张CD完全安装约1.5G,去掉了Gnome、KDE等许多非服务应用程序,这样,既能节省空间又能提高安全系数,然而,这可是斯巴达摩双刃剑,尽管安装了这个Server版本所有包,但是许多包包都省却了,后续安装程序赖以运行环境没有构建,例如:gcc、大量的perl组件都没有预先安装。

经验教训:当你没有完全把握所要安装的软件都已准备齐全的时候,最好安装完全版,四张CD或者DVD,所有的都要安装,不要心疼你的硬盘。如此,新添加程序所依赖的底层环境都已经构建。可以省却几乎令人绝望和痛苦的依赖性安装。虽然已经有了比较完善的在线升级机制,如:yum、apt,但主要是在已经安装基础上面进行的升级,如果是新程序安装还是需要库程序支持。

备份RH9.0主要文档:
一般人们都不太愿意系统升级和迁移,中外都是如此。它与新安装一台机器完全不一样,因为原来的系统年代久远,原有应用环境的构架可以也忘记得差不多了,所以有太容易疏忽的准备工作要做,主要是备份原来应用环境。写好升级内容与顺序书面计划,以便在正式升级的时候按部就班有条不紊。
帐号group gshadow passwd shadow
网站postnuke备份。
/etc/目录做备份
/var/spool/mail目录备份十分重要,用户个人的邮件信箱。
/dev/sdb即第二个硬盘作为/home分区。与系统隔离,为安全计,也做了备份。
一些自编脚本。如iptables、spam每周打包等等。


安装系统一切顺利。然后就是繁琐的系统配置了,先后顺序虽然没有一定的讲究但还是有轻重缓急之分。

一、配置网络:双网卡eth0 eth0:1对外;eth1对内。
增加虚拟网卡eth0:1:绑定两个IP。
cp /etc/syscongig/network-scripts/ifcfg-eth0 ifcfg-eth0:1
对ifcfg-eth0:1小作修改
网络环境:
eth0 61.x.x.x
eth0:1 61.x.x.x
eth1 192.168.0.19

修改hosts文件:
61.x.x.x a.b.c.cn
61.x.x.x c.b.a.cn
主机域名应该已经注册并且通知当地ASP,在其DNS中添加该若干主机名记录,还有mx记录。当然你的主机也可以做DNS,这就要通过DNS cache也就是根文件来进行解析,机器又多了一项开销,没有必要。
请ASP添加DNS记录时最好能添加PRT反向查询记录,有些苛刻的邮件服务器如美国在线AOL,在收邮件时就要反向查询,查不到域名就*回。都是垃圾邮件惹的祸。
修改resolv.conf,不改也罢反正这台linux不做客户机。
nameserver 指向域名记录主机IP,也就是你当地ASP。

二、安装mc文件管理器
rpm -ivh mc-4.6.0-4.rpm
用惯了mc,在字符下的一个文件管理窗口。比较直观,尤其是切换比较长的目录时显得特别有用。还有就是shell link,Linux机器文件对拷十分方便。
一般编辑文件还是用vim。

三、quota磁盘限额配置
/etc/fstab
usrquota,grpquota

这样不行:
quotacheck -avug /
quotacheck -avug /home

强行如此:
quotacheck -mc /
quotacheck -mc /home
在限额配置在所在磁盘中建立:quota.user quota.group
可以先编辑edquota xxx
再复制给多个用户:
edquota -p xxx `awk -F: '$3 >499 {print $1}' /etc/passwd`
这样就将quota的磁盘配额资料复制给所有uid >499的用户(uid为500以上的用户通常为真实用户),这就非常方便。

四、升级yum 安装apt
配置文件在/etc/yum.conf
修改配置:可以从centos3.4源升级,也从dag源升级。
找一个快一些的更新网站,便于升级或安装。
比较快的yum源:http://mirror.be10.com
5月21日kernel从2.4.21-27.0.4升级到2.4.21-32版本,也就是最新的RHEL3U5的内核
版本。

安装apt,使服务器的更新源扩大。
rpm -ivh apt-0.5.15cnc6-4.1.el3.rf
目录:/etc/apt
比较快的apt源:http://apt.sw.be
当需要升级spamassassin-3.03时还是缺少perl,于是从网上找了一堆perl才算搞定。最好rpm --import httpd://xxx.xxx.xx/xxx.key,让下载包安全一些。当然也可以不输入key,这要在配置文件中关闭此项功能。此时打开两个终端:yum update -y让机器升级系统,另一个继续安装。

五、安装php-mmcache-4.3.2
系统网络和底层环境基本到位后,及时安装Web,使网站中断时间尽可能缩短。
为php类的网站做cache,提高网站浏览速度。
rpm -ivh php-mmcache-4.3.2_2.4.6-4.1.el3.dag
cache目录不再原先的/tmp,而在/var/cache/mmcache
配置在/etc/php.d/目录中而不是原先直接写入/etc/php.ini
还是用mmcache-2.4.6版本,明显要比Zend Optimizer快,且更加精简。

六、安装postnuke Web
把备份/var/lib/mysql/Ph复制到原目录。
把备份/var/www/postnuke复制到原目录。
实际上是/var/www/postnuke/config.php文件中连接mysql的配置。
日历的smart cache 中的几个目录有点问题删除之。

httpd.conf
建立虚拟主机,比较简单。
许多配置都已经单独形成一个文件在/etc/httpd/conf.d/目录中。
修改了:conf.d/php.conf上传限制;mrtg.conf操作许可,使mailscanner-mrtg可以读取mrtg的logo。

七、建立用户环境:
复制备份的passwd、shadow、/var/spool/mail到原来目录,建立起用户环境,由于在/dev/sdb上的/home目录没有受损,用户的个人资料完好无损。
修改新建用户相关目录:/etc/default /etc/skel,后者是新建用户目录的初始环境拷贝,在目录中删除所有文件添加目录public_html,这是个人web目录。如果要作个人网站,在/etc/httpd/conf/httpd.conf中找到相关的个人网站配置,去掉“#”就可使用个人网站。

八、配置vsfptd
两个IP,一个做匿名访问;一个做虚拟用户访问。后者通过mysql进行用户认证,与系统用户分离,比较安全。
直接编译pam_mysql0.50只支持RH90不支持centos3.4,从网上找到pam_mysql.rpm
目录文件:/etc/pam.d /lib/security/pam_mysql.so

九、postfix配置

两个IP各绑一个域名,使这两个域名都能收信,因为新注册了一个二级域名:itzx.cn 而原先的三级域名itzx.net.cn还要继续使用。

在配置好基本的postfix后,发现能发信不能收信,仔细检查发现:在恢复原来系统的/var/spool/mail目录时,个人邮件文件拥有者都变成root:root而不是原本的"个人帐号:mail"。原因:安装前把这个目录备份到一台Linux机器,而这台主机没有原来的系统账号存在,所以都变成了root:root,当还原回来后就造成了postfix能发信,不能把收到的信写入/var/spool/mail/个人帐号文件,改成原来的拥有者,解决问题。

sasl认证,防止SMTP做了垃圾邮件中转。
在/etc/postfix/main.cf文件中添加若干sasl语句。
echo 'mech_listlain login' > /usr/lib/sasl2/smptd.conf
service saslauthd start
chkconfig saslauthd on

为root建别名:
vim /etc/aliases
root: postfix
执行postalias /etc/aliases

察看/etc/log/mail.log,在日记中有警告信息:warning: dict_nis_init: NIS domain name not set -NIS lookups disabled
执行命令:postconf|grep nis 找到/etc/postfix/main.cf文件中的alias_maps = hash:/etc/aliases, nis:mail.aliases 去掉其后即可。烦人的出错信息消除。

Webmail配置:选用openwebmail,由台湾成大董博士主持,更新十分迅速,稳定成熟功能也多。
MIME-Base64版本必须要在3.0以上,用MIME-Base64-3.03.tar.gz进行编译。
需要gcc支持,系统缺省只有libgcc,从网上下载gcc.rpm安装。
目录:/var/www/cgi-bin/openwebmail
配置还是比较方便,主要是smtp server要写本地主机地址127.0.0.1

十、安装clamav
开放源码软件,扫病毒邮件,定时更新病毒库
首先建用户:
useradd clamav -M -s /sbin/nologin
版本:clamav-0.85
./configure
make
make check
make install
make clean
配置和病毒库目录:
/usr/local
升级的日记:/tmp/clamav.update.log

十一、MailScanner+spamassassin病毒垃圾邮件扫描系统。
在安装之前首先要配置好为mailscanner+spamassassin配合工作的postfix,postfix不能直接启动,必须要用两个一进一出的postfix进程由mailscanner带动。
目录:
/etc/MailScanner
/etc/sysconfig/MainScanner
/etc/cron.hourly/check_MailScanner
/usr/lib/MailScanner
/var/spool/MailScanner
/etc/rc.d/init.d/MailScanner

安装mailScanner-4.41.3-1遇到了许多麻烦,缺少大量的perl包,只能从网上search.cpan.org/~eryq找到这种perl编译包,再用用apt-get upgrade perl-Net-CIDR tnef更新两个包,才搞定,4、5个小时去了。事后知道:perl包也有专门的在线升级cpan,执行:perl -MCPAN -e shell。或者找一个perl-CPANPLUS.rpm包安装并配置,之后再需要perl包的时候,执行cpan进行在线安装perl。

把/etc/cron.hourly/update_virus_scanners文件移动到/etc/cron.daily,使升级病毒代码从原来的一小时改为一天。

复制:55_diy_score Chinese_rules文件到/usr/share/spamassasin,两个文件对中文垃圾邮件处理比较完善准确。

定期从http://www.ccert.edu.cn下载Chinese...am文件里:
wget -N -P /usr/share/spamassassin
http://www.ccert.edu.cn/spam/sa/Chinese_rules.cf; service MailScanner restart

-N 比较文件更新;-P 指定目录

配置系统时一定要小心,安装不能强行安装:
为了awstats的一个插件,编译了Time-HiRes,不行,直接把目录里的HiRes.pm拷贝到/usr/lib/perl5/5.8.0/Time目录里,结果MailScanner起不来了。仔细一想,在这之前做过的就这件事,把文件删除,重新启动,就好了。

在/var/log/maillog中发现,在升级病毒代码库时,除了升级clamav之外,还升级generic,事实上后者不存在,在/etc/MailScanner/virus.scanners.conf文件中注释掉generic即可。
这样,在升级病毒库时不会多启动一个进程。

十二、配置mailscanner-mrtg,一个垃圾病毒邮件统计分析网页输出。
目录:
/etc/MailScanner/mailscanner-mrtg.conf
内在配置。

/etc/mrtg/mailscanner-mrtg.cfg
配置输出格式。
添加:Language = cn

/var/www/html/mailscanner-mrtg
输出统计分析网页。对首页作了修改和中文化工作。

/usr/lib/mailscanner-mrtg
核心代码。

/usr/sbin/mailscanner-mrtg,执行文件,修改其中语句,使输出页面不显示某些信息。

service snmpd start启动snmp。
/etc/snmp/snmpd.conf配置,显示内存,CPU,网络传输信息。

/etc/cron.d/mailscanner-mrtg.crond
cron排程器每5分钟更新一次数据。
auditd进程要启动与cron一起使用,否则,在cron.log中会有出错信息:
LAuS error - do_command.c:226 - laus_attach: (19) laus_attach: No
such device.


十三、awstats配置:
一个可能最好的网站分析web页面,直观多维。
awstats-6.4-1.1.el3.rf.rpm
原来在安装时直接写入/etc/httpd/conf/httpd.conf文件,现在关于http配置已经放在:/etc/httpd/conf.d/awstats.conf,只对此进行必要修改,更加干净。
目录:
/etc/awstats 主要配置文件
/var/lib/awstats 数据目录
/var/www/awstats 网站
/etc/httpd/conf.d/awstats.conf http环境配置
添加几个插件:hostinfo userinfo geoipfree。最后一个有价值,用国旗方式显现IP所在国家。
每小时更新一次写入cron:
/var/www/awstats/awstats.pl -update -config=zjit.3322.org > /dev/null

十四、配置VPN
编译kernelmod-0.7.1.tar.gz,提供windows下的mppe128加密。
ppp-2.4.3-4
pptpd-1.2.3-1
主要配置目录:
/etc/pptpd.conf
/etc/ppp/options.pptpd

注意只有iptables进行nat,外来的访问才能到达内网:
/etc/sysctl.conf:
net.ipv4.ip_forward = 1

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j MASQUERADE

十五、webmin配置:一个远程的系统管理Web界面。
版本:1.200-1.1
需要perl-Net-ssleay模块,才能https

______________
欢迎访问:
浙江职教计算机专业网
邮件扫描统计系统

作者: ymyhz   发布时间: 2005-05-24