APACHE架设网站(二)_Linux服务器维护_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

APACHE架设网站(二)

作者:黑客防线网安linux教程网 来源:黑客防线网安linux教程网 浏览次数:0

本篇关键词:网站指令我们可以
黑客防线网安网讯:第二篇这是指定使用多执行绪行程MPM o▁98 ##▔99 ## Server-Pool Size Regulation (MPM ecific)▔100 ##▔IfModule prefork.c是载入prefork.c的模块。Start Servers是服务器行程启始的数量...
第二篇


这是指定使用多执行绪行程MPM o


98 ##

99 ## Server-Pool Size Regulation (MPM ecific)

100 ##


IfModule prefork.c是载入prefork.c的模块

Start Servers是服务器行程启始的数量预设为8

Min are Servers指定闲置行程的最小数量预设为5 。

Max are Servers指定闲置行程的最大数量,预设为20。

Max clients是设定同时可允许最多的行程,预设为150。

MaxClients*ThreaderChild就是Apache可以同时请求处理的总数量。

MaxRequesterChild为每一个子行程可以服务的请求数量,预设为1000。

108 < IfModule prefork.c >
109 StartServers 8
110 MiareServers 5
111 MaxareServers 20
112 MaxareServers 150
113 MaxareServers 1000
114 < /If Module >


IfModule work.c是载入work.c的模块
StartServers是服务器行程启始的数量,预设为2 。
MiareServers指定闲置执行线程的最小数量,预设为25。
MaxareServers指定闲置执行线程的最大数晕,预设为75 。
Maxclients是设定使用者端同步连接最大的数量,预设为150。
MaxClients*ThreaderChild就是Apache可以同时请求处理的总数量。
ThreaderChild为每个行程可以有多少常驻的执行线程,预设为25。
MaxRequesterChild为每一个行程可以服务的请求数量,预设为0。


123 < If Module worker.c >
124 Start Servers 2
125 MaxClients 150
126 MiareThreads 25
127 MaxareThreads 75
128 ThreaderChild 25
129 MaxRequesterChild 0
130 < /IfModule >

IfModule perch.c是载入perchild.c的模组。
NumServers常驻的伺服器行程,预设是5 。
StartThreads每一个行程一开始就执行的执行线程,预设为5。
MiareThreads指定閒置执行线程的最小数量,预设为5。
MaxareThreads指定閒代执行线程的最大数量,预设为10。
MaxThreaderChild每个行程最大的常驻执行线程数量,预设为20。
ThreaderChild为每个行程可以有多少常驻的执行线程,预设为25。
MaxRequesterChild为每一个伺服器行程可以连按的数景,预设为0。

139 < IfModule perchild.c >
140 NumServers 5
141 StartThreads 5
142 MiareThreads 5
143 MaxareThreads 10
144 MaxThreaderChild 20
145 MaxRequesterChild 0
146 < /IfModule >


(8) Listen 连接端口指令

Apache伺服器指定的迎接端口是预设址80。我们也可以指定Apache要连接的IP位址,如61.218.29.2:80。Listen 61.218.29.2:80,就是设定Apache的位址为 61.218.29.2:的第80连接端口。 Listen指令比BindAddre 和连接端口Port指令更好使用。多个Listen指令也可以让我们指定多个IP地址。在/etc/service中设定Apache的连接端口为80。Service服务连接端口可在低于65536的任何连接端口。只有超级使用者才能有权执行低于1024连接端口的程式。


157 Listen 80


设是在/etc/service中设定Apache网站服务器的连接端口为80。

86 http 80/tcp www www.http # WorldWideWeb HTTP
87 http 80/udp www www.http # HyperText Trafer Pro
__tocol



(9)Include包含指令

我们可以使用Include指令从外部或/etc/httpd/conf.d的组态目录载入组态档。/etc/httpd/conf.d的目錄中包函了许多和组态相关的指定模块,Include指令可以让我们们从外部载入档案。假如Include指令指向目錄,Apache将从该目录读取所有的档案再来分析语法。这档案路径是相对於ServerRoot指令所指定的路径,例如 ServerRoot指令指定根目錄为/etc/httpd,所以Include指令包含conf.d的路径就是/etc/httpd/conf.d目录下的所有组态档。

