紅旗Linux系統默認安裝後,沒有自帶數據庫軟件,這滿足不了我們做Java EE 開發的需求,因此我們需要自己安裝數據庫軟件,首選的當然是MySQL。雖然在紅 旗的工具光盤中,提供有MySQL 4.0的RPM包,但是我仍然選擇MySQL 5.0。到 MySQL的官方網站可以下載該軟件的最新版本,如下圖:
在下載頁面可以看到,5.1是beta版,6.0是alpha版,因此我們沒有必要追求 最新的版本,就用5.0好了。從5.0版開始,MySQL分為社區版和企業版,當然,企 業版是要錢的了,所以我們只能選擇社區版。
MySQL的打包方式也有很多種,可以直接下載源代碼,自己編譯,也可以下載 針對特定Linux系統的RPM包。我選擇的是non rpm的打包方式,下載下來後就是一 個名為mysql-5.0.45-linux-i686.tar.gz的壓縮文件,大小為77.5M。當然,你也 可以選擇For Red Hat Enterprise Linux 4的RPM包,因為紅旗Linux系統發布的 時候就宣稱對紅帽的RPM包兼容,而在紅旗提供的工具光盤種,我看到有不少軟件 包是RHEL 4中的,因此可以確定,紅旗Linux至少能夠支持RHEL 4中的RPM包。
如果使用的是RPM包,那麼安裝起來就很簡單了,不爽的是Server和Client以 及其它的庫都單獨打包,下載起來麻煩。而我下載的單一壓縮文件就方便多了, 不過解壓後需要經過一些設置才可以使用。
1、先將壓縮包解壓,放置到/usr/mysql目錄
2、建立mysql用戶
3、運行mysql_install_db初始化數據庫
整個過程如下圖,在設置的過程中,我們還可以看到MySQL的數據將會存放 在/usr/mysql/data目錄,而且在初始化數據庫之前,/usr/mysql/data/mysql目 錄中是空的,沒有任何表文件。如下圖:
設置完成之後,就可以使用./bin/mysqld_safe來啟動數據庫服務器了 ,要注意到,無論是初始化數據庫還是啟動數據庫服務器,我們都指定了-- user=mysql參數,也就是讓他們以mysql用戶運行,這主要是從安全方面考慮的。 啟動服務器後,使用./bin/mysqladmin來設置root帳號的密碼,最後使 用./bin/mysql鏈接服務器,就可以使用各種數據庫操作了。如下圖:
在紅旗Linux桌面5.0系統中,是沒有集成HTTP服務器的,這和大多數 Linux系統都集成Apache httpd服務器不一樣。因此,我們必須得自己下載和安裝 httpd服務器。最新版本的下載地址如下圖:
這個頁面中給出的鏈接是源代碼包的鏈接,所以我們需要自己編譯並安 裝。下載的文件是httpd-2.2.6.tar.gz,我們先解壓縮,如下圖:
進入到httpd-2.2.6目錄後,我們就可以進行編譯了,編譯需要C編譯器 的支持,幸好,紅旗桌面對GCC及其相關的庫還是集成得比較好的,所以編譯過程 很成功,在我的虛擬機上,只化了7分鐘不到。
首先進行配置,命令如下:
./configure --prefix=/usr/httpd
也就是決定把它安裝到/usr/httpd目錄,運行該命令後,會對系統進行檢測, 看我們的系統支持什麼樣的編譯器和什麼樣的庫,並修改build文件,這個過程需 要幾分鐘。
下一步,編譯源代碼,命令如下:
make
這一步的執行過程比較長,請耐心等待。
最後一步,安裝,命令如下:
make install
這個過程比較快。
安裝完成後,我們就可以進入到該軟件的安裝目錄,先修改配置文件,然後啟 動服務器。命令如下圖:
修改配置文件的過程如下圖,我們只需要修改ServerAdmin和DocumentRoot兩 個參數即可,其余的配置,我們完全可以等到用到的時候再說。
服務器啟動後,我們就可以通過浏覽器訪問http://localhost/了,如下圖:
肯定有人認為,HTTP服務器在Java開發的過程中基本沒有太大的作用,因為 Java世界有太多的優秀的應用服務器。事實上,我在做Java開發的過程中,也只 使用Tomcat作為測試用的Web服務器,盡管不排除Java Web應用部署的時候也可以 用到Apache httpd。那麼我們為什麼還是要在我們的系統上裝上httpd呢?原因很 簡單,那就是為了以後安裝Bugzilla打基礎,Bugzilla需要httpd,還需要一個郵 件服務器。在Linux系統上,有很多種郵件服務器可用,但是使用最廣泛的應該是 SendMail,盡管它配置起來很復雜。
幸好,紅旗桌面自帶了SendMail服務器,使用rpm -qa | grep sendmail就可 以看到,但是默認情況下沒有啟動。我們只需要調用/usr/sbin/sendmail -bd就 可以啟動它了,啟動後,通過ps ax | grep sendmail就可以看到SendMail已經作 為一個服務器進程運行了。如下圖: