web服務器和svn服務器的配置
Web 服務器第一節(jié) Apache服務器& 1.1 簡介Apache 是世界排名第一的Web 服務器,根據(jù)著名的Web 服務器調(diào)查公司Netcraft 的調(diào)查,世界上百分之五十以上的Web 服務器都在
Web 服務器
第一節(jié) Apache服務器
& 1.1 簡介
Apache 是世界排名第一的Web 服務器,根據(jù)著名的Web 服務器調(diào)查公司Netcraft 的調(diào)查,世界上百分之五十以上的Web 服務器都在使用Apache 。縱觀Apache ,它為我們的網(wǎng)絡管理員提供了豐富多彩的功能,包括目錄索引、目錄別名、內(nèi)容協(xié)商、可配置的HTTP 錯誤報告、CGI 程序的SetUID 執(zhí)行、子進程資源管理、服務器端圖象映射、重寫URL 、URL 拼寫檢查以及聯(lián)機手冊man 等。也就是說,如果您在Linux Server上成功安裝配置了Apache 之后,您的計算機也將隨著Apache 的生效而搖身一變, 成為一臺名副其實的Web Server ,這種變化的確是激動人心的。伴隨著自由軟件發(fā)展的強大動力,我們有理由相信Apache 的未來是一片光明的。
在Internet 時代,外部主頁的發(fā)布已經(jīng)成為樹立公司形象的一個重要手段,而內(nèi)部主頁也成為公司管理的主要方式。但是,要想實現(xiàn)這些功能,首先應該把我們的Linux Server配置成為一臺強大的Web Server。時至今日,全球應用最廣泛的Web 服務器軟件就是Apache ,本章將詳細介紹如何配置Apache 服務器。希望各位同仁能夠通過閱讀本片文章達到理論實踐雙豐收的目的,在很短的時間里迅速成為一名出色的網(wǎng)絡管理員。
& 1.2 所需資源
&1.2.1 所需包
RedHat6.2 服務器安裝
&1.2.2 所需配置文件
/etc/httpd/conf/httpd.conf 系統(tǒng)自帶,管理員配置
/etc/httpd/conf/access.conf 系統(tǒng)自帶,不需要修改
/etc/httpd/conf/srm.conf 系統(tǒng)自帶,不需要修改
& 1.3 配置方案
1./etc/httpd/conf/httpd.conf
說明:apache 主配置文件
源文件:
ServerType standalone
#定義WebServer 的啟動方式為standalone ,以增強其對大量訪問的及時響應性
ServerRoot "/etc/httpd"
#指定包含httpd 服務器文件的目錄
LockFile /var/lock/httpd.lock
PidFile /var/run/httpd.pid
ScoreBoardFile /var/run/httpd.scoreboard
Timeout 300
#響應超時量,單位為秒
KeepAlive On
#允許用戶建立永久連接
MaxKeepAliveRequests 100
KeepAliveTimeout 15
,MinSpareServers 5
#要保留的空閑服務器進程的最小值
MaxSpareServers 20
#要保留的空閑服務器進程的最大值
StartServers 8
#系統(tǒng)啟動時的守護進程數(shù)
MaxClients 150
#所能提供服務的最大客戶端編號,大于它的部分被放入請求隊列 MaxRequestsPerChild 100
LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule env_module modules/mod_env.so
LoadModule config_log_module modules/mod_log_config.so LoadModule agent_log_module modules/mod_log_agent.so LoadModule referer_log_module modules/mod_log_referer.so LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so
LoadModule includes_module modules/mod_include.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule dir_module modules/mod_dir.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule asis_module modules/mod_asis.so
LoadModule imap_module modules/mod_imap.so
LoadModule action_module modules/mod_actions.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule anon_auth_module modules/mod_auth_anon.so LoadModule db_auth_module modules/mod_auth_db.so LoadModule digest_module modules/mod_digest.so
LoadModule proxy_module modules/libproxy.so
LoadModule expires_module modules/mod_expires.so LoadModule headers_module modules/mod_headers.so LoadModule usertrack_module modules/mod_usertrack.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule perl_module modules/libperl.so
LoadModule php3_module modules/libphp3.so
ClearModuleList
AddModule mod_vhost_alias.c
AddModule mod_env.c
AddModule mod_log_config.c
,AddModule mod_log_agent.c
AddModule mod_log_referer.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
#AddModule mod_speling.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
AddModule mod_auth_db.c
AddModule mod_digest.c
AddModule mod_proxy.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_usertrack.c
AddModule mod_so.c
AddModule mod_setenvif.c
AddModule mod_perl.c
AddModule mod_php3.c
Port 80
#定義服務器所使用的TCP 的端口號
User nobody
Group nobody
#以上兩行是分配給httpd 的新用戶的文件權(quán)限,出于安全的考慮把它們的權(quán)限設置成為最低。
ServerAdmin root@weboa.com.cn
#設置Web 管理員的郵件地址
ServerName WebOA
#定義客戶端從服務器讀取數(shù)據(jù)時返回給客戶端的主機名,其缺省值是localhost ,第一次安裝Linux 的時候經(jīng)常這里出錯。
DocumentRoot "/home/weboa/jakarta-tomcat/webapps/weboa"
#設置所有Apache 文檔的根目錄,比如說,用戶對
,Options FollowSymLinks
AllowOverride None
Options Indexes Includes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all # 允許所有人訪問
UserDir public_html
DirectoryIndex index.html index.htm index.shtml index.cgi
#設置多種成功訪問主頁的方式, 為的是提高系統(tǒng)的容錯性
AccessFileName .htaccess
Order allow,deny
Deny from all
UseCanonicalName On
TypesConfig /etc/mime.types
DefaultType text/plain
MIMEMagicFile share/magic
HostnameLookups Off
ErrorLog /usr/httpd/log/error_log
LogLevel warn
#定義那些錯誤類型被記錄到錯誤日志中
LogFormat "h l u t "r" >s b "{Referer}i" "{User-Agent}i"" combined
#所有的LogFormat 都用來定義日志中的條目
LogFormat "h l u t "r" >s b" common
LogFormat "{Referer}i -> U" referer
LogFormat "{User-agent}i" agent
CustomLog /usr/httpd/log/access_log common
ServerSignature On
Alias /icons/ "/home/httpd/icons/"
#定義虛擬主機目錄與系統(tǒng)目錄的對應關系
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
,ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
#定義CGI 目錄
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
IndexOptions FancyIndexing
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README
HeaderName HEADER
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
AddLanguage en .en
AddLanguage fr .fr
AddLanguage de .de
,AddLanguage da .da
AddLanguage el .el
AddLanguage it .it
LanguagePriority en fr de
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps
AddType application/x-httpd-php .phtml
AddType application/x-tar .tgz
AddType text/html .shtml
AddHandler server-parsed .shtml
AddHandler imap-file map
BrowserMatch "RealPlayer 4.0" force-response-1.0
BrowserMatch "Java/1.0" force-response-1.0
BrowserMatch "JDK/1.0" force-response-1.0
Alias /perl/ /home/httpd/perl/
SetHandler perl-script
PerlHandler Apache::Registry
Options ExecCGI
Alias /doc/ /usr/doc/
order deny,allow
deny from all
allow from localhost
Options Indexes FollowSymLinks
include /etc/httpd/conf/tomcat-apache.conf
Alias /netcard "/home/weboa/jakarta-tomcat/webapps/weboa/net_card" Options Indexes FollowSymLinks
allow from all
CacheSize 5
#定義緩存區(qū)大小,以KB 為單位。可以根據(jù)需要和硬盤空間大小進行設置 CacheGcInterval 4
#每隔4小時檢查緩存區(qū),如果已經(jīng)超過CacheSize 就刪除文件
CacheMaxExpire 24
#HTTP 文件最多被保持24小時
CacheLastModifiedFactor 0.1
#定義HTTP 文件失效期,缺省是0.1 ,意思是說失效期=離最近一次修改的時間X, 比如離最近一次修改的時間是5小時,那么失效期就是5X0.1=0.5小時
,CacheDefaultExpire 1
#這一指令提供一個缺省的時間(小時)來銷毀緩存的文件,這些文件的最后更改時間不詳。CacheMaxExpire 命令不覆蓋這一設置
### 以下是為Apache 增加SSL 安全認證的方法 ##
## 以下是如何對一個目錄進行登陸控制的方法 ##
1. 在/etc/httpd/conf/httpd.conf中添加以下內(nèi)容:
Alias /weboa/ "/home/weboa/"
Options Indexes MultiViews
AllowOverride authconfig
Order allow,deny
Allow from all
2. 在/home/weboa目錄下建立.htaccess 文件
authname "shared files"
authtype basic
authuserfile /etc/httpd/conf/passwd
require valid-user
3. 在/etc/httpd/conf目錄下執(zhí)行命令生成認證文件
htpasswd –c thj thj #創(chuàng)建認證文件和第一個名和密碼
htpasswd weboa weboa #添加其他用戶名和密碼
### 以下是做虛擬主機的實現(xiàn)方法 ###
需要在/etc/httpd/conf/httpd.conf中添加下列內(nèi)容:
Alias /webadmin/ "/home/weboa/webadmin/html/"
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
NameVirtualHost 192.168.0.1 #虛擬域名的DNS 服務器
ServerAdmin root@weboa.com.cn #網(wǎng)管郵件地址
DocumentRoot /home/weboa/webadmin/html/ #服務器頁面目錄
ServerName webadmin.weboa.com.cn #服務器名稱
需要在/var/named/name2ip.conf中添加的內(nèi)容:
webadmin IN A 192.168.0.1
& 1.4 測試及管理辦法
&1.4.1 測試方法
,1. 每當管理員更改了Apache 的設置之后,都應執(zhí)行
/etc/rc.d/init.d/httpd restart使得更改生效。
&1.4.2 管理方法
1.Apache 提供大量的日志文件,當Apache 出錯的時候,管理員可以 根據(jù)htppd.conf 中的ErrorLog 定義的路徑來診斷。具體方法是:tail –f /var/log/httpd/apache/error_log
& 1.5 小 結(jié)
Web 服務是Internet 服務器最基本的服務,Linux 發(fā)行版中包含的Apache 軟件是性能優(yōu)良的Web 服務器,也是Internet 上最流行的Web 服務器,由于它時刻都經(jīng)歷著無數(shù)使用者的測試,所以現(xiàn)行的Apache 的默認選項已經(jīng)是十分適合我們大家的了,你只需要更改其中幾個與當前應用環(huán)境緊密相關的選項就可以達到你的目的了。
第二節(jié) Tomcat服務器
& 2.1 簡介
Jsp 是sun 在servlet 基礎上發(fā)展而來的一種新的web 開發(fā)工具,在國外Ejb jsp/servlet 應用服務器 數(shù) 據(jù)庫已經(jīng)已經(jīng)成為電子商務站點的流行架構(gòu)。tomcat3.1實現(xiàn)了最新的servlet2.2和jsp1.1標準,sun 也 是推薦使用tomcat, 本文介紹tomcat3.1在RedHat 下的安裝。
& 2.2 所需資源
&2.2.1 所需包
1. jdk1_2_2-linux-i386.tar.gz
2. jakarta-tomcat.tar.gz,
3. mod_jserv.so
&2.2.2 所需配置文件
/etc/profile
/usr/local/jakarta-tomcat/conf/server.xml
/usr/local/jakarta-tomcat/conf/tomcat.properties
& 2.3 安裝步驟
1. 安裝JDK
cd /usr/local
tar zxvf /root/jdk1_2_2-linux-i386.tar.gz
,mv jdk1.2.2 jdk
2. 修改/etc/profile環(huán)境文件
添加以下內(nèi)容:
JAVA_HOME=/usr/local/jdk
CLASSPATH=/usr/local/jdk/lib:/usr/local/jre/lib
PATH=$PAHT:/usr/local/jdk/bin:/usr/local/jre/bin
export JAVA_HOME
export CLASSPATH
3. 安裝Tomcat
cd /usr/local
tar zxvf /root/jakarta-tomcat.tar.gz
4. 整和Apache 和Tomcat
cd /home/httpd
mkdir libexec
cp /root/mod_jserv.so /home/httpd/libexec
cp /usr/local/jakarta-tomcat/conf/tomcat.conf /etc/httpd/conf vi /etc/httpd/conf/httpd.conf
在文件末尾添加以下內(nèi)容:
Include /etc/httpd/conf/tomcat-apache.conf
& 2.3 配置和管理TOMCAT
1. /usr/local/jakarta-tomcat/conf/server.xml
& 2.4 測試及管理辦法
&2.4.1 測試方法
1. 在服務器上任意目錄下鍵入java ,看看有沒有執(zhí)行
2. 瀏覽http://192.168.0.1:8080看看有沒有那只可愛的小貓就成拉??!
3. 瀏覽http://192.168.0.1/examples/jsp/index.html來測試Apache 和Tomcat 是否成功整和。
& 2.5 其他參考資料
1. 關于tomcat 的信息請到http://jakarta.apache.org
2. 其他jsp 方面的信息可以到http://java.sun.com/jsp
& 2.6 小 結(jié)
,Tomcat 和Jserv 之間的區(qū)別是什么? Tomcat==Jserv,不是嗎?
這是一種普通的誤解。Jserv 是被建立為與阿帕奇一起使用的Servlet API 2.0兼容的容器。 Tomcat是完全重寫并且兼容Servlet API 2.2和JSP 1.1的一種容器。
Tomcat 使用了一些Jserv 的代碼,尤其是Jserv 的阿帕奇服務器適配器(adapter), 但是相似的地方僅此而已。
第三節(jié) Apache Jserv整和
一、需要的源碼包:
jdk-1_2_2_006-linux-i386.tar.gz
jsdk20-solaris2-sparc[1].tar.Z
ApacheJServ-1.1.2.tar.gz
二、安裝過程
1、安裝jdk1.2.2
(1) 解開壓縮包
tar xvzf jdk1_2_2_006-linux-i386.tar.gz
(2) 目錄的處理
ln -s jdk1.2.2 jdk
ln -s jdk/jre jre
(3) 設置$JAVA_HOME,$CLASSPATH
vi /root/.bash_profile
加入:
JAVA_HOME=/usr/local/jdk
export JAVA_HOME
CLASSPATH=/usr/local/jdk/lib:/usr/local/jre/lib
export CLASSPATH
PATH=$PATH:/usr/local/jdk/bin:/usr/local/jre/bin
注:JDK 的安裝到此結(jié)束。
2. 安裝JSDK
(1) tar zxvf jsdk20-solaris2-sparc[1].tar.Z
(2) 將產(chǎn)生的JSDK2.0目錄移到 /usr/local/JSDK2.0
mv JSDK2.0 /usr/local/JSDK2.0
注:JSDK 的安裝到此結(jié)束。
3.Apache 和Jserv 的靜態(tài)混合編譯
所謂的靜態(tài)編譯是指將Jserv 編譯進apache 里
(1) tar xvzf apache_1.3.12.tar.gz
tar xvzf ApacheJServ-1.1.2.tar.gz
(2) cd apache_1.3.12
./configure --prefix=/usr/local/apache