162 Include conf.d/*.conf

这是我们虚拟主机的设定档virtual.conf,我们把这个virtual.conf的档案放到/etc/httpd/conf.d的目录下。在httpd.conf组态档的162行使用Include命令把/etc/httpd/conf.d所有的档案包含进来我们的httpd.conf组态档里。


1 NameVirtualHost 61.218.29.3
2 < VirtualHost 61.218.29.3 >
3 ServerAdmin yangjie@linuxunion.net
4 DocumentRoot /var/www/virtual2
5 ServerName virtual2.linuxunion.net
6 ErrorLog logs/virtual2.net-error_log
7 CustomLog logs/virtual2.net-acce_log common
8 < /VirtualHost >
9 < VirtualHost 61.218.29.3 >
10 ServerAdmin yangjie@linuxunion.net
11 DocumentRoot /var/www/virtual3
12 ServerName virtual3.linuxunion.net
13 ErrorLog logs/virtual3.net-error_log
14 CustomLog logs/virtual3.com-acce_log common
15 < /VirtualHost >

这些档案会被Include命令包含进来Apache服务器的组态档里。

[root@localhost] # ls
auth_mysql.conf perl.conf python.conf squirrelmail.conf virtual.conf
auth_pgsql.conf php.conf README l.conf


我们也可以选择性的将需要的档案包含进来使用include命令。


Include conf/l.conf,这样可以将l.conf加密传输协议组态档包含。

Include onf/php.conf,这样可以将php.conf动态网页PHP组态档给包含进来。


(10) LoadModule载入模块命令

从176行到211行为载入动态分享物件。*.so为我们的动态分享物件。在我们编译Apache的过程中,个别的Apache模块可以被选取来作动态连结。只有我们在指定载入(LoadModule命令)动态模块时,Apache网站服务器才会将它载入到我们的记忆体中。在第176行到211行是为我们载入的命令(LoadModule)和所载入模块的路径。如果我们不需要载入相关模块,只要在该行的前面加上注解分析 # 就可以了。



176 LoadModule acce_module modules/mod_acce.so
177 LoadModule auth_module modules/mod_auth.so
178 LoadModule auth_anon_module modules/mod_auth anon.so
179 LoadModule auth_dbm_module modules/mod_auth_dbm.so
180 LoadModule auth_digest_module modules/mod_auth_digest.so
181 LoadModule include module modules/mod_include.so
182 LoadModule log_config_module modules/mod_log_config.so
183 LoadModule env_module modules/mod env.so
184 LoadModule mime_magic_module modules/mod_mime_magic.so
185 LoadModule cern meta_module modules/mod_cern_meta.so
186 LoadModule expires_module modules/mod_expires.so
187 LoadModule headers_module modules/mod_headers.so
188 LoadModule usertrack_modul~ modules/mod_usertruck.so
189 LoadModule unique id module modules/mod_unique_id.so
190 LoadModule setenvif_module modules/mod setenvif.so
191 LoadModule mime module modules/mod_mime.so
192 LoadModule day_module modules/mod_dav.so
193 LoadModule status_module modules/mod_status.so
194 LoadModule autoindex module modules/mod_autoindex.so
195 LoadModule asis_moduge modules/mod_asis.so
196 LoadModule info_module modules/mod_info.so
197 LoadModule cgi_module modules/mod_cgi.so
198 LoadModule dav-fs module modules/mod_dav_fs.so
199 LoadModule vhost alias_module modules/mod vhost alias.so
200 LoadModule negotiation_module modules/mod~negotiation.so
201 LoadModule dir module modules/mod dir.so
202 LoadModule imap_module modules/mod_imap.so
203 LoadModule actio_module modules/mod_actio.so
204 LoadModule eling_module modules/mod_eling.so
205 LoadModule userdir module modules/mod userdir.so
206 LoadModule alias module modules/mod alias.so
207 LoadModule rewrite module modules/mod_rewrite.so
208 LoadModule proxy_module modules/mod_proxy.so
209 LoadModul~ proxy_ftp_module modules/mod_proxy_ftp.so
210 LoadModule proxy_http_module modules/mod_proxy_http.so
211 LoadModule proxy_coect_module modules/mod_proxy_coect.so









◆ 设定主服务器的组态指令

⑴ 设定主服务器的组态。

第二段的http.conf档案从第220行到1000行为设定为主服务器的组态。

220###Section 2:‘Main’server configuration


⑵ User使用者与Group群组指令

User指令指定以apache使用者来执行httpd。

Group指令指定以apache群组来执行httpd。


第244行设定APACHE服务器的拥有者,预设是APACHE 。第245行设定APACHE服务器的使用群组为APACHE。一般使用建立www的使用者来管理Apache系统。


244 User apache
245 Group apache

这httpd常驻程式不必以超级使用者的模式来执行,因为这樣比较安全,因为它的权限不会这麼高。在httpd常驻程式的拥有者为Apache 。假如我们改变使用名者和群组的指令,我们应该指定沒有特权的实体。这樣当我们的网站被渗透时,就可减低被伤害的危机。因为网站服务器的权限並沒有特权来修改我们的系统。 Httpd的常驻行程一开始是由root超级使用者啟动。连接服务器到较低的连接端口,而且用使用者和群组指令来转換使用者和群组是很重要的。其它的服务器行程则以User Id或Group Id指令的方式来执行。


⑶ ServerAdmin伺服器管理者指令

ServerAdmin指令设定APACHE的管理者E-mail信箱位址。预设的是超级使用者的E-mail。当服务器发生网页错误时,就会将错误的资讯寄到下列的邮件信箱位址,预设是root@localhost。我们可以以将邮件信箱位址设到自己的信箱例如:

webmaster@linuxunion.net是我们网站管理员的信箱。

252 ServerAdmin root@localhost

当我们的服务器发生一些事情时,我们可以寄事件资讯给服务器的管理员。在ServerAdmin指令中,我们可以设定收到此邮件的服务器管理员。 ServerAdmin指令可以寄送邮件到使用者帐号,或者转信到服务器管理者。

⑷ ServerName服务器名称指令

ServerName指令设定APACHE服务器名称,在这里可打上IP。预设是使用注解符号暂时关闭,如果我们的主机名称为www.linuxunion.net就将Server Nam指令设成www.linuxunion.net。

266 #ServerName new.host.name : 80

ServerName指令让服务器能夠使用名称和连接埠来辨別它自己。我们建议指定正确的服务器名称来预防问题的发生。假如ServerName指令沒有指向主机正确网域名称,服务器将沒有办法转向。假如主机名称沒用登录到D(网域名称服务器),则请输入我们的IP位址。我们将靠这IP位址来存取这台电脑。


linuxunion.net就像是WWW.linuxunion.net的别名机台,而这真正的机台名称为www.linuxunion.net(linuxunion.net和www.linuxunion.net的名子在D都有登录)。我们可以将好几个域名都指向同一个IP位置,但是服务器名称则只有一个,例如linuxunion.net和www.linuxunion.net都指向219.77.62.183这个机台的IP位置,而它的服务器名称则为www.linuxunion.net。






⑸ Use Canonical Name指令


UseCanonicalName指令设址服务器如何决定它自己的名称和连接端口,当Canonical名称设定OFF时APACHE会用主机名称和连接端口来辨别自己的位址与服务器名称。


275 UseCanonicalName Off

UseCanonicalName指令决定Apache如何建立参考自己的URLs、服务器名称和连接端口变数。当设定为Off时,Apache将使用使用输入的主机名称和连接端口,当设定为On时,Apache将使用ServerName指令所指定的名称。

UseCanonicalName指令提供命名一致的类型。当UseCanonicalName设定为On时,Apache总是使用ServerName指令和Port指令来建立URL(资源寻址)参考。当UseCanonicalName指令设定为off时,这URL(资源寻址)总是用使用者输入的地址。

⑹ DocumentRoot文件根目录指令

DocumentRoot指令设定APACHE服务器存放网站网页的地方。DocumentRoot指令执行之后,会指示服务器把指定的目录当作是所有网站服务器网页的根目录。如果我们设定/home/linuxunion则linuxunion使用者的家目录就是当作网站服务器存取的根目录。预设是放到/var/www/html的目录底下。我们也可以使用符号连结(Symbolic1ink)来连结到其它的地址。


282 DocmentRoot “/var/www/html”

我们可以将网站的网页放到好几个不同的目录中,而主要的位置是/var/www/html为网页文件的主要目录,我们可以使用DocumentRoot指令来指示网页文件所放置的位置。

DocumentRoot“var/www/html”设定网站的根目录,因此当我们存取
http://www.linuxunion.net/index.html时,就是存取/var/www/htmI/index.html的网页。


⑺ < Directory >指令

指令将一群指令用作在设定的档案系统目录和子目录。Apach有下列的容器指令指令。

让我们现在来介绍指令。


语法:

< Directory目录路径 >….< /Directory >

< Directory >和< /Directory >指令是使用来围住一群被命名的目录和子目录。
在网站目录结构下可以设定每一个目录的各别存取权限。这预设的权限是非常的严格。< Directory/ >….< /Directory >之间的区段设定Optio和AIIowOverride的目录存取允许权。/目录预设为/var/www/html的目录。Optio FollowSymlinks指令


指示服务器符号连结可以使用连结到其它位置的档案。

292 < Directory />
293 Optio FollowSymLinks
294 AllowOverride None
295 </Di rec tory >


第307行到第336行是我们设定放置网站根目錄的属性

我们由前面预设的目錄为/var/www/html。


307 < Directory “/var/www/html” >
308
309 #
310 # poible values for the optio directive are “None”,“All”,
311 # or any combination of :
312 # Indexes Includes FollowSymLinks if OwnerMatch ExecCGI Multiviews
313 #
314 # Note that “MultiViews”must be named “explicityly”-- “Optio All”

315 # does ′t give it to you.
316 #
317 # The Optio directive is both complicated and important. Please see
318 # http://httpd.apache.org/docs-2.0/mod/core.html#optio
319 # for more information
320 #
321 Optio Indexes FollowSymLinks
322
323 #
324 # AllowOverride controls what directives may be placed in .htacce files.
325 # It can be “All”,“None”,or any combination of thekeywords:
326 # Optio Fileinfo AuthConfig Limit
327 #
328 AllowOverride None
329
330 #
331 # Controls who can get stuff from this server.
332 #
333 Order allow,deny
334 Allow from all
335
336 < /Directory >



….< /Directory >指令当作容器将optio指令、AIIowOverride指令、deny、allow与order指令给包住。Optio指令是设定区块的功能。Deny指令和allow指令是拒絕或允许使用者可以从哪些地方连接到我们网站,order指令是设定deny与allow的使用顺序。




Optio指令设定特定目錄的组态特征。

语法:

Optio[+ | -]option

一般而言多个Optio指令的参数可以作用在特定目錄。假如在参数面前加上 「+ 」的符号,则表示将该项特征参数加到Optio上。假如在参数面前加上「 - 」的符号示将该项特征参去从Optio栘除。





这是AIIowOverride指令的参数說明。AllowOverride指令设定可以在 .htacce档案的指令类型。





这是AIIowOverride的指令语法。预设是AIIowOverride All。当我们有设定AcceFileName指令来设定目錄的存取档 .htacce时,服务器会找寻 .htacce档的指令,而AIIowOverride指令定义那些指令可以被 .htacce档案覆写。

语法:

AllowOverride All | None | 指令类型

当allowOverride指令设定为None时, .htacce就会完全被怱略,因此服务器就不会去读取档案系统的 .htacce档。

当AIIowOverride指令设定为All时,.htacce档案裹面的指令就会被作用。


指令中不能有巢状的出现。



我们可以一些像是Shell的字元来表示路径。万用字元,可以代表一连串的字元,但是不包括‘/’字元。还有‘?’字元,‘?’字元只代表任意一个字元。‘[]’代表字元的范围。‘~’代表可以延伸的字元。‘^’代表第一个字元。‘$’代表最后一个字元。

例如在< Dirctory/home/*/public_html >中使用*万用字元来对应在 /home底下的所有目錄。

