Apache 相關設定
根據http://news.netcraft.com/archives/2003/11/index.html
的資料,目前使用apache 做為 http server 的佔有率接近70%,可見得Apache 在 Internet 上的地位有多重要。以下用最簡單的方式來說明 apache 的設定。
RED HAT 上的設定檔:/etc/httpd/conf/httpd.conf
,另外 /etc/httpd/conf.d 下的各個設定檔也要看一下,例如
webalizer.conf、mrtg.conf
一、主網頁目錄
<Directory
"/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Options Indexes
FollowSymLinks ;Indexes
列出此目錄中的所有檔案列表。FollowSymLinks :可使用ln 連結目錄。方便,但小心使用。
AllowOverride None ;預設
Order allow,deny ;先看 allow 再看 deny
Allow from all ;允許所有來源瀏覽
二、個人網頁
<IfModule
mod_userdir.c>
#
# UserDir is disabled by default since it
can confirm the presence
# of a username on the system (depending on
home directory
# permissions).
#
UserDir disable
#
# To enable requests to /~user/ to serve
the user's public_html
# directory, remove the "UserDir
disable" line above, and uncomment
# the following line instead:
#
#UserDir public_html
</IfModule>
預設值並未開放個人的網頁目錄,如果要開放使用者存放自己的網頁,必需啟動mod_userdir.so 這個模組,而且存放的目錄改成 www ,請把上述的設定改成下列的設定:
#UserDir disable
UserDir www
;目錄名稱可自行設定
目前的 Fedora Core
3 以後的版本把 Selinux 當成預設的功能,雖然增加了安全性,但是增加了許多不方便的地方。可以先將
Selinux 停下來。
vi /etc/sysconfig/selinux
SELINUX=enforcing 修改成--> SELINUX=disabled
SELINUX=enforcing 修改成--> SELINUX=disabled
重新開機。
三、Alias 應用
先參閱 httpd.conf 的範例
Alias /icons/
"/var/www/icons/"
<Directory
"/var/www/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
如果使用過 IIS 就很容易理解上面的設定和意義。"/var/www/icons/"
是系統上的實體目錄,/icons/ 則是分享出去的名稱,所以http://Server_ip/icons/ 就可以看到/var/www/icons/ 的內容。<Directory
"/var/www/icons"></Directory> 中間所包含的就是 /var/www/icons 這個資料夾的相關設定。
例如 /usr/share/doc/ 下有所有安裝套件的文件,是一個很好的參考資料,可以利用Alias 把它變成是方便閱覽的網頁。
同一台 SERVER 有 FTP 和 HTTPD 的服務,也可以利用Alias 達成兩種服務共用的模式。
四、conf.d/* 的應用
httpd.conf 這個主要設定檔中有一行設定 Include conf.d/*.conf ,這行設定會讓apache 在讀取完 httpd.conf 後,
會馬上載入 conf.d/ 下的所有 conf 檔。
因此,目前有許多和apache 相關的套件會把設定檔放在 conf.d/ 之下。例如 webalizer
Alias /usage
/var/www/usage
<Location /usage>
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
#Allow from .example.com
</Location>
<Location /usage>
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
#Allow from .example.com
</Location>
在這個設定中,只能在本機上看到執行的結果,如果不做任何限制,必需把 127.0.0.1 改成 all 或者0.0.0.0 ,再重新啟動http 。
在前面提到把 ~ 符號去除,可以編輯一個 conf.d/user.conf 的新檔案,把
所有的 user 加入,存檔,重新啟動 httpd 。
例如設定一個資訊組的專用帳號 info ,瀏覽的網址就是 http://127.0.0.1/~info/ 如果想用 http://127.0.0.1/info/ 就可以瀏覽,可以在 conf.d/user.conf 加入以下設定
Alias /info/ “/home/info/www/”
User.conf 這個檔名可以自取,重點是結尾要是 .conf,而且必需存在 conf.d 這個目錄。
五、不要預設編碼
不要有預設值,讓網頁去決定。
#AddDefaultCharset ISO-8859-1 ; 把這行 default 值 mark 起來。或者
AddDefaultCharset off
讓網頁中的
<meta
http-equiv="Content-Type" content="text/html; charset=big5">
這一行來決定。
六、配合學務系統,php.ini 建議做下列修改
1.magic_quotes_gpc建議設為On,中文部分較不會有問題
magic_quotes_gpc = Off
2.顯示php錯誤訊息
將
display_errors = Off
改為
display_errors = On
這樣可以顯示程式的錯誤
3.修改error_reporting,否會有錯誤訊息
將
error_reporting = E_ALL
改為
error_reporting = E_ALL & ~E_NOTICE
4.報表或成績單只能下載幾張,無法下載全班者
將
memory_limit
= 8M
改為
memory_limit = 12M (或更大)
5.修改單一檔案上傳限制
將
upload_max_filesize = 2M
改為
upload_max_filesize = 10M (或更大)
6.檔案上傳限制相關設定,三個數值要注意
memory_limit : (PHP運作所用到的RAM)
post_max_size : (上傳檔案時,全部檔案合計大小的限制)
upload_max_filesize : (單一檔案大小的限制)
post_max_size : (上傳檔案時,全部檔案合計大小的限制)
upload_max_filesize : (單一檔案大小的限制)
memory_limit >
post_max_size > upload_max_filesize
七、讓使用者不用修改瀏覽器,下載Big5檔
1.
需要套件: httpd-devle gcc
3.
#apxs -i -a -c mod_fileiri.c
4.
查看
/etc/httpd/conf/httpd.conf ,增加了一行設定LoadModule
fileiri_module
/usr/lib/httpd/modules/mod_fileiri.so
5.
增加該module 的設定,可直接修改 httpd.conf 或獨立一個檔案,放在
/etc/httpd/conf.d/ 之下。
/etc/httpd/conf.d/ 之下。
<IfModule
mod_fileiri.c>
FileIRI On
FilenameCharset Big5
</IfModule>
FileIRI On
FilenameCharset Big5
</IfModule>
沒有留言:
張貼留言