當前位置:首頁 » 數據倉庫 » 如何配置httpd
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何配置httpd

發布時間: 2022-02-26 22:12:40

⑴ 怎樣配置httpd.conf,修改文件目錄訪問許可權

Apache的基本設置主要交由httpd.conf來設定管理,我們要修改Apache的相關設定,主要還是通過修改httpd.cong來實現。下面讓我們來看看httpd.conf的內容,它主要分成3大部分:
Section 1:Global Environment
Section 2:'Main' server configuration
Section 3:Virtual Hosts
【第一部分】
·ServerType standalone
這表示Apache是以standalone啟動,也可以是inetd。所謂standalone是指啟動一次來接聽所有的連線;而inetd是接到http的連線要求才啟動,隨著連線的結束而結束,這樣負擔是不是很但呢?所以一般都是以standalone啟動。
·ServerRoot "/usr/local/httpd"
此為apache的目錄
·#LocdFile /use/local/httpd/logs/httpd.lock
保留預設值,不更動
·PidFile /usr/local/httpd/logs/httpd.pid
此文件記錄著apache的父處理程序id
·ScoreBoardFile /usr/local/httpd/logs/httpd.scoreboard
此文件存儲處理程序的信息
·#ResourceConfig conf/srm.conf
·#AccessConfig conf/access.conf
由於我們統籌由httpd.conf來管理,所以這兩個文件預設是註解起來的,可以保留預設值不更動
·Timeout 300
設盯超時的時間。如果用戶端超過300秒還沒連上server,或server超過300秒還沒傳送信息給用戶端,即斷線。
·KeepAlive On
允許用戶端的連線有多個請求,設為Off表示不允許
·MaxKeepAliveRequests 100
每次連線最大的請求樹木,數字愈大,效能愈好。0表示不限制
·MinSpareServer 5
·MaxSpareServers 10
MinSpareServer 5表示最少會有5個閑置的處理程序,如果實際的數目少於此數目,則會增加處理程序。MaxSpareServers 10表示最大的閑置處理程序數目,如果你的網站需求量很大,可以將此數目設大一些,大不要隨便將此數目設得太大。
·StartServers 5
啟動時Server的數目
MaxClients 150
限制同時間最大的連線數目,當然不能設得太小,一旦達到此數目,就無法再增加用戶端
·MaxRequestPerChild 0
限制子處理程序結果前的要求數目,0表示不限制
·#Listen 3000
·#Listen 12.34.56.78:80
使用其它的連接埠或IP
·BindAddress *
可以接聽*(所有IP地址)、指定的IP地址或是完整的域名
·#LoadMole foo_mole libexec/mod_foo.so
使用DSO模塊
·#ExtendedStatus On
可檢閱apache的狀態信息,預設是Off(註解起來)
【第二部分】
如果之前的ServerType是inetd,請直接跳到ServerAdmin。
·Port 80
Standalone伺服器接聽的連接埠,當然也可以是其他小於1023的埠號
·User nobody
·Group nobody
執行httpd的用戶和群組
·ServerAdmin 管理員的電子郵件地址
這是管理員的電子郵件地址,如果apache有問題的話,會寄信通知管理員,當然你也可以建立一個專門負責web的帳號來收信
·ServerName 你的主機名稱
此為主機名稱,如果沒有域名,也可以用IP
·DocumentRoot "usr/local/httpd/htdocs"
此目錄為apache放置網頁的地方,裡面的index.html即為連到此主機的預設首頁
·
Options FollowSymLinks
AllowOverride none

此目錄設定用戶放置網頁的目錄(public_html)的執行動作。詳細的目錄存取方法會在後面說明
·
Options Indexes FolloeSymLinks
AllowOverride None
Order allow,deny
Allow from all

此目錄設定apache的網頁目錄(htdocs)的執行動作
·UserDir public_html
用戶可在自己的目錄下建立public_html目錄來放置網頁,輸入http://主機地址/~用戶名稱即可連接到...勞撤胖玫牡胤?/a>
·DirectoryIndex index.html
這里設定預設主頁的名稱
·AccessFileName .htaccess
這個是控制存取的文件名稱,一般採用預設的.htaccess名稱,後面會說明htaccess的使用方法
·
Order allow,deny
Deny from all

