修改httpd.conf
<IfModule mod_dir.c>
DirectoryIndex index.html index.php index.php3
</IfModule>
在<IfModule mod_mime.c>中加入:
AddType application/x-httpd-php .php .php3
resin
./configure --with-apxs=/home/apache/bin/apxs
make
make install
修改httpd.conf
<IfModule mod_caucho.c>
CauchoConfigFile /home/resin/conf/resin.conf
</IfModule>
文檔共享技巧:
1 對于文檔的共享來說,autoindex模塊非常有用,讓APACHE自動索引目錄缺省是按文件/目錄名排序的,而且文件名40個字符以上部分是被截斷的,為了能顯示完整的文件名,并且像資源管理器那樣將目錄排在前面,文件排在后面:
在<IfModule mod_autoindex.c>模塊設置中:
#增加NameWidth選項,并且文件名長度是*(自動適應當前目錄下最長文件名)
#增加FoldersFirst選項,讓目錄列在前面(類似于資源管理器)
#增加了ScanHTMLTitles用HTML文件的TITLE做文件的描述,并設置描述長度是*(自適應最長)
IndexOptions FancyIndexing +NameWidth=* FoldersFirst ScanHTMLTitles +DescriptionWidth=*
2 如果是CGI開發,如何讓用戶在自己的目錄下能夠發布CGI程序,比如:http://192.168.0.200/~chedong/cgi- bin/my_cgi:在
<IfModule mod_alias.c>模塊設置中,添加正則表達式:
ScriptAliasMatch ~([a-z]+)/cgi-bin/(.*) /home/$1/cgi-bin/$2
意思是匹配~user_name/cgi-bin/cgi_name自動映射到/home/user_name/cgi-bin/cgi-name腳本
3 如果允許所有目錄可以自動索引瀏覽autoindex,需要將
<Directory "/home/apache/htdocs"> <===改成 <Directory "/">
版本控制:CVS
CVS缺省在服務器上幾乎都安裝好了,只要按照以下步驟初始化即可:
在/etc/profile里:
CVS庫所在的主服務器設置:
export CVSROOT=/home/cvsroot
在其他開發服務器里設置:
export CVSROOT=:ext:$USER@192.168.0.200:/home/cvsroot
export CVS_RSH=ssh
然后在主服務器上cvs init初始化:
關于CVSWEB的設置,重復以下CVS常用命令手冊中CVSWEB的內容:
CVSWEB的下載:CVSWEB從最初的版本已經演化出很多功能界面更豐富的版本,這個是個人感覺安裝設置比較方便的:
http://www.spaghetti-code.de/software/linux/cvsweb/
下載解包:
tar zxf cvsweb.tgz
把配置文件cvsweb.conf放到安全的地方(比如和apache的配置放在同一個目錄下),
修改:cvsweb.cgi讓CGI找到配置文件:
$config = $ENV{’CVSWEB_CONFIG’} || ’/path/to/apache/conf/cvsweb.conf’;
轉到/path/to/apache/conf下并修改cvsweb.conf:
修改CVSROOT路徑設置:
%CVSROOT = (
’Development’ => ’/path/to/cvsroot’, #<==修改指向本地的CVSROOT
);
缺省不顯示已經刪除的文檔:
"hideattic" => "1",#<==缺省不顯示已經刪除的文檔
在配置文件cvsweb.conf中還可以定制頁頭的描述信息,你可以修改$long_intro成你需要的文字
首先可以CVS進庫里的就是以上系統的安裝文檔 更
多的關于CVS的擴展應用可以參考CVS常用命令手冊CVSTRAC部分
多個服務之間的資源共享
一般可以通過鏈接解決,比如:
我希望匿名ftp共享的內容(比如在/var/ftp/pub目錄下)都可以WEB發布,
ln -s /var/ftp/pub /home/apache/htdocs/pub
我希望/usr/share/doc里的文檔大家可以通過WEB瀏覽:
ln -s /usr/share/doc /home/apache/htdocs/doc
我希望WEB發布的內容大家通過WINDOWS網絡鄰居也可以訪問:假設/home/share是samba發布的只讀共享路徑
ln -s /home/apache/htdocs /home/share
服務的自動啟動:
系統已經安裝的服務一般可以通過setup的服務配置是否自動啟動,否則就在/etc/rc.local里加一些啟動腳本即可。
比如:
備份和日志統計
可以將以下腳本寫在主服務器的ROOT的CRON里:
#time sync
0 5 * * 1 (/usr/bin/rdate -s YOUR_DATE_TIME_SERVER)
#backup cvsroot
5 3 * * * (cd /home; tar czf /home/backup/cvsroot.`date +\%w`.tgz cvsroot)
#backup apache
8 3 * * * (cd /home; tar czf /home/backup/apache.`date +\%w`.tgz apache)
#webalizer demo
3 5 * * * (/usr/local/bin/webalizer -c /home/apache/conf/webalizer.conf /home/apache/logs/`date -d yesterday +\%w`/access_log)
#remove last week web log
3 4 * * * (find /home/apache/logs/ -name access_log -mtime +4 -exec rm -f {} ;)
這樣,在/home/backup目錄下會有按星期輪訓的7個備份。然后通過在輔助服務器上設置CRON用wget的-m選項鏡像主服務器上的 /home/backup目錄或者用rsync做同步就可以了。后面的2條是關于使用webalzier做服務器的日志統計,APACHE的日志通過 cronolog進行了輪循。具體設置請參考:
注意:
在CRONTAB中 %需要轉義\%,比如:tar czf /home/backup/apache.`date +\%w`.tgz apache
而命令行中需要轉義的\; 在crontab 中不需要轉義,比如:...-mtime +4 -exec rm -f {} ;
基于RSYNC的同步備份:
主服務器:設置啟動rsync服務
/etc/rsyncd.conf
hosts allow 192.168.0.*
[ftp]
path = /home/apache/htdocs
comment = docs need backup
備份服務器:每天6點同步一次數據
2 6 * * * (/usr/bin/rsync -au --delete rsync://192.168.0.200/ftp /home/apache/htdocs )
如何給用戶設置缺省密碼:
/home/apache/bin/htpasswd -bmn chedong 123
chedong:$apr1$5hoi./..$XlpyjZk6rw7R9D5QPo6V6/
-b don’t prompt
-m md5
-n print to stout
TODO:
基于WIKI的文檔共享:twiki
打印服務;
參考資料:
O’Reilly在線手冊:Using Samba
http://www.oreilly.com/catalog/samba/chapter/book/index.html
文章來源于領測軟件測試網 http://www.kjueaiud.com/