64位CENTOS 5(RED HAT AS5)安装配置(web服务、邮件服务、WEB邮件)小记

Red Hat Enterprise Linux是收费的,但是对于中小型IT企业来说,使用CENTOS也是不错的选择。CENTOS是将Red Hat Enterprise Linux的源码进行部分修改然后重新编译,发布出的可以免费使用的企业级服务器操作系统,提供免费的在线升级服务,但不提供技术支持。因此需要企业有熟悉Linux操作的维护人员。

CENTOS的版本是与Red Hat Enterprise Linux的版本同步的。
我从CENTOS网站上下载了64位的CENTOS DVD ISO,安装非常简单,将ISO文件刻录成DVD,然后插入光盘,从光盘启动安装,选择图形方式,一路都很顺利。
在选择安全方式时,采用推荐的SELinux方式。XWINDOW我选择的是GNOME。

安装完成后,按CTL+ALT+F7可进入XWINDOW。

先配置好网络,通过firefox上网试试看,字体等各方面都不错,但是唯一遗憾的,Adobe目前仍未提供64位的Flash Player,因此无法观赏网页内的Flash,不过网上有一些第三方的解决办法据说可以解决这个问题。因为我主要是将这台服务器作为web server,所以无须关心这个问题。

vsftp是系统自带的ftp服务器程序,默认是未启动,在服务中启动vsftpd服务,但是通过ftp客户端连接该服务器进行测试,报cannot change directory to /home/<user>类似的错误。原来这是SELinux的安装配置阻止了ftp客户端访问home目录。具体的信息及处理方法如下:
Summary
    SELinux is preventing the ftp daemon from reading users home directories (home).Detailed Description
    SELinux has denied the ftp daemon access to users home directories (home). Someone is attempting to login via your ftp daemon to a user account. If you only setup ftp to allow anonymous ftp, this could signal a intrusion attempt.Allowing AccessIf you want ftp to allow users access to their home directories you need to turn on the ftp_home_dir boolean:
"setsebool -P ftp_home_dir=1"
The following command will allow this access:
setsebool -P ftp_home_dir=1

后面我还要安装tomcat、qmail+extmail等各种网络服务。
因时间关系,先随时记下这些东西,等以后有空再慢慢整理。

========
SAMBA配置部分,我配置好SAMBA的访问用户和目录,从WINDOWS端访问CENTOS服务器总是无法访问,经查证,也是因为SELINUX的安全策略原因,解决办法如下:
Summary
SELinux is preventing the samba daemon from reading users home directories.
Detailed Description
SELinux has denied the samba daemon access to users home directories. Someone is attempting to access your home directories via your samba daemon. If you only setup samba to share non home directories, this probably signals a intrusion attempt. For more information on SELinux integration with samba, look at the samba_selinux man page. (man samba_selinux)Allowing AccessIf you want samba to share home directories you need to turn on the samba_enable_home_dirs boolean: "setsebool -P samba_enable_home_dirs=1"
The following command will allow this access:
setsebool -P samba_enable_home_dirs=1

================
64位CENTOS 5默认JAVA SDK的版本是1.4。
第一次从sun网站上下载AMD 64的JDK 6,安装后,运行eclipse总是报ExitCode 13的错误。

因为我的服务器的CPU是INTEL XEON 64位的,但是在sun的网站上就没有x86 64位的jdk可以下载。只有下载x86的jdk版本了。

用rpm -e jdk先卸载第一次安装的amd64版本的jdk6,再安装这个x86版本的jdk,运行Eclipse,没有任何问题。

==============

如何使新安装的JDK6成为系统的默认JDK?
/etc/profile.d目录下创建一个文件java.sh,内容如下:
#set java environment
JAVA_HOME=/usr/java/jdk1.6.0_03
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export  JAVA_HOME  CLASSPATH  PATH

需要将java.sh的属性改为可执行。
===================
如何安装新版的MySql?
我下载了msql 5.0的64位最新版本,直接安装,报“安装包更新错误,可能是网络连接问题”,一开始以为这个安装程序要上网下载一些资料,而安装程序无法通过代理服务器访问互联网。经过屡次尝试都无效后,只能想办法将老版本的mysql(因我安装CENTOS时选择安装了SERVER包,所以包含MySQL)卸载掉,由于IMAP服务器Dovecot使用了MySQL服务器,因此必须先卸载Dovecot,具体卸载命令如下:
rpm -e dovecot
rpm -e mysql

再安装新版的MySQL,没有任何问题,成功!

至于Dovecot,由于后面我不打算使用这个IMAP服务器,就不用再重新安装了。


必须安装mysql 5.0 client,才能在terminal中使用mysql命令行工具!一开始我以为server安装包已经包含了命令行工具。

mysql server的root用户默认情况下是不允许远程访问的,需要通过mysql命令手工打开。

要在/etc/sysconfig/iptables中打开centos的3306端口,然后使用以下命令重启防火墙服务:
/sbin/service iptables restart

===================
安装TOMCAT 6.0.14,并和Apache进行整合:
1、httpd使用CENTOS 5系统自带的软件包,并基于默认配置;
2、下载64位的apache-tomcat-6.0.14.tar.gz,并解压缩到/usr/local/tomcat目录下;
3、下载64位的mod_jk-1.2.25-httpd-2.2.4.so,并复制到/etc/httpd/modules目录下;
4、在/etc/httpd/conf目录下建立mod_jk.conf文件,内容如下:
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /etc/httpd/conf/workers.properties
# Where to put jk logs
JkLogFile /etc/httpd/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* lb-server
JkMount /*.jsp lb-server

5、在/etc/httpd/conf目录下建立workers.properties文件,内容如下:
# Defining a worker named worker1 and of type ajp13
worker.list=lb-server
# Set properties for worker1
worker.lb-server.type=ajp13
worker.lb-server.host=localhost
worker.lb-server.port=8009
worker.lb-server.lbfactor=50
worker.lb-server.cachesize=10
worker.lb-server.cache_timeout=600
worker.lb-server.socket_keepalive=1
worker.lb-server.socket_timeout=300

6、在/etc/httpd/conf/httpd.conf中的LoadModule段后加入:
#======for tomcat 6 config======
LoadModule jk_module modules/mod_jk-1.2.25-httpd-2.2.4.so
Include /etc/httpd/conf/mod_jk.conf
#===================================

7、在/usr/local/tomcat/conf/server.xml中的host段中加入:
<Context path="" docBase="/var/www/html" debug="0" reloadable="true" crossC/>

8、重启httpd服务;

9、启动tomcat:
/usr/local/tomcat/bin/startup.sh

10、在/var/www/html目录建立一个简单的hello.jsp页面,进行测试:
http://localhost/hello.jsp