這用來防止其他人看到.ht開頭的文件內容,不僅是保護.htaccess的內容,還保護.htpasswd的內容。當然也可以直接寫成。如果你有更改AccessFilename,例如將.htaccess改成.accessht,請記得也要在此做相關的更改,如此才能防止其他人看到哦
·#CacheNegotiatedDocs
註解起來是告訴Proxy不要將互動產生的文件存入cache,如果拿掉#,則會存在cache中
·UseCanonicalName On
使用標準的名稱,預設是On。假設有一個web server的全名是www.sample.com,一般稱為www;如果us...羑ttp://www/abc
·TypeConfig /usr/local/httpd/conf/mime.types
指定存放MIME文件類型的文件。你可以自行編輯mime.types文件。
·DefaultType text/plain
當server不認得此文件類型時的預設格式,此設定是當成一般文字
·
MIMEMagicFile /usr/local/httpd/conf/magic

mod_mime_magic模塊可使server由文件內容決定其MIME類型。如果有載入mod_mime_magic模塊,才會處理MIMEMagicFile這一段。如果是…,則表示如果沒有載入該模塊,才會處理這一段
·HostLookups Off
如果為On,則每次都會向name server解析該IP,記錄此連線的名稱(例如www.apache.org)自換岷牟簧偈奔洌...為Off,僅記錄IP
·ErrorLog /usr/local/httpd/logs/error_log
指定發生錯誤的記錄文件(error_log)位置。如果在沒有指定發生錯誤的記錄文件,則會沿用此文件
·LogLevel warn
記錄分成很多等級,在此是warn。各等級如下: 等級 說明
debug debug信息
info 普通信息
notice 重要信息
warn 警告信息
error 發生錯誤
crit 緊急情況
alert 馬上要處理的情況
amerg 系統快要死了
·LogFormat "%h %l %u %t\"%r\"%>s %b\"{Referer}i\"\"${UserAgent}i\""combined
LogFormat "%h %l %u %t"%r\"%>s %b"commom
LogFormat "%{Referer}i->%U"referer
LogFormat "%{User-agent}i"agent
自定四種記錄格式:combined、common、referer、agent
·CustomLog /usr/local/httpd/logs/access_log common
存取的記錄文件(access_log)使用自定的common格式
·#CustomLog /usr/local/httpd/logs/referer_log referer
#CustomLog /usr/local/httpd/logs/agent_log agent
#CustomLog /usr/local/httpd/logs/agent_log combined
這三個記錄文件也是使用自定義格式(分別是referer、agent、combined),不過註解起來表示未使用這三個文件
·ServerSignature On
設為On時,在server所產生的網頁(像是錯誤發生時)上,會有apache的版本、主機、連接埠的一行信息;如果設為Email,則會有mailto:給管理員的超鏈接
·Alias /icons/ "/usr/local/httpd/icons/"
使用較短的別名,其格式為:Alias 別名 原名。
·ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/"
和Alias一樣,只是這是設定server script的目錄
·IndexOptions FancyIndexing
顯示好看的文件清單(配合下面各文件所對應的圖形)
·AddIconByEncoding(CMP,/icons/compressed.gif)x-conpress x-gzip
·AddIcon /icons/blank.gif^^BLANKICON^^DefaultIcon/icons/unknow.gif
這些是在顯示文件清單(之前所說的FancyIndex)時,各種文件類型的對應圖形。例如.ps .si .eps這三種文件的表示圖形都是a.gif
·#AddDescription "GZIP conpressed document" .gz
#AddDescription "tar archive" .tar
#AddDescription "GZIP compressed tar archive" .tgz
這些是在顯示文件清單時,在文件後面附上說明,其格式為:
AddDescription "說明" 文件名
例如:AddDescription "It is private txt" my.txt
·ReadmeName README
顯示文件清單時,在最下面顯示README的文件內容
設置CGI腳本/將httpd.conf做為唯一的配置文件/用戶授權和訪問控制等
關於Apache的配置及使用,在LinuxAid中已經有不少文章做了詳細的闡述,本文討論了在使用Apache時,有關配置文件的使用及對文件的訪問控制等內容,算是對Apache的使用所做的一些補充吧!
如果您對Apache有一定的了解,特別是對幾個配置文件有一定的了解,這將會有助於您對本文內容的理解;如果恰巧您不是很了解這幾個配置文件的使用,那麼就借著這個機會來一起熟悉一下吧。
一、關於CGI執行腳本的配置
這里有兩種設置CGI腳本的方法。第一、CGI的腳本文件以.cgi為擴展名;第二、設置腳本可執行目錄。但是這兩種方法都需要將要執行的文件設置為711,才可以被執行。
第一種方法,我們需要在access.conf文件種將你要發行的目錄設置為Option ExecCGI All,在srm.conf資源配置文件中,加上下列一句:
AddHandle cgi-script .cgi
這樣在所有的目錄種只要你的文件是.cgi為擴展名的,且文件訪問許可權為711的,無論給文件在你發行目錄的任何一個地方都可以做為CGI被Apache伺服器調用。這種方法一般沒有第二種方法安全。
第二種方法,是將一個目錄作為一個可執行目錄,將所有的cgi文件都放在其中,這里就不一定非得是以.cgi為擴展名得文件可以執行,而是只要有711屬性的文件就可以被執行,而且其它的非可執行文件都被禁止訪問。我們的默認配置文件種就有一個很好的例子:
access.conf:

