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,沒有任何問題。

====================
如何配置telnet服務?
CENTOS 5默認並未安裝telnet server,因此需要從其光盤上找到telnet-server-0.17-38.el5.x86_64.rpm進行安裝。
然後打開/etc/xinetd.d/telnet文件:
將disable = yes改爲disable = no
重啓xinetd服務即可。
====================
如何使新安裝的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" crossContext="true"/>

8、重啓httpd服務;

9、啓動tomcat:
/usr/local/tomcat/bin/startup.sh

10、在/var/www/html目錄建立一個簡單的hello.jsp頁面,進行測試:
[url]http://localhost/hello.jsp[/url]


=======================================
安裝郵件服務器相關軟件
參考文章:[url]http://lunsou.org/docs/extmail_solution_linux/[/url]
但該參考文章是基於CENTOS 4.x進行安裝配置。
而我們的服務器是CENTOS 5,因此很多rpm等相關軟件都必須要從網上下載最新的支持CENTOS5的版本,甚至要重新進行編譯後才能使用。

經過幾天的努力,終於將所有的軟件全部安裝配置完畢,由於安裝過程非常繁瑣,中間就沒有耐心進行詳細的筆記工作,現在只是回憶一下其中遇到的問題,將主要幾點列出並說明:
1、如果需要找某個rpm(比如rrdtool)的使用centos5的64位版本,可以在google中用rrdtool el5來搜索,一般來說,出現在最前面的是下面幾個網站:
   rpm.pbone.net
   rpmfind.net
   dag.wieers.com   這個網站上的rpm是最全的,下載也很方便,建議優先從此網站下載。

我們需要從以上網站下載el5的x86_64版本的rpm

2、關於與perl相關包的源碼編譯問題:
   perl module的搜索網站:
   [url]http://search.cpan.org/[/url]
   比如,從上面的網站搜索Net_SSLeay的源碼下載後,按照如下方式進行源碼編譯:
    tar zxvf Net_SSLeay.pm-1.30.tar.gz
    perl Makefile.PL
    make
    make test
    make install

   如果你發現某個perl module的rpm,無法在網上找到el5的x86_64版本,或者是雖然找到el5的x86_64版本,但是安裝時報文件衝突,你就必須下載這個module的源碼,進行重新編譯安裝。
  
3、rpm包的卸載問題
   在卸載一些rpm包時,尤其是與perl相關的包時,有時會遇到提示,說是無法卸載,同時存在多個安裝的package。這是因爲CENTOS5允許安裝同一個包的x86版本和x86_64版本。
   因此在卸載時,可以使用如下方法先卸載64位版本,再卸載32位版本:
   rpm -e <不帶rpm後綴的包名>.x86_64
   rpm -e <不帶rpm後綴的包名>
  
4、在安裝完extmail、extman、mysql後,本應該是可以訪問[url]http://localhost/extmail/[/url]和[url]http://localhost/extman/[/url]這兩個網址的,但我們發現事實在CENTOS5中此時仍然無法訪問。
   原因是缺少一些perl包。
   另外,新版的extmail在mysql中建表後,mailbox表中並沒有[email][email protected][/email]這個郵件地址,只有[email][email protected][/email]這個郵件地址,其默認密碼是extmail。
   extman的默認用戶是[email][email protected][/email],但默認密碼是 extmail*123*
  
5、測試authlib,出現authentication error: Input/output error錯誤的時候
估計是查詢mysql時,authdaemond出錯了。具體要打開authdaemonrc裏的:
DEBUG_LOGIN=2    原來默認是0
然後看看/var/log/message或/var/log/maillog 在認證失敗時有什麼提示。根據提示去檢查問題到底出在哪兒


6、rrdp和rrds的安裝出現了互相依賴的情況,這時需要將這兩個包同時安裝,例如:
   rpm -ivh <rrdp包> <rrds包>

7、postfix日誌在/var/log/maillog中,如果出現問題,需要查看此日誌

8、安裝有些RPM文件時必需使用root權限,否則將得到錯誤提示:
$ rpm -ivh compat-libstdc++-33-3.2.3-47.fc4.i386.rpm
warning: compat-libstdc++-33-3.2.3-47.fc4.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: can't create transaction lock on /var/lib/rpm/__db.000

9、編譯courier-IMAP包之前要安裝:
   1)、openldap-server
   2)、報fam.h is needed錯時需安裝gamin-devel-0.1.7-8.el5.x86_64

10、測試postfix和clamav失敗時,發現缺少perl module: File::Temp
    [url]http://search.cpan.org/~tjenness/File-Temp-0.19/Temp.pm[/url]
    需要下載該module的源碼並重新編譯。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章