時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
Ubuntu 8.10 server,由于經(jīng)驗匱乏,其間的一些問題反復(fù)折磨了我好幾天,終于基本擺平,紀之以備忘。
0、目的和假定
目的是要配置一個基于 Ubuntu Linux 的 web 服務(wù)器。需要提供 HTML、JSP、Socket 服務(wù)。
假定均以 root 登錄系統(tǒng),如果不是 root,部分命令需要加上 sudo 命令前綴。
1、系統(tǒng)安裝
1.1 基本系統(tǒng)
Ubuntu 真的是個非常好的 Linux 實現(xiàn),安裝非常簡便,手動安裝過 Windows NT/XP/2000/2003 的話,會發(fā)現(xiàn)過程沒太大區(qū)別。
1.2 隨機組件
因為要做 web 服務(wù),所以在選擇安裝服務(wù)組件時,最好選中 LAMP 組件自動安裝部署,我在另一臺機器上嘗試了手工安裝部署 LAMP,要麻煩很多。
可以裝上 OpenSSH,之后通過遠程管理服務(wù)器非常方便。
別的組件根據(jù)需要選擇安裝。
2、系統(tǒng)配置
2.1 網(wǎng)卡配置
提供網(wǎng)絡(luò)服務(wù),是 Server 的主要存在意義,所以第一步是要保證接入網(wǎng)絡(luò)。
系統(tǒng)安裝過程中有機會配置網(wǎng)卡,順利的話,www.britepic.org裝好后即可正常接入。若要修改配置,或是使用了另裝的驅(qū)動,需要手工配置網(wǎng)卡。
方法是用修改 /etc/interfaces 文件(可用 vi 或 nano 等編輯器,下同)。
# 第一塊網(wǎng)卡配置
auto eth0
iface eth0 inet static
address 192.168.0.80
netmask 255.255.255.0
gateway 192.168.0.1
以上是靜態(tài) IP 的情況,如果是動態(tài)獲得地址,只需將 static 改為 dhcp,且無需下面的參數(shù)。
沒有 VPN 的情況下,原來的 network、broadcast、dn-nameservers 都可以注釋掉。
2.2 系統(tǒng)升級
安裝完成后的 Ubuntu 已經(jīng)可以穩(wěn)定運行,幾乎不需要任何配置。但應(yīng)該保持系統(tǒng)內(nèi)核及外圍補丁的及時更新??梢杂?apt-get update 檢測升級各項補丁。
(系統(tǒng)默認的源(apt sources)有可能比較慢,根據(jù)網(wǎng)絡(luò)接入情況,可以換上速度較快的源。一開始用 cn99 的源,首次 udpate 花了近 5 小時,之后換了上海交大的網(wǎng)通源,速度還將就。)
2.3 其他設(shè)備
沒有了。text-based 界面,終端的好處啊,顯卡聲卡之類雜七雜八的都不用去管了。USB 標準統(tǒng)一,基本上都能由系統(tǒng)自動驅(qū)動。
SCSI、RAID 這些,沒有環(huán)境,沒試過單獨配置。
2.4 默認語言
后悔裝了中文版,既然是終端模式,又何必要中文…反而讓許多命令提示顯示成了亂碼。解決方法如下:
a. 安裝命令行中文支持
網(wǎng)上提到個 zhcon,但經(jīng)測試其目前版本在 8.10 下無法正常工作,實際上它自己也說明了暫時只支持到 8.04。
b. 修改默認語言為英文
#export LANG="en_US.UTF-8″
#export LANGUAGE="en_US:en"
這樣所有的系統(tǒng)提示都是英文了,不過重啟后會失效,要長期有效,需要修改 /etc/default/local,將這兩行加到其中即可。
2.5 圖形界面
用做服務(wù)器的話,實際上不需要配置 GUI,不過因為初裝,對 Ubuntu 和 Linux 都不熟悉,所以還是裝了個 gnome 協(xié)助管理。
服務(wù)器版配置 gnome 也很方便:
a) 安裝:
#apt-get aptitude install Ubuntu-desktop
安裝成功后便會自動登錄到桌面了。
GUI 里確實可以更方便地進行很多操作,尤其是文件、目錄、文本編輯的操作,這些在終端下都是
繁雜的工作。不過很多系統(tǒng)操作,還是要在終端下更方便進行,跟 Windows 不同,GUI 在
Server 上很多時候只起個輔助作用。
b) 取消 GUI 自動啟動:
#update-rc.d -f gdm remove
重啟后便不會自動進入桌面,此時可用 startx 啟動桌面。
c) 恢復(fù) GUI 自動啟動:
#update-rc.d gdm defaults
3、LAMP
3.1 神奇的縮寫
全稱 = Linux + Apache + MySQL + PHP/Perl/Python
縮寫 = LAMP
全稱 = 社會經(jīng)濟學(xué)
縮寫 = xxx
…
3.2 配置
#p#副標題#e#
如果沒有特別的要求,那這四個組件都不需要單獨配置。此時用? http://localhost 已經(jīng)可以打開 apache 的 It Works 頁面。
3.3 MySQL 的管理
如果要用 phpMyAdmin 來管理 MySQL,那可以用 apt-get 安裝,或用 wget 命令從網(wǎng)上下載,再 tar 解壓到 /var/www/phpMyAdmin,之后需要一個簡單的配置:
a. 復(fù)制配置文件:
#cd /var/www/phpMyAdmin
#cp phpMyAdmin/config.sample.inc.php config.inc.php
b. 修改配置文件:
$cfg['blowfish_secret'] = "; /* 在此處填上 cookie 認證標識,隨便填,不留空即可 */
保存后,在 http://localhost/phpMyAdmin 即可訪問 pma 了,用安裝時輸入的 MySQL 口令即可進入管理。
如果只在服務(wù)器上操作,那就只能用 mysql 命令行了:
#mysql -uroot -p
4、Java 環(huán)境
#apt-get install sun-java6-jre
#apt-get install sun-java6-jdk // 可選
如果安裝 java6 以前的版本,安裝后還需要設(shè)置 $JAVA_HOME、$CLASSPATH 環(huán)境變量,并加入到登錄用戶的 .bashrc 文件中。
經(jīng)測試 java6 不需要手工聲明,但不排除部分軟件認死理的可能,所以也可以寫進去,在此不贅述。
5、tomcat
用 apt-get 安裝好 tomcat,感覺 Linux 下的軟件安裝好后就像被炸彈炸飛的人體——分散得到處都是。
以下是初步的分析,可能有誤:
/etc/tomcat6 - 全局配置
/usr/share/tomcat6/ - 程序主目錄
/usr/share/tomcat6/conf/Catalina/localhost/ - 本機部署的 Catalina 配置
/var/lib/tomcat6/ - 工作主目錄
/var/lib/tomcat6/webapps - (應(yīng)用文件實際存放于此)
/var/lib/tomcat6/work - 動態(tài)工作目錄(動態(tài)編譯的 .jsp 存放于此)
5.1 添加管理用戶
在 /etc/tomcat6 下是 tomcat 的全局配置,這里需要修改 tomcat-users.xml
a. 添加角色名
b. 添加用戶
這樣在重啟 tomcat 后,才可以用 admin 登錄到 manager 頁面。
5.2 啟動/停止命令
很多時候需要手動啟動/停止 tomcat,/usr/share/tomcat6 是 tomcat 的主程序目錄。
/usr/share/tomcat6/bin/startup.sh
/usr/share/tomcat6/bin/shutdown.sh
這兩個便是啟動和停止 tomcat 服務(wù)的腳本。
次次啟動的話,此處有可能需要手動創(chuàng)建 conf 和 logs 目錄:
#cd /usr/share/tomcat6
#mkdir conf
#mkdir logs
如果要非 root 身份啟動 tomcat,則需要修改 logs 目錄權(quán)限:
#chmod a+rw logs
沒有意外的話,到這一步為止,這臺 Server 就可以正常工作,提供所需的服務(wù)了。
如果接入互聯(lián)網(wǎng)速度夠快的話,安裝配置這樣一臺 Server 大概只需要不超過 3 小時。
6、疑難問題
這里只能記下我遇到過的問題,接觸時間太短,后面的問題肯定還多,慢慢來。
6.1 系統(tǒng)
a. 只要安裝盤或安裝源沒問題,安裝就不會出問題,如果有問題,99% 都是硬件原因引起的(尤其是內(nèi)存)。
b. 系統(tǒng)升級有可能失敗,如果確定網(wǎng)絡(luò)沒問題,可以更換其他的 apt 源重試。
6.2 tomcat
a. 服務(wù)啟動失敗
根據(jù)提示判斷原因,通常只有幾種可能:
a1. 當(dāng)前用戶權(quán)限不足,無法創(chuàng)建運行期文件和目錄
a2. Java 環(huán)境配置不正確,找不到 jre 或相關(guān)的 .jar 文件
a3. 指定的端口被占用(tomcat 默認為 8080)
確定了原因,對應(yīng)的解決方法都比較簡單。
b. 站點解析失敗
這里有個特別的情況,比如我站點 sun-web.xml 里配置了 context-root 為 iGN,但實際發(fā)布的 .war 文件名為 iGN_JSP.war,這樣部署到 tomcat6/webapps 下時,自動解包為 iGN_JSP,而在瀏覽器里的www.britepic.org實際 root 就成了 iGN_JSP,這一點跟在 Windows 平臺上有差別。
c. Java 安全策略問題
之前做 Flash 的時候,在它的安全策略上折騰了近一周才搞定。沒想到 Java 也有這一手,又被折磨了幾天。
問題發(fā)生在 jsp 連接 MySQL 的時候,在 Class.forName() 后用 DriverManager.getConnection() 總是無法返回有效的連接,并且也沒有拋出 SQLException 異常。
找資料的痛苦過程就不必細說了,最終找到一份 Sun 官方的關(guān)于安全策略的文檔,終于參照解決。
Java 跟 Flash 在安全管理上是類似的做法,不同域間的互訪,需要提供服務(wù)方指定對應(yīng)的安全策略。Java 中通過 java.net.SocketPermission() 指定許可的主機和操作。
于是,修改 /var/cache/tomcat6/catalina.policy 文件,在其中加入如下權(quán)限設(shè)置:
// 26/dec/2008, scum
permission java.net.SocketPermission "localhost", "connect,resolve";
這樣便允許了 localhost 的連接和解析請求,更詳細的資料在 JDK 文檔里也有。
修改后,重啟 tomcat,jsp 終于連接上 MySQL 了…
* 關(guān)于 Java 安全策略,還有很多內(nèi)容,未及細看,也許有更簡便或更標準的解決方法,以后再說。
關(guān)鍵詞標簽:Ubuntu,Ubuntu安裝,We
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址 dmidecode命令查看內(nèi)存型號 linux tc實現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負載