Allow Override None
Options ExecCGI

srm.conf
ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/
這樣只要在/home/httpd/cgi-bin/目錄中的可執行文件都可以被Web伺服器調用,而其它的非可執行文件將被拒絕訪問。
二、配置用戶的發行目錄
這里有兩種設置方法:
第一種是系統的默認方法,即用戶目錄下的public_html目錄為用戶的發行目錄,且默認的主頁文件為index.html,且該目錄不支持CGI。
第二種是在其它目錄種專門為用戶設置發布目錄,如我想在/home/html目錄做為用戶的web目錄,那管理員就應該在該目錄下為每一個用戶設置一個子目錄,如:/home/html/user01、/home/html/user02等。那麼,你的srm.conf文件中的UserDir後面就不能再是public_html了,應該改為:UserDir /home/html/*/,注意這里的「*」代表anyone,當你再瀏覽器中請求一個如http://www.domain/~user01時,Apache...ndex.html文件。
這種設置不需要到access.conf中設置該目錄的訪問屬性,還有,當我們設置虛擬主機時也不用設置目錄的訪問屬性,但是如果你想讓某個目錄具有CGI許可權,都要到Access.conf文件中去配置目錄的訪問許可權,如:你想讓你的所有用戶在他們的發布目錄中具有CGI訪問權,則需要在你的access.conf中這樣設置:

Allow Override None
Options ExecCGI

注意這里設置用戶目錄中的cgi-bin子目錄為cgi執行目錄,這是一種安全的設置,而且也是一種UNIX的習慣。
三、如何將Apache伺服器設置為inetd的子服務
當你安裝了Apache後,默認設置為standalone方式運行,如果你想將它設置為inetd的子服務,首先在每次激活Linux時不激活httpd,然後編輯/etc/inetd.conf,在其中加入下列語句:http stream tcp nowait root /usr/sbin/httpd httpd
然後重新激活inetd伺服器。這樣你用ps -aux命令查看進程運行情況時,你不會發現httpd的進程的存在,但是一旦有客戶請求一個頁面時,inetd就激活一個httpd進程為該請求服務,之後就自動釋放,這種運行方式有助於節省系統資源,但是如果你的web服務很重要,一般不建議設置為這種方式運行。
四、將httpd.conf做為唯一的配置文件
在Apache中給用戶提供了三個配置文件: srm.conf、 access.conf 和 httpd.conf files。實際上這三個文件是平等的,所有的配置都可以放在一個單獨的httpd.conf文件中,事實上在Apache 1.3.2中就已經這樣做了,在httpd.conf中應包括以下兩條指令來防止Apache對srm.conf和access.conf兩個配置文件的訪問:
AccessConfig /dev/null
ResourceConfig /dev/null
在apache1.3.2中只要注釋掉以下這兩行即可:
AccessConfig conf/access.conf
ResourceConfig conf/srm.conf
五、用戶授權和訪問控制
你也許在訪問某些網站時會遇到過這樣的情況,當你點擊某個連接時,你的瀏覽器會彈出一個身份驗證的對話框,要求輸入賬號及密碼,如果沒有,就無法繼續瀏覽了。有人會以為這是用CGI做出來的,其實不然,這是WWW伺服器的用戶授權和訪問控制機制在發揮作用。
你是否還記得在設置Apache服務環境的過程中,有……..<./Directory>這個指令,可以對不同的目錄提供不同的保護。但是這樣的設定,需要重新啟動伺服器才會生效,靈活性較差,通過AccessFile指令指定訪問控制文件的方式則比較靈活,在Apache伺服器中設置用戶的訪問控制許可權步驟如下:
1、首先對httpd.conf文件進行設置如下:

# AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Options Includes FollowSymLinks Indexes
AllowOverride All //*注意AllowOverride 一定要設置為All,這樣後面的.htaccess文件才會起作用

Order allow,deny
Allow from all

#
# Order deny,allow
# Deny from all
#

#指定配置存取控制許可權的文件名稱
AccessFileName .htaccess
2、創建.htaccess文件內容
要控制某目錄的訪問許可權必須建立一訪問控制文件,文件名前面指定的「.htaccess」,其內容格式如下:
AuthUserFile 用戶帳號密碼文件名
AuthGroupFile 群組帳號密碼文件名
AuthName 畫面提示文字
AuthType 驗證方式

密碼驗證方式

用戶驗證方式AuthType目前提供了Basic和Digest兩種。
密碼檢驗設定方法與httpd.conf中的相關設定相同。
具體例子如下:
AuthUserFile /etc/secure.user
AuthName 安全認證中心
AuthType Basic

require valid-user

3、建立用戶密碼文件
如果你是第一次創建用戶密碼,命令格式如下:
htpasswd -c 密碼文件名 用戶名稱
在上面的例子中,我們將用戶密碼文件放到了/etc/secure.user文件中,所以這里應按照如下進行操作:
htpasswd -c /etc/secure.user sword
程序會提示你輸入兩次用戶的口令,然後用戶密碼文件就已經創建sword這個用戶也添加完畢了。
如果要向密碼文件中添加新的用戶,按照如下命令格式進行操作:
htpasswd 密碼文件 用戶名稱
這樣,重新啟動httpd後,進行該WEB目錄時就會有一個對話框彈出,要求輸入用戶名及用戶口令了。
4、如何減少訪問控制對Apache性能的影響
頻繁的使用訪問控制會對Apache的性能產生較大的影響,那麼,如何才能減少這種影響呢?最簡單也是最有效的方法之一就是減少.htaccess文件的數目,這樣可以避免Apache對每一個請求都要按照.htaccess文件的內容進行授權檢查。它不僅在當前的目錄中查找.htaccess文件,它還會在當前目錄的父目錄中查找。
/
/usr
/usr/local
/usr/local/etc
/usr/local/etc/httpd
/usr/local/etc/httpd/htdocs
/usr/local/etc/httpd/htdocs/docs
通常在根目錄下沒有htaccess文件,但Apache仍然會進行例行檢查以確定該文件確實不存在。這是影響很影響伺服器工作效率的事情。下面的方法可以消除這個討厭的過程:將AllowOverride選設置為None,這樣Apache就會檢查.htaccess文件了。將/根目錄的AllowOverride選項設為None,只將需要進行訪問控制的目錄下的AllowOverride選項設置為all,如下面的例子中將/根目錄的AllowOverride 選項關閉了,只打開了/usr/local/etc/httpd/htdocs目錄下的AllowOerride選項,這樣,系統就只

如何配置httpd.conf伺服器對外開放

沒人懂
懂也不告訴你

⑶ 如何指定apache主配置文件httpd.conf的位置

1、編譯安裝時可以指定其配置文件安裝路徑./configure --sysconfdir=/etc/httpd
2、若僅是想在啟動時指定特定的文件,可以使用apachectl -f /etc/httpd/httpd.conf
本答案來自於互聯網,僅供參考學習作用
如果您對我的回答有不滿意的地方,還請您繼續追問;
答題不易,互相理解,互相幫助!

怎麼配置apache伺服器

1.安裝Apache

yum-yinstallhttpd

2. Apache配置httpd.conf

  • 通過命令find / -name httpd.conf找到Apache配置文件httpd.conf(默認在/etc/httpd/conf/httpd.conf)

  • 編輯httpd.conf文件

    vi/etc/httpd/conf/httpd.conf

    修改DocumentRoot "/xx/xx/xxx",項目在哪個目錄下,就將"/xx/xx/xxx"改為哪個目錄,例如DocumentRoot "/var/www/html",同樣將<Directory "/xx/xx/xxx">修改為<Directory "/var/www/html">。

  • 查看是否安裝成功(啟動Apache,並查看Apache狀態)

    servicehttpdstart
    servicehttpdstatus
  • 顯示OK說明安裝成功

  • 配置Apache開機啟動項

    chkconfig--addhttpd(在服務清單中添加httpd服務)
    chkconfighttpdon
  • 安裝Mysql

    1. 安裝Mysql

  • yum-yinstallmysqlmysql-develmysql-servermysql-libs

具體可以參考 linux搭建lamp_5分享

⑸ Linux中搭建web服務.其中主配置文件httpd.conf應該如何配置!

/root/web/index.htm 放在這里不行 沒許可權訪問的
默認安裝的 主頁應該放在 /var/www/html/ 里

⑹ apache怎麼配置

安裝應該不需要什麼配置啊 你要結合什麼使用啊?
http://hi..com/luotoo/blog/item/d4f97d4cd45ff5f1d72afc3e.html
這有篇關於apache伺服器配置的文章 你看一下吧

⑺ Apache如何配置

Apache是在Linux環境下用得比較多的web伺服器軟體
Apache需要和php、asp、mysql等一起安裝配製,就好像iis+mssql+asp是經典的組合,在Linux環境下,Apache+mysql+php是經典的組合

http://www.qqread.com/z/apache/index.html 這個地址有詳細的各種方案

⑻ 配置 httpd.conf 步驟 (unix)

老大,網路里這方面的高手太少了。推薦你兩個人氣超好的技術群3177541。16482152,雖然是linux的,但是裡面也有搞UNIX的。也許可以幫幫你。

⑼ 如何配置Apache

首先修改hosts 文件:(具體步驟如下) 不管用的是什麼系統,windows, mac,電腦上都會有一個 hosts 文件,修改這個文件,可以改變主機名所對應的 ip 地址。比如安裝了 Web 開發環境(MAMP 或 WAMP),啟動環境以後,訪問 localhost 就會打開環境的默認的目錄,這個 localhost 就是在 hosts 文件里定義的,它所指向的 ip 地址是 127,讓這個域名指向的電腦,也就是 127 ,打開的就是在本地電腦上搭建的環境所指定的目錄里的東西。為了測試 apache 的虛擬主機功能,可以去虛擬幾個這樣的域名,這樣在創建虛擬主機的時候,可以讓這些域名打開各自的目錄。下面,先去修改這個 hosts 文件。 1 ,這樣訪問 hello 。 3 ,還有 hola,ServerAlias 是主機的別名,可以指定一個其它的主機名,訪問它的時候也會打開這個虛擬主機的目錄里的東西。ErrorLog 是錯誤的日誌,也就是發生錯誤的時候,會把錯誤記錄到哪個文件里。CustomLog 是虛擬主機訪問的日誌。 這樣自己新添加的虛擬主機看起來應該像這樣: 4 ,訪問的是這個虛擬主機的配置里 DocumentRoot 所指定的 /Applications/MAMP/htdocs/hello 這個目錄里的東西,可以在這個目錄裡面放點東西,比如一個 WordPress 或者 Drupal 的網站等等。 註:配置虛擬主機的時候,第一個虛擬主機是默認的,需要留著,配置自己的虛擬主機,可以從第二個開始配置,也就是第二段 <VirtualHost> 代碼。

⑽ 如何配置apache

Apache2.2.4 php5.2.1 mysql 配置方法

第一步:
1.安裝好apache2.2和mysql5
假設目錄分別為:C:/Apache2.2,C:/MySQL5
2.解壓php5.1.1-Win32.zip至C:/php5
3.安裝navicat(圖形化管理MySQL的工具)
注意:
安裝MySQL5的時候,在一切默認安裝至有finish按鈕時,繼續是MySQL的配置
默認選項至輸入密碼框的時候,記下自己輸入的密碼,一般為123456

第二步:
一.php.ini的配置

1 找到php5目錄下的 php.ini-dist或 php.ini.recommended文件,重命名為 php.ini
並復制到系統盤的windows目錄下(以c:\windows為例).

2 再把php目錄下的php5ts.dll,libmysql.dll復制到目錄 c:\windows\下。

3 打開c:\windows\php.ini文件(關聯到mysql)
設置擴展路徑
查找 extension_dir 有這么一行
extension_dir = "./"
將此行改成
extension_dir = "C:\php5\ext"
其中C:\php5是你安裝php的路徑。路徑不正確將無法載入dll
(注意:有些php版本是 ;extension_dir = "./" 要把前面的分號去掉)
查找 extension
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_mysql.dl
把上面3項前面的分號去掉,這樣apache啟動時就可以載入這些dll了

php5時差問題
<?php echo date("Y-m-d H:i:s");?>時間相差八小時
為什麼呢?PHP5系列版本新增了時區設置,默認為格林威治時間,與中國所在的東8區正好相差8個小時
查找date.timezone有這么一行
;date.timezone =
將;去掉,改成
date.timezone = PRC

開啟php簡寫:
找到short_open_tag = Off 改為 short_open_tag = On ;如果已經為on,則不改.
以後就可以用形如 <?=phpinfo();?>的寫法的. 功能和<?php echo phpinfo();?>一樣.

(二).apache http.conf配置:(C:/apache2.2/conf tp.conf)
1.修改網站根目錄
查找 DocumentRoot有這么一行
DocumentRoot "C:/Apache2.2 docs"
這就是你網站的根目錄,你可以修改,也可以用默認的.如果改,還要修改下面這項,否則可能會出現 403 錯誤
查找 This should be changed to whatever you set DocumentRoot to
在它下面兩行有
<Directory "C:/Apache2/.2htdocs">
把上面兩項的 C:/Apache2.2 docs 改成你想要的目錄

2.讓apache支持*.php(網頁)
查找 DirectoryIndex index.html
修改成
DirectoryIndex index.php index.html
這樣index.php 可以充當默認頁面了

3.Apache中模塊化安裝php
查找 # LoadMole foo_mole moles/mod_foo.so
在此行後加入一行
LoadMole php5_mole C:/php5/php5apache2_2.dll
//注意:其中C:/php5/php5apache2.dll是你安裝php的相應路徑.
不要把php5apache2_2.dll和 php5apache2.dll混淆.php5apache_2.dll只適用於apache 版本2的.
PHP5壓縮包里的php5apache2.dll只適用於apache2.0.*版本
如果是2.2.*以上版本,就可能會出現 "Cannot load C:/php/php5apache2.dll into server: The specified mole could not be found."或者:"The requested operation has failed"

4.查找 AddType application/x-gzip .gz .tgz
在此行後加入一行
AddType application/x-httpd-php .php (記住:前邊有一個空格哦!!!)
這樣apache就可以解析php文件了

注意:在以上操作完成後請重啟伺服器

5.測試
在網站根目錄下(如果沒有改動則為C:/Apache2.2 docs)創建一個 phpinfo.php 文件

<?php
phpinfo();
?>

在瀏覽器打開
http://localhost/phpinfo.php
或 http://127.0.0.1/phpinfo.php

5.測試php和mysql資料庫的關聯
在網站根目錄下創建一個test.php 文件

<?php
$link=mysql_connect("localhost","root","123456"); //123456改成你的mysql密碼
if(!$link) echo "失敗!";
else echo "成功!";
mysql_close();
?>

在瀏覽器打開 http://localhost/test.php
如果輸出成功,則說明大功告成了