在下面这个< Dirctory/home/*/public_html >指令中, 它可以运用在每一个使用者


的public_html目錄。因为每一个使用者的家目錄都是在 /home底下,*万用字元则代表所有的字元及使用者。

< Dirctory/home/*/public_html >

Allowoverride All

< /Dirctory >

我们可以使用正规运算式来表示目錄或档案路径。这表示符合大写字母和两个字元的目錄,例如/A00/或/Z99。

< DirectoryMatch “/[A-Z][0-9]{2}/” >

这是正规运算式常用的代換字元,如果我们要将代換字元当一般字元使用可以在前面加上‘﹨’反斜線。例如‘﹨.’代表逗号,而不是代換字元.
代换字元 说明 . 代替任何字元(新列字元除外) ^ 指定正规运算式的开头 $ 指定正规运算式的结尾 ﹨ b 比队字的边界 Goodlbad 找出good或bad(l为or运算子) [A-Z] 满足大写任何字元 ~ 代替前面任何字元 [^xyz] 任何不在xyz的字元
正规运算式是由代換字元、数量符号和一般字元所形成。
^apache是指定符合任何以apache为开始的路径。
apache$是指正符合任何以apache为结尾的路径。
^apache$是指定符合只有一个字apache所组成的路径。
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-19216-1.html
网站维护教程更新时间:2012-12-08 13:52:13  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer