如何配置httpd.conf和修改文件目录访问权限
Apache的基础设置主要是通过httpd.conf来设置和管理的我们要修改Apache的相关设置,主要是通过修改httpd.cong我们来看看httpd.conf的内容,主要分为3个部分:
第一节:全球环境
第二节:& # 39;Main & # 39服务器配置
第3部分:虚拟主机
[第一部分]
服务器类型独立
这意味着Apache是作为独立或inetd启动的。所谓单机是指启动一次回答所有连接;但是,inetd是在收到http的连接请求后启动的,并以连接结束。这是个沉重的负担吗?所以它通常是独立启动的。
ServerRoot & quot/usr/local/httpd & quot;
这是apache的目录
# locd file/use/local/httpd/logs/httpd . lock
保持默认值不变。
PID file/usr/local/httpd/logs/httpd . PID
这个文件记录了apache的父处理程序id。
score board file/usr/local/httpd/logs/httpd . score board
该文件存储关于处理程序的信息。
#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf
由于我们是由httpd.conf作为一个整体来管理的,所以这两个文件默认是有注释的,默认值可以保持不变。
超时300
设置超时时间。如果客户端超过300秒未连接到服务器,或者服务器超过300秒未向客户端发送信息,则断开连接。
保持活动开启
允许客户端的连接有多个请求。将其设置为Off表示不允许。
MaxKeepAliveRequests 100
每次连接最大的请求树,数字越大,性能越好。0表示无限制。
MinSpareServer 5
MaxSpareServers 10
MinSpareServer 5意味着至少会有5个空闲进程。如果实际数量少于该数量,将添加额外的进程。MaxServers10表示空闲处理程序的最大数量。如果你的网站需求量大,可以把这个数字设置的大一些,但是不要把这个数字设置的太大。
开始服务器5
启动时的服务器数量
最大客户端数150
当然,同时连接的最大数量不能设置得太小。一旦达到此数量,就不能再添加更多的客户端。
MaxRequestPerChild 0
在子流程产生结果之前限制请求的数量,0表示没有限制。
#听3000
#听着12.34.56.78:80
使用另一个连接端口或IP。
BindAddress *
可以监听*(所有IP地址)、指定IP地址或完整域名。
# load module foo _ module lib exec/mod _ foo . so
使用DSO模块
#ExtendedStatus On
您可以查看apache的状态信息,默认情况下它是关闭的。
[第二部分]
如果以前的服务器类型是inetd,请跳到ServerAdmin。
端口80
独立服务器监听的连接端口当然可以是小于1023的其他端口号。
用户nobody
无名小组
执行httpd的用户和组
ServerAdmin管理员的电子邮件地址
这是管理员的电子邮件地址。如果apache有问题,你会发信通知管理员。当然,你也可以设置一个网页专用的帐号来接收邮件。
ServerName您的主机名
这是主机名。如果没有域名,也可以用IP
DocumentRoot & quotusr/local/httpd/htdocs & quot;
这个目录是apache放置网页的地方,其中的index.html是连接到这个主机的默认主页。
符号链接后的选项
AllowOverride none
这个目录设置用户放置网页的目录(public_html)的执行动作。详细的目录访问方法将在后面描述。
选项索引FolloeSymLinks
AllowOverride None
订单允许、拒绝
允许所有人
这个目录设置apache的Web目录(htdocs)的执行动作
UserDir public_html
用户可以在自己的目录下设置一个public_html目录来放置网页,然后输入http:// host address/~用户名进行连接…老谢胖妹尹牧?/a & gt;
index.html董事索引
在此设定默认主页的名称。
AccessFileName。htaccess
这是控制访问的文档的名称。通常,它使用默认值。htaccess名称。htaccess的用法将在后面解释。
订单允许、拒绝
全部否认
这用于防止其他人看到以开头的文件内容。ht,并且不仅保护。htaccess,还包括。htpasswd。当然也可以直接写。如果更改AccessFilename,例如,更改。htaccess to。accessht,请记得在这里做相关修改,以免别人看到。
#CacheNegotiatedDocs
注释是告诉代理不要在缓存中存储交互生成的文件。如果#被移除,它将被存储在缓存中。
对使用CanonicalName
使用默认情况下启用的标准名称。假设有一个web服务器,它的全名是www. sample.com,俗称www如果我们…ttp://www/abc
type config/usr/local/httpd/conf/mime . types
指定存储MIME文件类型的文件。您可以自己编辑mime.types文件。
默认类型文本/纯文本
服务器不识别此文档类型时的默认格式。此设置用作普通文本。
mime magic file/usr/local/httpd/conf/magic
mod_MIME_magic模块使服务器能够通过文件内容确定其MIME类型。如果mod_mime_magic模块被加载,MIMEMagicFile将被处理。如果是…,则表示如果不加载该模块,将处理该段。
主机查找关闭
如果打开,每次IP将被解析到名称服务器,并且该连接的名称(例如,www.apache.org)将被记录。如果关闭,将只记录IP。
error log/usr/local/httpd/logs/error _ log
指定发生错误的日志文件(error_log)的位置。如果未指定错误日志文件,将使用该文件。
日志级别警告
记录分为许多级别,这里提醒一下。每个等级如下:等级描述
调试调试信息
信息一般信息
注意重要信息
警告警告信息
错误发生了一个错误。
紧急情况
警报的即时情况
Amerg系统正在消亡。
日志格式& quot% h % l % u % t & # 92″% r & # 92″% & gts % b & # 92″{ Referer } i & # 92″\”$ { UserAgent } i & # 92″”联合的;共同的
日志格式& quot% h % l % u % t & quot% r & # 92″% & gts % b & quot普通的
日志格式& quot% { Referer } I-& gt;% U & quot推荐人
日志格式& quot% {用户代理} i & quot代理人
自定义四种记录格式:组合、普通、推荐人和代理。
CustomLog/usr/local/httpd/logs/access _ log common
的访问日志文件(access_log)使用自定义的通用格式。
# CustomLog/usr/local/httpd/logs/referer _ log referer
# CustomLog/usr/local/httpd/logs/agent _ log代理
# CustomLog/usr/local/httpd/logs/agent _ log组合
这三个记录文件也使用自定义格式(分别是referer、agent、combined),但是注释表明这三个文件没有使用。
服务器签名开启
设置为On时,服务器生成的网页上会有一行apache版本、主机和连接端口信息(比如发生错误时);如果设置为Email,将会有mailto:一个指向管理员的超链接。
别名/图标/& quot;/usr/local/httpd/icons/& quot;
使用较短的别名,格式为:别名别名原始名称。
script alias/CGI-bin/& quot;/usr/local/https/CGI-bin/& quot;
与Alias相同,只是这是设置服务器脚本的目录。
索引选项FancyIndexing
显示一个漂亮的文件列表(图形对应以下文件)
AddIconByEncoding(CMP,/icons/compressed . gif)x-con press x-gzip
艾迪康·/icons/blank.gif^^blankicon^^defaulticon/icons/unknow.gif
这些是显示文件列表时各种文件类型对应的图形(以前叫FancyIndex)。例如,这三个文件的表示形式都是. gif
#AddDescription "GZIP压缩文件& quot。地面零点
#AddDescription "tar存档& quot。水手
#AddDescription "GZIP压缩焦油档案馆& quot。tgz
这些是显示文件列表时附加在文件后面的说明,格式为:
AddDescription & quot描述”文件名
示例:AddDescription “这是私有txt & quotmy.txt
ReadmeName自述文件
显示文件列表时,README的文件内容显示在底部。
设置CGI脚本/使用httpd.conf作为唯一配置文件/用户授权和访问控制等。
关于Apache的配置和使用,很多文章都是用LinuxAid阐述的。本文讨论了使用Apache时配置文件的使用和文件的访问控制,算是对Apache使用的一些补充吧!
如果你对Apache有所了解,尤其是一些配置文件,这将有助于你理解本文的内容。如果你不太了解这些配置文件的用法,那么就借此机会熟悉一下。
一、CGI执行脚本的配置
有两种方法可以设置CGI脚本。首先,CGI的脚本文件的扩展名是。cgi其次,设置脚本的可执行目录。但是,这两种方法都需要将要执行的文件设置为711才能执行。
第一种方法,我们需要在access.conf文件中将你要发布的目录设置为选项ExecCGI All,并在srm.conf资源配置文件中添加以下语句:
AddHandle cgi脚本。计算机生成图像
这样,在所有目录下,只要你的文件有扩展名。cgi和文件访问权限是711,无论你在哪里分发文件,都可以被Apache服务器调用为CGI。这种方法通常不如第二种方法安全。
第二种方法是将一个目录作为可执行目录,并将所有cgi文件放入其中。在这里,文件与。cgi扩展不一定是可执行的,但是具有711属性的文件可以执行,其他不可执行的文件禁止访问。我们的默认配置文件就是一个很好的例子:
access.conf:
允许覆盖无
选项ExecCGI
srm.conf
script alias/CGI-bin//home/httpd/CGI-bin/
只要Web服务器可以调用/home/httpd/cgi-bin/目录中的可执行文件,其他不可执行文件将被拒绝访问。
其次,配置用户的分发目录
有两种方法可以设置它:
第一种方法是系统默认的方法,即用户目录下的public_html目录是用户的发布目录,默认的主页文件是index.html,不支持CGI。
二是为其他目录中的用户设置发布目录。如果我想使用/home/html目录作为用户的web目录,管理员要在这个目录下为每个用户设置一个子目录,比如:/home/html/user01、/home/html/user02等。然后,srm.conf文件中的UserDir后面不能再跟public_html,而应该改为:UserDir /home/html/*/。注意,这里的“*”代表任何人。当你在浏览器中请求像http://www.domain/~user01这样的文件时,阿帕奇…ndex.html档案。
这个设置不需要在Access.conf中设置目录的访问属性,另外我们在设置虚拟主机的时候也不需要设置目录的访问属性。但是,如果您希望某个目录拥有CGI权限,则必须在access.conf文件中配置该目录的访问权限。例如,如果您希望所有用户在其发布目录中拥有CGI访问权限,您需要在access.conf中进行如下设置:
允许覆盖无
选项ExecCGI
注意,将用户目录下的cgi-bin子目录设置为cgi执行目录是一个安全的设置,也是UNIX的一个习惯。
第三,如何将Apache服务器设置为inetd的子服务
安装Apache时,默认设置是独立模式。如果要将其设置为inetd的子服务,首先不要在每次激活Linux时都激活httpd,然后编辑/etc/inetd.conf并添加以下语句:http stream TCP nowaitroot/usr/sbin/httpd httpd。
然后重新激活inetd服务器。这样,当你用ps -aux命令检查运行的进程时,就不会发现httpd进程的存在。然而,一旦客户请求一个页面,inetd将激活一个httpd进程来服务这个请求,然后自动释放它。这种运行模式有助于节省系统资源,但是如果你的web服务非常重要,一般不建议设置成这种方式运行。
4.将httpd.conf作为唯一的配置文件。
Apache为用户提供了三个配置文件:srm.conf、access.conf和httpd.conf文件。实际上,这三个文件是相等的,所有配置都可以放在一个httpd.conf文件中。事实上,在Apache 1.3.2中已经这样做了。httpd.conf中应该包含以下两条指令,以防止Apache访问srm.conf和access.conf:
AccessConfig /dev/null
资源配置/开发/空
在apache1.3.2中,只需注释掉下面两行:
AccessConfig conf/access.conf
ResourceConfig conf/srm.conf
动词 (verb的缩写)用户授权和访问控制
可能你在访问一些网站的时候遇到过这种情况。当你点击某个连接时,你的浏览器会弹出一个认证对话框,要求你输入账号和密码。如果没有,就不能继续浏览。有人觉得这是用CGI做的,其实不是。这就是WWW服务器在工作时的用户授权和访问控制机制。
你还记得在设置Apache服务环境的过程中,有………………………/Directory & gt;该指令可以为不同的目录提供不同的保护。但是,这样的设置只有在服务器重新启动时才会生效,灵活性较差。通过AccessFile指令指定访问控制文件的方式更加灵活。在Apache服务器中设置用户访问控制权限的步骤如下:
1.首先,如下设置httpd.conf文件:
# AllowOverride FileInfo auth config限制
# Options多视图索引SymLinksIfOwnerMatch includes no exec
选项包括以下符号链接索引
AllowOverride All //*注意,AllowOverride必须设置为All,以便下面的。htaccess文件将工作。
订单允许、拒绝
允许所有人
#
#订单拒绝,允许
#拒绝所有人
#
#指定用于配置访问控制权限的文件名。
AccessFileName。htaccess
2.创造的内容。htaccess文件
要控制一个目录的访问权限,必须建立一个访问控制文件,用“.htaccess “前面指定的文件名,其内容格式如下:
AuthUserFile用户帐户密码文件名
AuthGroupFile组帐户密码文件名
AuthName屏幕提示文本
AuthType身份验证模式
密码验证方法
AuthType目前提供两种用户身份验证方法:基本和摘要。
密码验证设置方法与httpd.conf中的相关设置相同
具体例子如下:
AuthUserFile /etc/secure.user
AuthName安全认证中心
AuthType基本
要求有效用户
3.建立用户密码文件。
如果是第一次创建用户密码,命令格式如下:
密码文件名用户名
在上面的示例中,我们将用户密码文件放在/etc/secure.user文件中,因此我们应该这样做:
htpasswd-c/etc/secure . user sword
程序会提示你输入两次用户的密码,然后用户密码文件就创建好了,用户也就添加好了。
如果要向密码文件添加新用户,请遵循以下命令格式:
Htpasswd密码文件用户名
这样重启httpd后,在进行WEB目录时会弹出一个对话框,要求输入用户名和密码。
4.如何降低访问控制对Apache性能的影响?
频繁使用访问控制会对Apache的性能产生很大的影响,那么如何降低这种影响呢?最简单有效的方法之一是减少。htaccess文件,它可以防止Apache根据。htaccess文件。它不仅寻找。htaccess文件,但它也在当前目录的父目录中查找。
/
/usr
/usr/local
/usr/local/等等
/usr/local/etc/https
/usr/local/etc/httpd/htdocs
/usr/local/etc/httpd/htdocs/docs
通常,根目录中没有htaccess文件,但是Apache仍然会例行检查以确保该文件不存在。这是影响服务器效率的一个因素。下面的方法可以消除这个烦人的过程:将AllowOverride设置为None,这样Apache就会检查。htaccess文件。将/root目录的AllowOverride选项设置为None,只将需要访问控制的目录的AllowOverride选项设置为all。例如,在下面的示例中,关闭了/root目录的AllowOverride选项,仅打开了/usr/local/etc/httpd/htdocs目录的allow override选项。这样,系统只
mac怎么搭建本地web服务器?
如果你是苹果电脑,Mac OS X系统已经自带了Apache服务器,并且自带php编译器打开终端,输入 sudo apachectl start sudo表示用root权限运行输入密码,输入时无提示,输入完后回车确认打开浏览器,在浏览器中输入本机ip地址 进入系统偏好设置-网络 可查看本机ip此时暂不开启php编译器,在文本中编写一个静态网页
ios开发教程
第一课oc实现类的定义
第二课oc实现对象的定义
开启阿帕奇服务器之后,电脑就是一个web服务器,将.html的文本保存在桌面上,并利用复制粘贴的功能将其保存在磁盘目录下,即根目录下。资源库-WebServer-Documents,改过程中会提示你出入管理员密码,可利用显示中的显示文件路径。此时打开浏览器输入你的ip地址即可查看到该页面。只要将文件放到该路径下,所有的主机都可以看到你的网页。要想用网页实现一个用户登录的功能,就需要一个动态的网页,必须开启php模块。开启php模块要先进apache的配置文件。新建一个文本,创建一个php文件将其保存到桌面上,并用复制粘贴的功能将其保存到磁盘目录下的 资源库-WebServer-Documents下开启php编译器,打开终端输入 cd / cd etc cd apache2/之后就进入apache2的目录下,可输入ls查看目录。输入 sudo vi httpd.conf 回车在apache的配置信息中,可以看到一个#loadModole php5_module的模块,我们需要将其前面的#删除,将光标移动到#位置,按一下键盘上的“i”,可以看到#已经消失,然后按esc键,输入“:x“表示保存,按回车确认。”:q”表示不保存退出。执行 sudo apachectl stop 在重新启动 sudo apachectl start 回车确认再次访问你的ip地址进入.php文件会发现输出结果时7,查看源码时也是7。新建一个页面作为登录界面 login.html
留言系统用户登录
保存到桌面。双击打开之后把编码改成utf8,可以看到登录界面。新建一个 logincheck.php文件here retry”}
请教Apache+weblogic如何配置session粘连?
apache 2.2 + weblogic10 1)weblogic集群, 集群中有三个server。
端口分别为 7000,7001,7002。apache的httpd.conf中配置 Listen 80 apache和weblogic的2个server都在同一台服务器上,IP地址相同。第三个server单独一个服务器 2)apache安装weblogic插件,apache的转发配置中,设置如下,希望请求都转发到7001和7002上 # TM3Weblogic.conf # @ver3.x # dispatch for server group: framework MatchExpression /ServiceDispatcherServlet WebLogicCluster=20.12.2.52:7001,20.12.2.51:7002 MatchExpression /ServiceDispatcherServlet/framework WebLogicCluster=20.12.2.52:7001,20.12.2.51:7002 MatchExpression /ServiceDispatcherServlet/framework/* WebLogicCluster=20.12.2.52:7001,20.12.2.51:7002 MatchExpression /CodeSynServlet WebLogicCluster=20.12.2.52:7001,20.12.2.51:7002 MatchExpression /* WebLogicCluster=20.12.2.52:7001,20.12.2.51:7002 # dispatch for server group: default MatchExpression /ServiceDispatcherServlet/default WebLogicCluster=20.12.2.52:7001,20.12.2.51:7002 MatchExpression /ServiceDispatcherServlet/default/* WebLogicCluster=20.12.2.52:7001,20.12.2.51:7002
wps如何修改httpd.conf中的配置?
如果工作空间更改到D盘下的php文件夹,要相应的更改 (比如我的php安装文件在C:AppServApache2.2conf)下的httpd-conf文件的下面两个配置:
DocumentRoot "D:php"
<Directory "D:php">
如何在Centos系统的服务器上搭建自己的小网站?
在CENTOS中可以通过安装APACHE来提供WEB服务,你的机器如果可以上网的话,直接运行如下命令安装该软件yum install httpd安装完成后将你的网站文件上传到CENTOS中修改配置文件httpd.conf(修改网站文件主目录,以及端口等)启动服务service httpd start正常的话就可以访问网站了
linux下怎样配置web服务器?
工具/原料
Linux操作系统
Web服务器配置详解
方法/步骤
1.Apache是Linux下的Web服务器,Apache用的是静态页面,需要加载模块来支持动态页面,会动态实时的调整进程来处理,最合理的使用多核CPU资源,支持虚拟主机应用,多个Web站点共享一个IP地址。
安装Web服务
先安装Web服务,通过命令yum groupinstall命令进行安装,建议用groupinstall而不用Install是因为groupinstall,会把该服务所有相关的服务包一起安装,这样不会有丢失。
2.通过service httpd restart来开启服务,这里用restart而不用start的原因是restart更安全,因为不知道该服务是否已经开启,如果已经start了再次用start可能会有意外的问题产生,故这里用restart.
3.通过命令chkconfig httpd on来开启httpd服务在下次开机后,仍然是开启有效的,这样的好处在于通过设置自动开启服务,避免人为失误操作,也会保证计算机重启或者断电后服务还是开启的。
4.验证httpd服务是否正常开启,是否能够对外提供服务,进入/var/www/html/,这里是主站点,写一个简单的页面,然后重定向到index.html,这是默认的首页。通过http访问该服务,发现已经成功服务该站点。
5.通过命令vim /etc/httpd/conf/httpd.conf可以对httpd配置文件进行修改,也可以用配置文件里面的功能,有些功能用#号注释掉了,如果想使用该功能的话,直接删除#号,可以让内置的配置文件该功能生效。
6.通过命令ll /etc/httpd可以查看到该目录下有conf和conf.d目录文件,再进一步查看/etc/httpd/conf.d下面可以看到的文件都是httpd的模块文件,用来支持动态页面的模块文件。
7.Apache和Selinux之间的关系,进入/var/www/html/目录下,通过ll –Z查看目录下index.html Selinux属性,通过命令ps –auxZ|grep http查看httpd的进程,这些http进程都有httpd_t的Selinux上下文属性,Selinux就规定了http_t这类的进程上下文属性可以访问httpd_sys_content_t这类文件的上下文属性,从而保证了网站的内容可以被访问。
8.查看Apache日志信息,日志信息存储在/var/log/httpd/目录下,可以查看http访问的日志及https的访问日志,可以查看错误的http日志及https的错误日志等信息,