超详细的apache httpd配置文档
Apache配置文件详解
Apache配置文件详解httpd 的配置文件是:/etc/httpd/conf/httpd.conf【//查看配置文件# grep -v "#" /etc/httpd/conf/httpd.conf//当服务器响应主机头(header)信息时显示Apache 的版本和操作系统名称ServerTokens OS//设置服务器的根目录ServerRoot "/etc/httpd"//设置运行Apache 时使用的PidFile 的路径PidFile run/httpd.pid//若300 秒后没有收到或送出任何数据就切断该连接Tim eout 300//不使用保持连接的功能,即客户一次请求连接只能响应一个文件/建议用户将此参数的值设置为On,即允许使用保持连接的功能KeepAlive Off//在使用保持连接功能时,设置客户一次请求连接能响应文件的最大上限MaxKeepAliveRequests 100//在使用保持连接功能时,两个相邻的连接的时间间隔超过15 秒,就切断连接KeepAliveTimeout 15//设置使用prefork MPM 运行方式的参数,此运行方式是Red Hat 默认的方式<IfModule prefork.c>//设置服务器启动时运行的进程数StartServers 8//Apache 在运行时会根据负载的轻重自动调整空闲子进程的数目,//若存在低于5 个空闲子进程,就创建一个新的子进程准备为客户提供服务MinSpareServers 5//若存在高于20 个空闲子进程,就创建逐一删除子进程来提高系统性能MaxSpareServers 20//限制同一时间的连接数不能超过150MaxClients 150//限制每个子进程在结束处理请求之前能处理的连接请求为1000 MaxRequestsPerChild 1000</IfModule>//设置使用worker MPM 运行方式的参数<IfModule worker.c>…………</IfModule>//设置使用perchild MPM 运行方式的参数<IfModule perchild.c>…………</IfModule>//设置服务器的监听端口Listen 80//将/etc/httpd/conf.d 目录下的所有以conf 结尾的配置文件包含进来Include conf.d/*.conf//动态加载模块(DSO)LoadModule access_module modules/mod_access.soLoadModule auth_module modules/mod_auth.so ………………………………LoadModule proxy_connect_m odule m odules/mod_proxy_connect.so //当使用内置模块prefork.c 时动态加载cgi_module<IfModule prefork.c>LoadModule cgi_module modules/mod_cgi.so</IfModule>//当使用内置模块worker.c 时动态加载cgid_module<IfModule worker.c>LoadModule cgid_module modules/mod_cgid.so</IfModule>//设置运行Apache 服务器的用户和组User apacheGroup apache//设置Apache 服务器管理员的E-m ail 地址ServerAdmin root@localhost//关闭此选项,当Apache 服务器需要指向本身的连接时使用//ServerName:Port 作为主机名,例如:80//若打开此选项将使用 port 80 作为主机名UseCanonicalName Off//设置根文档路径Document Root "/var/www/ht ml"//设置Apache 服务器根的访问权限<Directory />//允许符号链接跟随,访问不在本目录下的文件Options FollowSymLinks//禁止读取.htaccess 配置文件的内容AllowOverride None</Directory>//设置根文档目录的访问权限<Directory "/var/www/ht ml">//Indexes:当在目录中找不到DirectoryIndex 列表中指定的文件// 就生成当前目录的文件列表//FollowSymLinks:允许符号链接跟随,访问不在本目录下的文件Options Indexes FollowSymLinks//禁止读取.htaccess 配置文件的内容AllowOverride None//指定先执行Allow(允许)访问规则,再执行Deny(拒绝)访问规则Order allow,deny//设置Allow(允许)访问规则,允许所有连接Allow from all</Directory>//对Apache 服务器根的访问不生成目录列表,同时指定错误输出页面<LocationMatch "^/$>Options -IndexesErrorDocum ent 403 /error/noindex.ht ml</LocationMatch>//不允许每用户的服务器配置<IfModule mod_userdir.c>UserDir disable</IfModule>//当访问服务器时,依次查找页面index.ht ml、index.ht m l.varDirectoryIndex index.ht ml index.ht ml.var//指定保护目录配置文件的名称AccessFileName .htaccess//拒绝访问以.ht 开头的文件,即保证.htaccess 不被访问<Files ~ "^\.ht">Order allow,denyDeny from all</Files>//指定负责处理MIME 对应格式的配置文件的存放位置TypesConfig /etc/m ime.types//指定默认的MIME 文件类型为纯文本或HTML 文件DefaultType text/plain//当mod_mime_magic.c 模块被加载时,指定Magic 信息码配置文件的存放位置<IfModule mod_mime_m agic.c>MIMEMagicFile conf/m agic</IfModule>//只记录连接Apache 服务器的IP 地址,而不记录主机名HostnameLookups Off//指定错误日志存放位置ErrorLog logs/error_log//指定记录的错误信息的详细等级为warn 级别LogLevel warn//定义四种记录日志的格式LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" com binedLogFormat "%h %l %u %t \"%r\" %>s %b" commonLogFormat "%{Referer}i -> %U" refererLogFormat "%{User-agent}i" agent//指定访问日志的记录格式为com bined(混合型),并指定访问日志存放位置Custom Log logs/access_log com bined//设置Apache 自己产生的页面中使用Apache 服务器版本的签名ServerSignature On//设置内容协商目录的访问别名Alias /icons/ "/var/www/icons/"//设置/var/www/icons 目录的访问权限<Directory "/var/www/icons">// MultiViews:使用内容协商功能决定被发送的网页的性质Options Indexes MultiViewsAllowOverride NoneOrder allow,denyAllow from all</Directory>//设置Apche 手册的访问别名Alias /manual "/var/www/manual"//设置/var/www/m anual 目录的访问权限<Directory "/var/www/manual">Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder allow,denyAllow from all</Directory>//指定DAV 加锁数据库文件的存放位置<IfModule mod_dav_fs.c>DAVLockDB /var/lib/dav/lockdb</IfModule>//设置CGI 目录的访问别名ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"//由于Red Hat 中不使用worker MPM 运行方式,所以不加载mod_cgid.c 模块<IfModule mod_cgid.c>Scriptsock run/httpd.cgid</IfModule>//设置CGI 目录的访问权限<Directory "/var/www/cgi-bin">AllowOverride NoneOptions NoneOrder allow,denyAllow from all</Directory>//设置自动生成目录列表的显示方式// FancyIndexing:对每种类型的文件前加上一个小图标以示区别// VersionSort:对同一个软件的多个版本进行排序// NameWidth=*:文件名子段自动适应当前目录下最长文件名IndexOptions FancyIndexing VersionSort NameWidth=*//当使用IndexOptions FancyIndexing 之后,配置下面的参数,//用于告知服务器在遇到不同的文件类型或扩展名时采用MIME 编码格式//辨别文件类型并显示相应的图标AddIconByEncoding (CMP,/icons/com pressed.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/m ovie.gif) video/*//当使用IndexOptions FancyIndexing 之后,配置下面的参数,//用于告知服务器在遇到不同的文件类型或扩展名时采用所指定的格式//并显示所对应的图标AddIcon /icons/binary.gif .bin .exe………………AddIcon /icons/blank.gif ^^BLANKICON^^//当使用IndexOptions FancyIndexing 之后,且无法识别文件类型时//显示此处定义的图标DefaultIcon /icons/unknown.gif//当服务器自动列出目录列表时,在所生成的页面之后显示README.ht ml 的内容Readm eName README.ht ml//当服务器自动列出目录列表时,在所生成的页面之前显示HEADER.ht ml 的内容HeaderName HEADER.ht ml//设置在线浏览用户可以实时解压缩.Z .gz .tgz 类型的文件//并非所有浏览器都支持AddEncoding x-com press ZAddEncoding x-gzip gz tgz//设置网页内容的语言种类(浏览器要启用内容协商)//对中文网页,此项无实际意义AddLanguage da .dk…………AddLanguage hr .hr//当启用内容协商时,设置语言的先后顺序LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ltz ca es sv tw// Prefer:当有多种语言可以匹配时,使用LanguagePriority 列表的第1 项// Fallback:当没有语言可以匹配时,使用LanguagePriority 列表的第1 项ForceLanguagePriority Prefer Fallback//设置默认字符集AddDefaultCharset ISO-8859-1//设置各种字符集AddCharset ISO-8859-1 .iso8859-1 .latin1……………………AddCharset shift_jis .sjis//添加新的MIME 类型(避免用户编辑/etc/mime.types)AddType application/x-tar .tgz//设置Apache 对某些扩展名的处理方式AddHandler imap-file m apAddHandler type-m ap var//使用过滤器执行SSIAddOutputFilter INCLUDES .sht ml//设置错误页面目录的别名Alias /error/ "/var/www/error/"//设置/var/www/error 目录的访问权限<IfModule mod_negotiation.c><IfModule mod_include.c><Directory "/var/www/error">AllowOverride NoneOptions IncludesNoExecAddOutputFilter Includes ht mlAddHandler type-m ap varOrder allow,denyAllow from allLanguagePriority en es de frForceLanguagePriority Prefer Fallback</Directory>//设置错误输出页面ErrorDocum ent 400 /error/HTTP_BAD_REQUEST.html.varErrorDocum ent 401 /error/HTTP_UNAUTHORIZED.ht ml.var………………ErrorDocum ent 506 /error/HTTP_VARIANT_ALSO_VARIES.ht m l.var</IfModule></IfModule>//设置浏览器匹配BrowserMatch "Mozilla/2" nokeepaliveBrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0BrowserMatch "Java/1\.0" force-response-1.0BrowserMatch "JDK/1\.0" force-response-1.0BrowserMatch "Microsoft Data Access Internet Publishing Provider"redirect-carefullyBrowserMatch "^WebDrive" redirect-carefully#】介绍Apache服务器文件和目录:WEB站点目录描述/var/www Apache WEB站点文件的目录/var/www/ht ml WEB站点的WEB文件/var/www/cgi-bin CGI程序文件/var/www/ht ml/manual Apache WEB服务器手册/var/www/ht mll/usage webalizer程序文件配置文件/etc/httpd/conf 基于目录的配置文件,.htaccess文件包含对它所在目录中文件的访问控制指令/etc/httpd/conf/httpd.conf Apache WEB服务器配置文件目录/etc/httpd/conf/srm.conf 主要的Apache WEB服务器配置文件/etc/httpd/conf/access.conf 用来处理文档规范,配置文件类型昨未知的老式配置文件启动脚本/etc/rc.d/init.d/httpd WEB服务器守护进程的启动脚本/etc/rc.d/rc3.d/S85httpd 将运行级目录(/etc/rc3.d)连接到目录/etc/rc.d/init.d中的启动脚本应用文件/usr/sbin Apache WEB服务器程序文件和应用程序的位置/usr/doc/ Apache WEB服务器文档/var/log/http Apache 日志文件的位置。
Apache详细配置(目录 权限等)
3、配置虚拟主机
全局变量
1.选择服务器启动类型 ServerType
ServerType standalone | inetd
ServerType用于定义apache服务器的运行模式,默认值standalone为独立运行的服务器,如设置为inetd则由xinetd服务器负责apache服务器的启动。
使用<Directory>… </Directory>设置指定目录的访问权限,其中可包含:
Options
AllowOverride
Order
Allow
Deny
五个属性。
Options属性
Options FollowSymLinks Indexes MultiViews
Options可以组合设置下列选项:
Alias用于设置路径别名
Alias /doc/ /usr/share/doc/
给“/usr/share/doc/” 设置路径别名为“/doc/”
14.设置索引选项 AddIconByEncoding 为目录索引中的不同类型的文件产生不同的coding 定义一些压缩文件的MIME类型。
MaxSpareServers 20
提供浏览服务的httpd进程的数目需要随连接数目的多少而变化,因此需要随时保持几个闲置的httpd进程等候新的连接请求。若闲置的进程数少于5个(默认值),则表示闲置进程太少,需要将其增加到5个;若多于20个(默认值)则表示闲置进程太多,需将其减少到20个。
StartServers 8
允许所有主机的访问
Allow from 202.96.0.97 202.96.0.98
Apache服务器配置
Apache 服务器基本配置一、基本的服务器搭建1、vim /etc/httpd/conf/httpd.conf(1)修改主配置文件httpd.conf设置Apache的根目录为/etc/httpd设置客户端访问超时时间为120秒这两个设置为系统默认——57行和68行(2)设置客户端最接数为1000——104、105行(3)设置httpd监听端口80,默认——134行(4)设置管理员E-mail地址为rootbenet.——251行设置WEB服务器的主机名和监听端口为www.benet.:80——265行(5)设置文档目录为/——281行(6)允许所有人访问/var//html/file目录——306、333行(此行可不配置)(7)设置主页文件为index.html——391行(8)设置服务器的默认编码为GB2312——747行(9)重新启动httpd[rootdns Server]# mkdir / (重要一步,不然不能启动) [rootdns Server]# vim / /index.html[rootdns Server]# service httpd restart停止 httpd: [确定]启动 httpd: [确定][rootdns Server]# setup设置防火墙二、多个站点的搭建1、基于ip地址的站点搭建[root ~]# vim /etc/httpd/conf/httpd.conf其次在主配置文件的最后加上如下配置<VirtualHost 192.168.0.223:80>ServerAdmin webmasterdummy-host.example.DocumentRoot //1ServerName dummy-host.example.ErrorLog logs/dummy-host.example.-error_logCustomLog logs/dummy-host.example.-access_log common </VirtualHost><VirtualHost 192.168.0.253:80>ServerAdmin webmasterdummy-host.example.DocumentRoot //2ServerName dummy-host.example.ErrorLog logs/dummy-host.example.-error_logCustomLog logs/dummy-host.example.-access_log common </VirtualHost>配置完成后重启服务[root ~]# service httpd restart然后在IE浏览器进行访问测试2、基于端口的站点搭建[root ~]# vim /etc/httpd/conf/httpd.conf首先加上如下配置,监听端口:Listen 801Listen 802其次在主配置文件的最后加上如下配置<VirtualHost 192.168.0.223:801>ServerAdmin webmasterdummy-host.example.DocumentRoot //1ServerName dummy-host.example.ErrorLog logs/dummy-host.example.-error_logCustomLog logs/dummy-host.example.-access_log common </VirtualHost><VirtualHost 192.168.0.223:802>ServerAdmin webmasterdummy-host.example.DocumentRoot //2ServerName dummy-host.example.ErrorLog logs/dummy-host.example.-error_logCustomLog logs/dummy-host.example.-access_log common </VirtualHost>配置完成后重启服务[root ~]# service httpd restart然后在IE浏览器进行访问测试3、基于域名的站点搭建首先必须保证DNS服务器正常运行[root ~]# vim /etc/httpd/conf/httpd.conf首先把#NameVirtualHost *:80改为如下配置:NameVirtualHost 192.168.0.223:80其次在主配置文件的最后加上如下配置<VirtualHost 192.168.0.223:80>ServerAdmin webmasterdummy-host.example.DocumentRoot //1ServerName www1.zzptc.ErrorLog logs/dummy-host.example.-error_logCustomLog logs/dummy-host.example.-access_log common </VirtualHost><VirtualHost 192.168.0.223:80>ServerAdmin webmasterdummy-host.example.DocumentRoot //2ServerName www2.zzptc.ErrorLog logs/dummy-host.example.-error_logCustomLog logs/dummy-host.example.-access_log common </VirtualHost>配置完成后重启服务[root ~]# service httpd restart然后在IE浏览器进行访问测试。
apache服务配置
Apache 安装后启动然后配置即可.记得开启80 端口.iptables –I INPUT –p tcp –dport 80 –j ACCEPT 开启tcp 80 端口apache 的配置文件: httpd.conf 路径: /etc/httpd/conf/httpd.confDocumentRoot “/var/www/html”设置主目录的路径DirectoryIndex index.html index.html.var 设置默认主文档,中间用空格格开Listen 80Listen 192.168.1.1:80 设置apache监听的IP地址和端口号,可添加多个ServerRoot “/etc/httpd”设置相对根目录的路径(存放配置文件和日志文件)ErrorLog Logs/error_log 设置错误日志存放路径CustomLog Logs/access_log combined (日志格式) 设置访问日志存放路径如果日志文件存放路径不是以”/”开头,则意味着该路径相对于ServerRoot 的相对路径. ServerAdmin 邮箱地址{设置管理员的E-mail地址ServerName FQDN名或IP地址{设置服务器主机名由于Apache默认字符集为西欧(UTF-8),所以客户端访问中文网页时会出现乱码. 将语句“AddDefaultCharset UTF-8”改为“AddDefaultCharset GB2312”方可解决,不过要重新启动Apache服务. 修改完默认字符集后,客户端如需访问,要先清空浏览器的缓存.创建虚拟目录,添加Alias语句即可Alias /ftp “/var/ftp”Alias 虚拟目录名物理路径<Directory “/var/ftp”> <Directory 物理路径>Options Indexes 定义目录特性AllowOverride None 一般这样写就行Order allow,deny 设置访问权限Allow from all 允许所有用户访问</Directory>要实现虚拟目录用户认证,首先要建立保存用户名和口令的文件htpasswd -c /etc/httpd/mysecretpwd (文件名) text (用户)-c 选项表示无论口令文件是否已经存在,都会重新写入文件并删去原有内容.所以在添加第二个用户到口令文件时,就不需要使用-c 选项了.Alias /ftp “/var/ftp”<Directory “/var/ftp”>AuthType Basic 设定认证类型,Basic最常用AuthName “This is a private directory. Please Login:”辛苦点,全背上吧. AuthUserFile /etc/httpd/mysecretpwd 定义口令文件路径Require user text(用户) 定义允许哪些用户可以访问</Directory>创建其于IP地址的虚拟主机,虚拟主机IP为192.168.1.1<VirtualHost 192.168.1.1>ServerName 192.168.1.1:80ServerAdmin web@DocumentRoot “/usr/www”DirectoryIndex index.htmlErrorLog logs/www/error_logCustomLog logs/www/access_log combined</VirtualHost>创建其于域名的虚拟主机,服务器IP为192.168.1.1, 必须在DNS服务器上为添加一条A记录,将其解析到192.168.1.1NameVirtualHost 192.168.1.1 开头必须有这一句!!!<VirtualHost >ServerName :80ServerAdmin web@jiang.cmDocumentRoot “/usr/www”DirectoryIndex index.htmlErrorLog logs/www/error_logCustomLog logs/www/access_log combined</virtualHost>。
httpd.conf配置完美详解
Linux下httpd.conf 配置详解1. 关于本文本文将以Apache 2.2为例,以rhel5为平台,讲述Apache服务器的安装和设置。
2. 关于ApacheApache 是一款功能强大、稳定、可支撑关键任务的Web服务器Apache具有如下特性:1) 几乎可以运行在所有的计算机平台上.2) 支持最新的HTTP/1.1协议3) 简单而且强有力的基于文件的配置(HTTPD.CONF).4) 支持通用网关接口(CGI)5) 支持虚拟主机.6) 支持HTTP认证.7) 集成PERL.8) 集成的代理服务器9) 可以通过WEB浏览器监视服务器的状态, 可以自定义日志.10) 支持服务器端包含命令(SSI).11) 支持安全SOCKET层(SSL).12) 具有用户会话过程的跟踪能力.13) 支持FASTCGI14) 支持JAVA SERVLETS.……更多信息请参阅Apache网站:3. Apache的安装Apache的安装无外两种方式:源码包安装和二进制包安装。
这两种方式各有特色,二位制包安装不需编译,针对不同的平台有经过优化编译的不同的二进制文件以及包格式,安装简单方便,源码包则必须先配置编译再安装,可以根据你所用的主机环境进行优化、选择你所用的模块,安装定制更灵活。
下面分别介绍这两种安装方式。
3.1 以源码包方式安装3.1.1 下载最新版本的apache软件访问apahce网站/download.cgi下载最新版本的Apache源码包。
本文使用的是2.2.6版本,在linux系统下用下面的命令下载:wget /httpd/httpd-2.2.6.tar.gz3.1.2 解压缩下载的源码包首先建立一个工作目录( 笔者建议的目录为/usr/local/src/apache ) :mkdir -p /usr/local/src/apache将下载的源码包移至工作目录:mv httpd-2.2.6.tar.gz /usr/local/src/apache进入工作目录并用tar命令解压源码包:cd /usr/local/src/apachetar zxvf httpd-2.2.6.tar.gz命令执行结束后,当前工作目录下将生成一个新的子目录httpd-2.2.6,此目录下即为Apache的源码文件。
Apache服务器配置
实验内容:--检查系统是否安装了Apache服务命令:Rmp –q httpd--Apache服务的启动、停止和查询状态命令:Service httpd startService httpd stopService httpd status--首先要知道的是Apache服务器配置文件httpd.conf的位置,是/etc/httpd/conf/目录下。
--编写一个简单的网页,放到Apache的默认发布路径/var/www/html文件夹。
在浏览器URL 中输入自己的IP地址就可以显示编写的网页了。
--要配置Apache主要就是对配置文件的修改,如下:1. Apache的默认发布路径/var/www/html文件夹,可以在配置文件中修改该目录为/home/html文件夹:DocumentRoot “/home/html”2.添加文档baidu.html为默认的,则修改:DirectoryIndex baidu.html index.html3.其他就不再举例,功能实现参看课本,基本上都是修改配置文件。
--认证和授权拥有密码的人访问网站内容:1.在/var/www/html/bingbing文件夹上设置密码,该文件夹有一个网页如下。
2.首先要在Apache配置文件中添加代码,如下:3.接下来要为bingbing文件夹创建口令文件,由于我已经创建了目录passwd,所以会显示已存在了:4.重启Apache服务器,打开浏览器验证,在URL中输入自己的IP地址并指定加密码的文件夹bingbing:http://192.168.1.7/bingbing。
就会弹出一个认证对话框如下:5.示例网页就会显示,如下:--虚拟主机的配置:1. 虚拟主机是指在同一台服务器上实现多个Web站点,要想实现虚拟主机功能只能通过如下途径:(1)不同的虚拟主机使用不同的IP地址和端口号。
即若虚拟主机使用相同的IP 地址,则必须使用不同的端口号,但这种情况下,客户浏览该服务器时必须指定特定的端口号,否则无法访问。
Apache服务配置文档
服务器配置技术文档Array1.基础知识1.1rpm包安装目录结构/etc/httpd/工作目录/etc/httpd/conf/httpd.conf主配置文件/etc/httpd/conf.d/额外配置文件目录/var/www/html/默认的网页存放位置/var/www/cgi-bin/可执行的CGI程序目录/var/log/httpd/默认的日志目录/usr/sbin/apachectl检测工具/usr/sbin/httpd进程启动脚本/usr/bin/htpasswd密码认证工具1.2源代码包安装目录结构通常建议将下载的源代码包解压缩到/usr/local/src/目录下,而安装到/usr/local/apacheX路径下(X可以理解成该源代码包的版本号)#tar-zxf httpd-2.0.59.tar.gz-C/usr/local/src解压到指定路径#cd/usr/local/src/httpd-2.0.59.tar.gz进入到解压后的路径下#./configure--prefix=/usr/local/apache2--enable-so--enable-rewrite配置#make编译#make install安装-------------------------------------------------------------------------------------------------------------------------------那么此时的工作目录就是在上面“配置”步骤中的/usr/local/apache2/几乎所有的相关配置文档,以及相关目录都在这个路径下下面列出的目录和文件都是在该路径下的:bin/相关脚本存放目录,其中apachectl为服务的启动脚本源代码Apache服务的启动命令为#/usr/local/apache2/bin/apachectl start成功启动的话,是没有提示信息的conf/主配置文件存放目录htdocs/默认网页存放路径cgi-bin/可执行的CGI程序目录logs/日志存放目录配置讲解(以RPM包为例)2.1基本配置项目录的相关权限参数Options 参数字段,常用下面的三个值:Indexes 在该目录下若不能找到首页文件,则列表显示该目录下的所有文件FollowSymLinks 在该目录下的链接文件可以链接到其它目录下ExecCGI 让该目录具有执行CGI 程序的权限AllowOverride 参数字段,常用下面的两个值:AuthConfig 设置该目录的浏览认证None 浏览该目录不做限制Order 权限参数字段,常用下面两种方式:deny 、allow 优先处理deny ,若没有规则就默认为allowallow 、deny 优先处理allow ,若没有规则就默认为deny例如:特别注意:关于Order 参数的使用,其中顺序问题非常重要第一种情况——Order allow,deny先处理允许策略,再处理拒绝策略,若没有具体策略,则忽略——Order allow,deny先处理拒绝策略,再处理允许策略,若没有具体策略,则忽略2.3虚拟目录设置/var/www/html/是网页的默认存放路径,我们在该路径下创建几层目录如:/var/www/html/benet/xueshu/s2/index.html我们想访问上面的这个网页,那么在客户端的IE 地址栏中需要如下填写地址/benet/xueshu/s2才能访问到此时使用虚拟目录如下设置此时在客户端的IE 地址栏中只要如下填写地址就可以访问:/s2即可有时候需要设置的目录所存放的网页具有cgi执行能力,此时在设置虚拟目录时使用认证网页设置举个例子:公司对外的网站上有一个网页是用来提供下载的,那么不是所有的外网用户都可以下载到网站上的软件,所有经过授权的用户,在打开该网页的时候被要求输入用户名和密码,这个功能就用到了Apache的网页认证功能。
httpd配置文档
httpd.conf文件配置详解Apache的基本设置主要交由httpd.conf来设定管理,我们要修改Apache的相关设定,主要还是通过修改httpd.cong来实现。
下面让我们来看看httpd.conf的内容,它主要分成3大部分:Section 1:Global EnvironmentSection 2:'Main' server configurationSection 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秒还没传送信息给用户端,即断线。
Apache服务器配置
IN CNAME
IN CNAME
在上面的配置中,在提交的DNS正向配置文件以及反向配置文件中, 已经具有如下的A记录和PTR记录,分别为
www
利用httpd.conf我们可以对Apache服务器进行全局 配置、管理或预设服务器的参数定义、虚拟主机的设 置等。httpd.conf是一个文本文件,我们可以用vi编辑 工具进行修改。 httpd.conf文件主要分为三个部分: Section 1: Global Environment (全局变量) Section 2: 'Main' server configuration(主服务器配置) Section 3: Virtual Hosts(虚拟主机配置)
2.配置基于IP的虚拟主机 (1)基于IP虚拟主机的DNS配置 如果用户想要创建两个基于IP的虚拟主机和
这两个虚拟主机站点的共同域名是 。用户可以按照如下所示在DNS正向配置文 件中进行配置:
lth IN
A 192.168.15.212
3.Port 该参数用来指定Apache服务器的监听端口。一般来说,标准的HTTP
服务默认端口号是80,一ቤተ መጻሕፍቲ ባይዱ不要更改这个数值。本例为80端口:
Port 80 4.ServerAdmin
设置Apache服务器管理员的邮件地址。
5.ServerName 该参数使得用户可以自行设置主机名,以取代安装Apache服务器主机
7.MaxKeepAliveRequests 当使用保持连接(persistent connection)功能时,可以使用本参数决定
每次连接所能发出的要求数目的上限。如果此数值为0,则表示没有限制。 建议尽可能使用较高的数值,以充分发挥Apache的高性能,本例设置每次 连接所能发出的要求数目上限为100:
apache基本配置详解
APACHE 基本配置详解/etc/httpd/httpd.conf 主配置文件/etc/httpd/extra/ //显示/etc/httpd/extra/下面的所有附加配置文件httpd-autoindex.conf //配置目录列表的辅配置文件httpd-dav.conf //配置DAV的辅配置文件httpd-default.conf //配置与Apache服务自身相关的辅配置文件httpd-info.conf //配置用于服务器信息和状态显示的辅配置文件httpd-languages.conf //配置语言支持的辅配置文件httpd-manual.conf //配置提供Apache文档访问的辅配置文件httpd-mpm.conf //配置多路处理模块(MPM) 的辅配置文件httpd-multilang-errordoc.conf //配置多语言错误应答的辅配置文件httpd-ssl.conf //配置SSL模块的辅配置文件httpd-userdir.conf //配置用户主目录的辅配置文件httpd-vhosts.conf //配置虚拟主机的辅配置文件ServerRoot"/usr/local/apache2" #设置服务器目录的绝对路径#Listen 12.34.56.78:80 #允许Apache绑定指定的IP或者端口,实现对其监听Listen 80 #Apache绑定指定的端口80#以下几行加载特定的DSO(Dynamic Shared Object)模块LoadModule deflate_module modules/mod_deflate.soLoadModule expires_module modules/mod_expires.soLoadModule rewrite_module modules/mod_rewrite.soLoadModule php5_module modules/libphp5.so #动态加载php5模块#设置子进程的用户和组,<IfModule test>...</IfModule>配置段用于封装根据指定的模块是否启用而决定是否生效的指令。
Apachehttpd.conf配置详解
Apachehttpd.conf配置详解常⽤配置指令说明1. ServerRoot:服务器的基础⽬录,⼀般来说它将包含conf/和logs/⼦⽬录,其它配置⽂件的相对路径即基于此⽬录。
默认为安装⽬录,不需更改。
语法:ServerRoot directory-path如: ServerRoot "/usr/local/apache-2.2.6"注意,此指令中的路径最后不要加 / 。
2. Listen:指定服务器监听的IP和端⼝。
默认情况下Apache会在所有IP地址上监听。
Listen是Apache2.0以后版本必须设置的指令,如果在配置⽂件中找不到这个指令,服务器将⽆法启动。
语法:Listen [IP-address:]portnumber [protocol]Listen指令指定服务器在那个端⼝或地址和端⼝的组合上监听接⼊请求。
如果只指定⼀个端⼝,服务器将在所有地址上监听该端⼝。
如果指定了地址和端⼝的组合,服务器将在指定地址的指定端⼝上监听。
可选的protocol参数在⼤多数情况下并不需要,若未指定该参数,则将为443端⼝使⽤默认的https 协议,为其它端⼝使⽤http协议。
使⽤多个Listen指令可以指定多个不同的监听端⼝和/或地址端⼝组合。
默认为:Listen 80如果让服务器接受80和8080端⼝上请求,可以这样设置:Listen 80Listen 8080如果让服务器在两个确定的地址端⼝组合上接受请求,可以这样设置:Listen 192.168.2.1:80Listen 192.168.2.2:8080如果使⽤IPV6地址,必须⽤⽅括号把IPV6地址括起来:Listen [2001:db8::a00:20ff:fea7:ccea]:803. LoadModule:加载特定的DSO模块。
Apache默认将已编译的DSO模块存放于4.1⽬录结构⼩节中所⽰的动态加载模块⽬录中。
Apache2配置参数详细说明
StartThreads 250
MinSpareThreads 25
MaxSpareThreads 250
MaxThreads 1000
MaxRequestPerChild 0
</IfModule>
# OS/2 MPM
# StartServers:启动的服务进程数量
# ThreadsPerChild:每个服务进程中的工作线程常数
# MaxRequestsPerChild:服务进程中允许的最大请求数目
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
<IfModule>
<IfModule>
#
#PidFile:记录服务器启动进程号的文件。
#
<IfModule !mpm_neware.c>
PidFile logs/httpd.pid
</IfModule>
#
#Timeout:接收和发送前超时秒数
#
Timeout 300
#
#KeepAlive:是否允许稳固的连接(每个连接有多个请求),
#
KeepAliveTimeout 15
##
##Server-Pool大小设定(针对MPM的)
##
# prefork MPM
# StartServers:启动时服务器启动的进程数
# MinSpareServers:保有的备用进程的最小数目
Apache配置详解
Apache配置详解Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。
主站点的配置(基本配置)(1) 基本配置:ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。
其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。
PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。
Listen 80 #服务器监听的端口号。
ServerName :80 #主站点名称(网站的主机名)。
ServerAdmin admin@ #管理员的邮件地址。
DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。
以下是对主站点的目录进行访问控制:<Directory "/mnt/web/clusting">Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory>在上面这段目录属性配置中,主要有下面的选项:Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:ExecCGI: 在该目录下允许执行CGI脚本。
FollowSymLinks: 在该目录下允许文件系统使用符号连接。
Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。
SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。
其它可用值和含义请参阅:/Apache/ApacheManual/mod/core.html#options AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):None: 当AllowOverride被设置为None时。
Apache2.2配置文件中文版
#Listen 12.34.56.78:80
Listen 80
#
# 动态共享对象的支持
#
#对于被创建为DSO的模块,在使用其功能前必须添加一条LoadModule语句。例如:
#LoadModule userdir_module modules/mod_userdir.so
#LoadModule authn_alias_module modules/mod_authn_alias.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
# LoadModule foo_module modules/mod_foo.so
静态编译的文件(列于httpd -l)则不需要这样。
LoadModule python_module modules/mod_python.so
LoadModule actions_module modules/mod_actions.so
#不要简单的阅读此处的说明而不去理解
# what they do. They're here only as hints or reminders. If you are unsure
#它们的行为。此处它们仅仅作为一个提示。若你有疑问
# consult the online docs. You have been warned.
Apache主配置文件httpd.conf详解
Apache主配置⽂件httpd.conf详解Apache的主配置⽂件:/etc/httpd/conf/httpd.conf默认站点主⽬录:/var/www/html/Apache服务器的配置信息全部存储在主配置⽂件/etc/httpd/conf/httpd.conf中,这个⽂件中的内容⾮常多,⽤wc命令统计⼀共有1009⾏,其中⼤部分是以#开头的注释⾏。
[root@justin ~]# wc -l /etc/httpd/conf/httpd.conf1009 /etc/httpd/conf/httpd.conf[root@justin ~]#配置⽂件包括三部分:[root@justin ~]# grep '\<Section\>' /etc/httpd/conf/httpd.conf -n33:### Section 1: Global Environment245:### Section 2: 'Main' server configuration973:### Section 3: Virtual Hosts[root@justin ~]#1)Global Environment---全局环境配置,决定Apache服务器的全局参数2)Main server configuration---主服务配置,相当于是Apache中的默认Web站点,如果我们的服务器中只有⼀个站点,那么就只需在这⾥配置就可以了。
3)Virtual Hosts---虚拟主机,虚拟主机不能与Main Server主服务器共存,当启⽤了虚拟主机之后,Main Server就不能使⽤了--------------------------------------------------------------------------------1)Global Environment44 ServerTokens OS在出现错误页的时候是否显⽰服务器操作系统的名称,ServerTokens Prod为不显⽰57 ServerRoot "/etc/httpd"⽤于指定Apache的运⾏⽬录,服务启动之后⾃动将⽬录改变为当前⽬录,在后⾯使⽤到的所有相对路径都是想对这个⽬录下65 PidFile run/httpd.pid记录httpd守护进程的pid号码,这是系统识别⼀个进程的⽅法,系统中httpd进程可以有多个,但这个PID对应的进程是其他的⽗进程70 Timeout 60服务器与客户端断开的时间76 KeepAlive Off是否持续连接(因为每次连接都得三次握⼿,如果是访问量不⼤,建议打开此项,如果⽹站访问量⽐较⼤关闭此项⽐较好),修改为:KeepAlive On 表⽰允许程序性联机83 MaxKeepAliveRequests 100表⽰⼀个连接的最⼤请求数89 KeepAliveTimeout 15断开连接前的时间102 <IfModule prefork.c>103 StartServers 8104 MinSpareServers 5105 MaxSpareServers 20106 ServerLimit 256107 MaxClients 256108 MaxRequestsPerChild 4000109 </IfModule>系统默认的模块,表⽰为每个访问启动⼀个进程(即当有多个连接公⽤⼀个进程的时候,在同⼀时刻只能有⼀个获得服务)。
Apache服务器主配置文件httpd.conf详解
Apache服务器主配置⽂件httpd.conf详解apache 2.2# This is the main Apache server configuration file. It contains the# configuration directives that give the server its instructions.# See <URL:/docs/2.2/> for detailed information.# In particular, see# <URL:/docs/2.2/mod/directives.html># for a discussion of each configuration directive.# 这是主Apache服务器配置⽂件。
# 它给服务器指⽰配置指令。
# 可去/docs/2.2/查看详细信息# 特别情况可去/docs/2.2/mod/directives.html# 对每个配置指⽰进⾏讨论# Do NOT simply read the instructions in here without understanding# what they do. They're here only as hints or reminders. If you are unsure# consult the online docs. You have been warned.## The configuration directives are grouped into three basic sections:# 1. Directives that control the operation of the Apache server process as a# whole (the 'global environment').# 2. Directives that define the parameters of the 'main' or 'default' server,# which responds to requests that aren't handled by a virtual host.# These directives also provide default values for the settings# of all virtual hosts.# 3. Settings for virtual hosts, which allow Web requests to be sent to# different IP addresses or hostnames and have them handled by the# same Apache server process.# 要明⽩这些指令是做什么的。
httpd基本配置及应用
httpd基本配置和应用任务要求:1.设置服务端口:8081;2.设置默认目录位置:\etc\web1;3.新建两个账户admin01,admin02;4.在web1下设置school,home两个目录;5.仅admin01拥有school目录的所有权限;6.仅admin02拥有home目录的所有权限;7.在web1下面新建index.htm,访问该页面时自动指向school下面的index.htm;8.在web1下面新建index.html,访问该页面时自动指向home下面的index.htm。
任务实现:安装httpd(Apache)请自行百度。
关于httpd的配置目录如下:图 1 httpd的主要配置文件测试httpd是否打开且正常运行,在浏览器中输入http://127.0.0.1,能够打开Apache默认页面说明安装成功:图 2 测试httpd服务是否启动成功 设置服务端口图 3 设置监听端口8081图 4 改变默认端口后不可访问图 5 使用修改后的端口8081 设置默认目录位置图 6 用vi打开httpd配置文件图 7 编辑默认目录位置新建账户图 8 按要求新建账户 在web1下设置school,home两个目录图 9 新建题述文件夹⏹仅admin01拥有school目录的所有权限,admin02拥有home目录的所有权限图 10 修改目录权限⏹建立所需文件并编写跳转源码图 11 建立所需*.htm*文件图 12 用vi编辑跳转源码图 13 用浏览器测试图 14 因权限限制不可访问图 15 修改相关权限使可访问目标文件图 16 再次测试已跳转到shool/index.htm访/etc/web1/index.html跳至/home/index.htm 的方法同上,请自行修改相关源码及权限。
Apache的httpd.conf文件配置详解
Apache的httpd.conf文件配置详解Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。
主站点的配置(基本配置)(1) 基本配置:ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。
其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。
PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。
Listen 80 #服务器监听的端口号。
ServerName :80 #主站点名称(网站的主机名)。
*****************************#管理员的邮件地址。
DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。
以下是对主站点的目录进行访问控制:<Directory "/mnt/web/clusting">Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory>在上面这段目录属性配置中,主要有下面的选项:Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:ExecCGI: 在该目录下允许执行CGI脚本。
FollowSymLinks: 在该目录下允许文件系统使用符号连接。
Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex 指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。
SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。
其它可用值和含义请参阅:/Apache/ApacheManual/mod/core.html#optionsAllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):None: 当AllowOverride被设置为None时。
httpd的配置文件
httpd的配置⽂件1.1 httpd命令和apachectl命令[root@xuexi ~]# httpd -hUsage: httpd [-D name] [-d directory] [-f file][-C "directive"] [-c "directive"][-k start|restart|graceful|graceful-stop|stop][-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]Options:-D name : 定义⼀个在< IfDefine name >中使⽤的name,以此容器中的指令 -d directory : 指定ServerRoot -f file : 指定配置⽂件-C "directive" : 指定在加载配置⽂件前要处理的指令(directive)-c "directive" : 指定在加载配置⽂件后要处理的指令 -e level : 显⽰httpd启动时的⽇志调试级别-E file : 将启动信息记录到指定⽂件中-v : 显⽰版本号-V : 显⽰编译配置选项-h : 显⽰帮助信息 -l : 显⽰已编译但⾮动态编译的模块,即静态编译的模块-L : 显⽰静态模块可⽤的指令列表-t -D DUMP_VHOSTS : 显⽰虚拟主机的设置信息-t -D DUMP_RUN_CFG : 显⽰运⾏参数-S : 等价于-t -D DUMP_VHOSTS -D DUMP_RUN_CFG。
在调试如何解析配置⽂件时⾮常⾮常有⽤-t -D DUMP_MODULES : 显⽰所有已被加载的模块,包括静态和动态编译的模块-M : 等价于-t -D DUMP_MODULES-t : 检查配置⽂件语法-T : 不检查DocumentRoot,直接启动-X : 调试模式,此模式下httpd进程依赖于终端-k : 管理httpd进程,接受start|restart|graceful|graceful-stop|stopapachectl命令和httpd命令基本相同。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Apache服务器配置查看网站所使用的服务器可以使用这个命令:curl –I 域名或ip 。
修改httpd监听的端口首先查看httpd默认监听的端口,netstat –tunalep | grep httpd ,得知其侦听的端口为80。
修改配置文件/etc/httpd/conf/httpd.conf中的LISTEN=8080;重启服务/etc/init.d/httpd restart,用浏览器访问,无法看到主页;查看监听端口netstat –tunalep | grep httpd 发现端口为8080,浏览器访问服务器主机在指定端口为8080可以访问,即http://xxx.xxx.xxx:8080。
修改默认发布目录建立发布目录,mkdir /www/html,并编辑测试主页index.html;修改目录selinux安全上下文chcon –t httpd_content_t /www/html –R;修改配置文件vsftpd.conf,将第292行改为DocumetnRoot “/www/html”配置用户个人网站个人网站是指在主机上拥有账号的用户可以通过apache服务器发布自己个人目录中的文件,其访问方式为http://<主机名>/~<用户名>/。
例如,在192.168.0.1的主机上有一个test用户,则可以通过http://192.168.0.1/~test/的形式访问test用户个人目录/home/test目录中中的一个目录,即test个人目录中的一个目录成了一个网站的主目录。
配置这个网站需要加载模块mod_usedir,在vsftpd.conf文件360行左右。
<IfModule mo_userdir.c>#UserDir disabled #注释掉此行UserDir public_html #默认个人网站的发布目录</IfModule>按配置文件httpd.conf中的设置,建立用户个人网站的发布目录,默认为public_html,mkdir /home/test/public_html,新建index.html测试主页;修改用户家目录的权限,加上可执行权限,chomod +x /home/test/;修改httpd的布尔值,setsebool –P httpd_enable_homedirs on;认证与授权配置认证是指用户通过浏览器访问某一受保护资源时,需要提供正确的用户名和密码才能访问。
在Apache中支持两种认证类型:基本认证和摘要认证。
后者更加安全,但并不是所有的浏览器都支持摘要认证,所以大多数情况下用户只是用基本认证。
1)创建密码文件(即配置认证)认证密码文件和认证组文件不要与web文档存放于相同的目录下,一般放在/var/www/目录或其子目录下。
执行htpasswd -cm myrealm admin并按提示输入两遍密码#创建密码文件并加入用户htpasswd -c myrealm jack #将Jack用户加入密码文件创建完毕,可以用cat myrealm 命令查看。
2)编辑配置文件为指定的用户或组授权编辑配置文件/etc/httpd/conf/httpd.conf,添加一下内容<Directory “/var/www/html/test”>AllowOverride None #不实用.htaccess文件AuthType Basic #指定使用基本认证方式AuthName “myrealm” #指定认证领域名称require vaild-user #把目录授权给认证密码文件中的所有用户</Directory>认证授权配置文件也可以单独编写,名字为“.htaccess”,存放在收保护目录下本例为/var/www/hml/test。
则httpd.conf中的配置为<Directory “/var/www/html/test”>AllowOverride ALL</Directory>.htaccess 文件的内容如下authuserfile /etc/httpd/conf/myreal #指定认证密码文件authname “myrealm”authtype basicrequire user admin3)测试结果在浏览器地址中输入: http://<主机名>/<受保护的目录名>/则会弹出提醒登录的对话框,输入密码文件中的用户名和密码就可登录。
附:apache的认证配置指令配置指令格式功能AuthName Authname <领域名称> 定义受保护领域名称AuthType Authtype <basic|digest> 指定认证方式AuthGroupFile AuthGroupFile <文件名> 指定认证组文件的位置AuthUserFile Authuserfile <文件名> 指定认证密码文件位置为用户或组授权配置指令Require指令的格式和功能指令格式功能Require user <用户名> [用户名] 授权给指定的一个或多个用户Require group <组名> [组名] 授权指定的一个或多个组Require valid-user 授权个认证密码文件中的所有用户虚拟主机配置虚拟主机是指在一台机器上运行多个网站。
如果每个网站拥有不同的ip地址,则称为是基于ip的虚拟主机。
如果只有一个ip地址,但通过不同的主机名访问不同的网站,则称为是基于主机名或域名的虚拟机。
apache对两种方式均支持。
基于域名的虚拟主机的配置两个虚拟主机的域名分别为和,发布目录分别为/var/www/html/test和/www/html。
编辑配置文件httpd.conf,第996行改为:NamevirtualHost *:80 ,*为NamevirtualHost的参数,表示在服务器所有的IP地址的80端口接受来自虚拟主机的请求。
复制<VirtualHost>标签模板,粘贴在下面,进行虚拟主机的配置<VirtualHost *:80>DocumentRoot /var/www/htmlServerName ErrorLog logs/-error_logCustomLog logs/-access_log common</VirtualHost><VirtualHost *:80>DocumentRoot /var/www/html/testServerName ErrorLog logs/-error_log #指定错误日志的位置CustomLog logs/-access_log common #指定访问日志的位置</VirtualHost>修改主机的别名,vim /etc/hosts#test hostname192.168.0.1 192.168.0.1 测试用浏览器通过域名访问。
基于IP的虚拟主机的配置先在eth0网络接口上,再仿真一个网络接口,就是在一个网卡上面设置多个IP 的意思。
ifconfig eth0:0 192.168.1.1 ,再用ifconfig查看便可看到eth0:0 端口。
修改配置文件vsftpd.conf,增加的内容和基于域名的虚拟主机配置差不多,如下:#NamevirtualHost *:80 把此行注释<VirtualHost 192.168.0.1:80>DocumentRoot /var/www/htmlServerName ErrorLog logs/-error_logCustomLog logs/-access_log common</VirtualHost><VirtualHost 192.168.1.1:80>DocumentRoot /www/htmlServerName ErrorLog logs/-error_logCustomLog logs/-access_log common</VirtualHost>检测结果在浏览器的地址栏里分别输入192.168.0.1和192.168.1.1分别能看到相应目录下的主页。
Apache对动态网页的支持除了对静态HTML文件的支持外,Apache服务器还可以支持多种形式的动态网页,包括CGI脚本、PHP、JSP等。
CGI脚本在出事的例子配置文件中就已经提供了支持,其余的动态网页还需要其他模块的支持。
下面以CGI脚本为例,介绍Apache支持动态网页的配置方法。
CGI(Common Gateway Interface,公共网关接口)定义了网站服务器与外部程序之间进行交互的方法,通常是指CGI程序或者CGI脚本,实在网站上实现动态页面的最简单和常用的方法。
它在Web服务器所在的主机上运行,能接受客户端浏览器的输入,并可以把运行结果输出到浏览器。
下面介绍如何在apache上配置以及运行CGI。
配置文件httpd.conf 中的一行ScriptAlias /cgi-bin/ “/var/www/cgi-bin/”ScriptAlias指令定义了映射到一个特定目录的URL前缀,指示apache,/cgi-bin/应该指向/var/www/cgi-bin/目录,且视之为CGI程序。
如果想指定另外的目录为可执行CGI程序的目录,进行如下配置:<Directory /var/www/html/cgi/> #允许/var/www/html/cgi/目录中的CGI程序运行Options ExecCGSetHandler cgi-script (或者AddHandler cgi-script cgi pl#告诉服务器所有带cgi或pl后缀的文件是CGI程序)</Directory>编辑CGI程序,配置了半天还是不能把根本的给忘了,要建立CGI程序。
在指定的目录(/var/www/html/cgi)或默认的目录(/var/www/cgi-bin)下建立CGI 程序。
vim test.cgi内容可以如下:!/usr/bin/perl #告诉系统这是一个Perl脚本程序print “Content-type: text/html\n\n”; #输出两行字符串print “Hello,World!”;然后,还有把这个文件加上x权限chmod +x test.cgi测试在浏览器地址栏中指定cgi文件,便可以看到Hello,World.即CGI脚本执行的结果。