Apache目录权限设置

合集下载

Apache文件根目录设置修改方法(DocumentRoot)

Apache文件根目录设置修改方法(DocumentRoot)

Apache⽂件根⽬录设置修改⽅法(DocumentRoot)在⽹上查找到的关于修改Apache服务器根⽬录的资料,对⽐学习,再此记录在安装 Apache 时,系统会给定⼀个缺省的⽂件根⽬录。

如果你觉得将⽹页存在这个缺省⽬录不⽅便,觉得应该另外设个⽬录作为 Apache ⽂件根⽬录,你可以修改 Apache 的配置⽂件 httpd.conf ⾥有关⽂件根⽬录的设置。

假设Apache HTTP Server 的缺省⽂件根⽬录 (DocumentRoot) 是:DocumentRoot "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs"修改 Apache ⽂件根⽬录 (DocumentRoot) 的操作如下:1. 为避免修改失误,请先备份你的 Apache 配置⽂件 httpd.conf,该配置⽂件的路径是:C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf2. 打开 http.conf ⽂件,找到 DocumentRoot 为开头的那⼀⾏,将DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"改成新的 DocumentRoot 路径,⽐如你新的路径为 C:\htdocs,就改成DocumentRoot "C:/htdocs"3. 然后找到 http.conf ⽂件中的如下内容# This should be changed to whatever you set DocumentRoot to.#<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">将 Diectory 中的路径改成你新设的⽂件根⽬录,⽐如:<Directory "C:/htdocs">4. 保存配置⽂件http.conf 。

Apache目录权限设置

Apache目录权限设置

apache 目录权限设置方法可以使用<Directory 目录路径>和</Directory>这对语句为主目录或虚拟目录设置权限,它们是一对容器语句,必须成对出现,它们之间封装的是具体的设置目录权限语句,这些语句仅对被设置目录及其子目录起作用。

下面是主配置文件中设置目录权限的例子。

<Directory "/var/www/icons">Options Indexes MultiViewsAllowOverride NoneOrder allow,denyAllow from all</Directory>(1)定义目录使用哪些特性Options Indexes MultiViewsOptions选项用于定义目录使用哪些特性,包括Indexes、MultiViews和ExecCGI 等,如表7-1所示。

表7-1 目录特性选项命令说明Indexes允许目录浏览当客户仅指定要访问的目录,但没有指定要访问目录下的哪个文件,而且目录下不存在默认文档时,Apache以超文本形式返回目录中的文件和子目录列表(虚拟目录不会出现在目录列表中),如图7-8所示MultiViews允许内容协商的多重视图MultiViews其实是Apache的一个智能特性。

当客户访问目录中一个不存在的对象时,如访问“http://192.168.16.177/icons/a”,则Apache会查找这个目录下所有a.*文件。

由于icons目录下存在a.gif文件,因此Apache会将a.gif 文件返回给客户,而不是返回出错信息AllAll包含了除MultiViews之外的所有特性,如果没有Options语句,默认为All ExecCGI允许在该目录下执行CGI脚本FollowSymLinks可以在该目录中使用符号连接Includes允许服务器端包含功能IncludesNoExec允许服务器端包含功能,但禁用执行CGI脚本让主目录允许目录浏览细心的用户可能会发现虽然在主目录设置了Indexes权限,且主目录中并不存在默认文档,但访问时并不会出现目录列表,而只出现Apache的测试页面。

apache下配置详解

apache下配置详解

Apache下关于虚拟主机的配置关于虚拟主机的概述:配置虚拟主机主要应用场景:多站点访问,一个服务器放置了多个站点服务。

主要的三种配置方法:1、基于IP 2、基于端口3、基于主机名步骤详解:1.虚拟主机使用的话,必须将中心服务关闭,在/etc/httpd/conf/httpd.conf文件里,将DocumentRoot一行注释掉来关闭中心服务。

2.可以在httpd.conf文件最后面直接添加虚拟主机的配置内容,也可以在/etc/httpd/conf.d/下面创建一个自己的配置文件,如:my.conf文件。

3.my.conf文件配置详解1)基于IP配置<VirtualHost 192.168.0.112:80>ServerName DocumentRoot "/www/"</VirtualHost><VirtualHost 192.168.0.113:80>ServerName DocumentRoot "/www/"</VirtualHost>以上2个虚拟主机配置的IP分别为192.168.0.113和192.168.0.112,端口同为80端口。

这样在浏览器分别输入不同的ip或域名时就会访问到不同的站点。

Tips:如果只有一块网卡可以同过ipaddr add 192.168.0.112 dev eth0来添加辅助ip。

如果是域名方式访问,还需要在windows和linux下的hosts文件里面自行添加域名解析。

关于辅助ip的设置:ipaddr add 192.168.0.112/24 dev eth0这是为网卡设置一个辅助ip。

假如一个网卡的ip地址为192.168.0.22,执行上面的命令,在用ifconfig 查看,会发现有两个ip地址,而192.168.0.22称为主地址(Primary IP address),而192.168.0.112称为辅助地址(secondary IP address),一块网卡是允许有多个IP地址的,所以就算再多添加几个secondary IP 也是合法行的。

APACHE安装配置说明

APACHE安装配置说明

APACHE安装配置说明⼀、软件下载⼆、环境检查# rpm -qa|grep zlibzlib-devel-1.2.3-3zlib-1.2.3-3# rpm -qa|grep sslopenssl-devel-0.9.8b-10.el5openssl-0.9.8b-10.el5如果需要依赖包,安装其对应的devel包即可,此处仅⽤到zlib和ssl。

另,如果有httpd包,要先卸载掉或停⽌其服务。

三、编译安装1、针对安装⽬的的说明(来⾃INSTALL⽂件)如果是开发者则使⽤此选项,--with-included-apr利于连接apache的代码或者是调试apache,其消除了由于版本或者编译中跟APR或者APR-util代码产⽣的不匹配;如果从⼦版本编译apache,要先运⾏buildconf(需要Python,GNU autoconf和libtool),然后运⾏configure。

发⾏包不⽤。

如果要在FreeBSD5.4之前编译时包含apache的threaded MPM,需要使⽤--enable-threads和--with-mpm 参数在Mac上编译⼦版本,要使⽤GNU Libtool 1.4.2及以上版本2、关于SSL加密和正则表达式(来⾃⽂件README)Apache2.0及以上版本在⽬录modules/ssl/下包含了mod_ssl模块⽤于配置和监听ssl⽹络接⼝的连接。

(另外,⼀些apr-util版本在⽬录srclib/apr-util/ssl/下提供了ssl⽹络接⼝)带有单词crypto的包的名字,可能包含openssl加密库的⽬标代码。

如果apache的加密功能不理想或者要排除再重分配,则可以使⽤包的名字包含nossl的发布包。

Apache使⽤PCRE包包含的正则表达式。

3、对configure参数的说明配置帮助表:-h, --help显⽰帮助信息display this help and exit--help=short ⽤short参数将只显⽰正在运⾏的当前脚本的选项,⽽不能列出适⽤于Apache配置脚本所运⾏的外部配置脚本的选项display optionsspecific to thispackage--help=recursive 使⽤recursive参数将显⽰所有程序包的简短描述display the shorthelp of all theincluded packages-V, --version显⽰版本display version information and exit-q, --quiet, --silent不显⽰checking……信息do notprint`checking...' messages--cache-file=FILE在指定⽂件中存储测试结果cache test results in FILE [disabled]-C, --config-cache 在⽂件config.cache中存储测试结果alias for `--cachefile=config.cache'-n, --no-create configure脚本运⾏结束后不输出结果⽂件,常⽤于正式编译前的测试。

Apache的Order Allow,Deny 详解

Apache的Order Allow,Deny 详解

Apache的Order Allow,Deny 详解等),用来控制目录和文件的访问授权。

所以,最常用的是:Order Deny,AllowAllow from All注意“Deny,Allow”中间只有一个逗号,也只能有一个逗号,有空格都会出错;单词的大小写不限。

上面设定的含义是先设定“先检查禁止设定,没有禁止的全部允许”,而第二句没有Deny,也就是没有禁止访问的设定,直接就是允许所有访问了。

这个主要是用来确保或者覆盖上级目录的设置,开放所有内容的访问权。

按照上面的解释,下面的设定是无条件禁止访问:Order Allow,DenyDeny from All如果要禁止部分内容的访问,其他的全部开放:Order Deny,AllowDeny from ip1 ip2或者Order Allow,DenyAllow from allDeny from ip1 ip2apache会按照order决定最后使用哪一条规则,比如上面的第二种方式,虽然第二句allow允许了访问,但由于在order中allow不是最后规则,因此还需要看有没有deny规则,于是到了第三句,符合ip1和ip2的访问就被禁止了。

注意,order决定的“最后”规则非常重要,下面是两个错误的例子和改正方式:Order Deny,AllowAllow from allDeny from 错误:想禁止来自的访问,但是deny不是最后规则,apache在处理到第二句allow的时候就已经匹配成功,根本就不会去看第三句。

解决方法:Order Allow,Deny,后面两句不动,即可。

Order Allow,DenyAllow from ip1Deny from all错误:想只允许来自ip1的访问,但是,虽然第二句中设定了allow规则,由于order中deny在后,所以会以第三句deny为准,而第三句的范围中又明显包含了ip1(all include ip1),所以所有的访问都被禁止了。

Apache服务器配置

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:

linux-Apache 配置

linux-Apache 配置

Apache 配置一、安装Apache下载地址:/1. 安装Apache# tar zxvf httpd-2.2.11.tar.gz# cd httpd-2.2.11# ./configure --prefix=/usr/local/apache --enable-so//编译时加上加载模块参数--enable-so# make# make install2. 配置系统启动时自动启动Apache服务。

# vi /etc/rc.d/rc.local//在rc.local上加入一行/usr/local/apache/bin/apachectl –k start。

二、配置Apache1. 修改httpd.conf文件# vi /usr/local/apache/conf/httpd.conf1)设置根目录的路径根目录是指Apache存放配置文件和日志文件的目录,配置参数为ServerRoot,默认位于“/u sr/local/apache”。

命令如下:2)设置监听IP地址及端口号默认侦听本机所有IP地址的TCP80端口,命令如下:Listen 80用户也可以按自己的需求,使用多个Listen语句在多个地址和端口上侦听客户端请求。

比如:Listen 192.168.99.9:80Linsten 172.16.0.20:80803)设置系统管理员E-m ail使用ServerAdmin参数设置管理员E-m ail,比如管理员的Email地址为root@guoxuemin. cn:4)设置服务器主机的名称参数ServerName用来设置服务器的主机名称,如果没有域名则填入服务器的IP地址,比如服务器的IP地址为192.168.99.9:5)设置主目录的路径用户可以使用参数Document Root配置服务器主目录默认路径,比如,主目录路径为:6)设置默认文件Apache的默认文件名为index.ht ml,可以使用Directory Index参数来配置,比如,将ind ex.php设置为默认文件名:7)测试:打开浏览器,输入地址:http://192.168.99.9,可以打开站点了:2. 配置目录权限使用<Directory 目录路径>和</Directory>设置目录的权限。

Apachehttpd.conf配置详解

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⽬录结构⼩节中所⽰的动态加载模块⽬录中。

apache 2.4 配置webdav的用户权限

apache 2.4 配置webdav的用户权限

apache 2.4 配置webdav的用户权限apache 2.4 配置webdav的用户权限apache 2.4.1 默认安装目录在/usr/local/apache2/。

一、httpd-dav.conf 中配置如下:DavLockDB "/usr/local/apache2/var/DavLock"#用户验证需要,不可缺少,且需要为运行apache的用户可执行权限。

Alias /webdav "/usr/local/apache2/webdav"&lt;Directory "/usr/local/apache2/webdav"&gt;Dav OnOptions Indexes FollowSymLinks IncludesOrder Allow,DenyAllow from allAllowOverride None#AuthType DigestAuthType BasicAuthName DAV-upload#You can use the htdigest program to create the password database:#htdigest -c "/tmp/mips/user.passwd" DAV-upload admin#htpasswd -c "/tmp/mips/user.passwd" adminAuthUserFile "/usr/local/apache2/user.passwd"#AuthDigestProvider fileAuthBasicProvider file# Allow universal read-access, but writes are restricted# to the admin user.# &lt;LimitExcept GET POST PUT OPTIONS&gt; # require user admin# Require valid-user# &lt;/LimitExcept&gt;#admin admin# &lt;LimitExcept GET PUT POST DELETE MOVE COPY OPTIONS&gt;Require user admin# &lt;/LimitExcept&gt;#guest guest&lt;LimitExcept PUT POST DELETE MOVE OPTIONS&gt;Require user guest&lt;/LimitExcept&gt;&lt;/Directory&gt;二、说明:以上的配置实现的效果:admin 用户拥有默认权限,可修改webdav下的文件,可上传,删除,下载,重命名,修改等;guest用户权限做了限制,只可以查看,下载,不可上传、删除、编辑等。

APACHE配置文件中文详解

APACHE配置文件中文详解
# 此标识用于告诉服务器监听哪个IP地址。
# 包括:"*", IP地址, 或域名.
# 参见 <VirtualHost> 和 Listen directives.
#
BindAddress 166.111.178.144
#
# Apache模块编译成标准的Windows结构。
#
# 以下模块绑定到标准的Apache二进制windows分布。
#
# 配置和日志文件名:指定服务器控制文件命名时,
# 以 "/" (或 "drive:/" for Win32)开始,服务器将使用这些绝对路径。
# 如果文件名不是以"/"开始的,预先考虑服务器根目录--
# 因此 "logs/foo.log",如果服务器根目录是"/usr/local/apache",
# 如果超过这个请求数,子程序会自动退出,避免延期使用导致内存溢出或其他问题。
# 大部分系统,并不需要此设置,
# 但是部分,象Solaris,确实值得注意。
# 对Win32, 可设置为0 (无限制)
# 除非有另外的考虑。
#
# 注: 此值不包括在每个连接初始化请求后,"keptalive"请求
#LoadModule status_module modules/ApacheModuleStatus.dll
#LoadModule usertrack_module modules/ApacheModuleUserTrack.dll
#
# ExtendedStatus 在服务器状态句柄被呼叫时控制是产生"完整"的状态信息(ExtendedStatus On)

Apache配置详解

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时。

Apache主配置文件httpd.conf详解

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的配置及小经验总结

apache的配置及小经验总结
$sql="insert into table values ";
///insert into table values(1)
if($i=0;$i<$nums;$i++){
也可以通过ini_set()函数去设置配置文件的值:@ini_set('display_errors',1);
E:extension=php_zip.dll 调用压缩包
F:查找error_reporting = E_ALL & ~E_NOTICE,将其前边的分号去掉(显示所用的错误和警告,除了notice)
$sql="insert into table values('$array[$i]')";
$rec=mysql_query($sql);
}
///批量插入第二种方法
$array=$_POST['checkbox'];
$nums=count($_POST['checkbox']);
21.javascript中在处理<select multiple="multiple">标签时,join()函数和implode()函数是一样的, arr.join(",") 将数组元素以逗号连接在一起
22.1.alert(document.form1.elements.length);
D:查找DirectoryIndex 看到后面只有index.html 在它后面加上index.php (index.sht,大概在241行ml)。
F:查找 Include conf/extra/http-mpm.conf ,将此行前边的#去掉。

apache.htaccess文件详解和配置技巧总结

apache.htaccess文件详解和配置技巧总结

apache.htaccess⽂件详解和配置技巧总结.htaccess是⼀个纯⽂本⽂件,它⾥⾯存放着Apache服务器配置相关的指令。

.htaccess主要的作⽤有:URL重写、⾃定义错误页⾯、MIME类型配置以及访问权限控制等。

主要体现在伪静态的应⽤、图⽚防盗链、⾃定义404错误页⾯、阻⽌/允许特定IP/IP段、⽬录浏览与主页、禁⽌访问指定⽂件类型、⽂件密码保护等。

.htaccess的⽤途范围主要针对当前⽬录。

启⽤.htaccess,需要修改httpd.conf,启⽤AllowOverride,并可以⽤AllowOverride限制特定命令的使⽤。

打开httpd.conf⽂件⽤⽂本编辑器打开后,查找复制代码代码如下:<Directory />Options FollowSymLinksAllowOverride None</Directory>改为:<Directory />Options FollowSymLinksAllowOverride All</Directory>如果需要使⽤.htaccess以外的其他⽂件名,可以⽤AccessFileName指令来改变。

例如,需要使⽤.config ,则可以在服务器配置⽂件中按以下⽅法配置:复制代码代码如下:AccessFileName .config1、访问控制基础:Order命令为了限制⽤户访问⼀些关键⽬录,通常加⼊.htaccess⽂件,常见的写法如下:复制代码代码如下:<Files ~ "^.*\.([Ll][Oo][Gg])|([eE][xX][eE])">Order allow,denyDeny from all</Files>说明:(1)Files后的波浪线表⽰启⽤“正则表达式”,简单的写法有:<Files *>。

(2)Order命令:通过Allow,Deny参数,Apache⾸先找到并应⽤Allow命令,然后应⽤Deny命令,以阻⽌所有访问,也可以使⽤Deny,Allow。

阿帕奇服务器配置网络操作论文

阿帕奇服务器配置网络操作论文

阿帕奇服务器的配置摘要:Apache技术是目前互联网上的主要应用之一,它是实现信息发布、资料查询、数据处理、视频点播等诸多应用服务的基本平台,并采用超级的方式,将信息透过internet在世界围开展信息传递,本课题就Linux上安装与配置Apache、Php、tomcat,等详细地说明了在安装过程中。

在linux中安装Apache后能很好支持动态网页。

关键词:Linux apache1.apahce的介绍:根据著名的服务器公司所做的调查,世界上百分之五十的服务器都在使用apache,是世界上排名第一的服务器。

Apache的诞生富有戏剧性。

但NCSA 服务器的人们开始交换他们勇于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。

就这样,诞生了apache group,后来这个团体在NCSA 的基础上创建了apache。

2.Apahce的主要特征:可以运行上所有计算机平台;支持最新的HTTP1.1协议;简单而强有力的基于文件的配置;支持通用网关接口CGI;支持虚拟主机;支持HTTP认证;集成per 脚本编程语言;集成代理服务器;具有可定制的服务器日志;支持服务器端包含命令;支持安全socket层;用户会话过程的跟踪能力;3.Apache服务器的常用命令(1)启动Apache服务器:service httpd start(2)重启Apache服务器:service httpd restart(修改了配置文件后要执行此命令) (3)停止Apache服务器:service httpd stop(4)打开“Apache配置”:redhat-config-httpd(注:有时为system-config-httpd) 4.主服务器设置Apache服务器需要各种设置,以定义自己使用各种参数以提供Web服务。

对于使用虚拟主机的情况,除了在虚拟主机的定义项中覆盖的设置之外(有的设置必须重新定义),这里的设置也是虚拟主机的缺省设置。

Apache的Directory配置指南

Apache的Directory配置指南

Apache的Directory配置指南使⽤<Directory>… </Directory>设置指定⽬录的访问权限,其中可包含:Options、Allow、Override、Order、Allow、Deny、Require六个属性。

Options属性Options FollowSymLinks Indexes MultiViewsOptions可以组合设置下列选项:All:⽤户可以在此⽬录中作任何事情。

ExecCGI:允许在此⽬录中执⾏CGI程序。

FollowSymLinks:服务器可使⽤符号链接指向的⽂件或⽬录。

Indexes:服务器可⽣成此⽬录的⽂件列表。

None:不允许访问此⽬录。

AllowOverrideAllowOverride NoneAllowOverride会根据设定的值决定是否读取⽬录中的.htaccess⽂件,来改变原来所设置的权限。

All:读取.htaccess⽂件的内容,修改原来的访问权限。

None:不读取.htaccess⽂件为避免⽤户⾃⾏建⽴.htaccess⽂件修改访问权限,http.conf⽂件中默认设置每个⽬录为: AllowOverride None。

AccessFileNameAccessFileName filenameAccessFileName指令⽤于指定保护⽬录设定⽂件的⽂件名称,默认值为“.htaccess”。

AccessFileName .aclAllow设定允许访问Apache服务器的主机Allow from all允许所有主机的访问Allow from 202.96.0.97 202.96.0.98允许来⾃指定IP地址主机的访问Deny 设定拒绝访问Apache服务器的主机 Deny from all 拒绝来⾃所有主机的访问 Deny from 202.96.0.99 202.96.0.88 拒绝指定IP地址主机的访问Order Order allow,deny Order⽤于指定allow和deny的先后次序。

apache,nginx上传目录无执行权限的设置方法

apache,nginx上传目录无执行权限的设置方法

apache,nginx上传⽬录⽆执⾏权限的设置⽅法我们来看俩段通常对上传⽬录设置⽆权限的列⼦,配置如下:复制代码代码如下:<Directory "/var/www/upload"><FilesMatch ".php">Order Allow,DenyDeny from all</FilesMatch></Directory>还有⽹上那个对nginx上传⽬录⽆执⾏权限复制代码代码如下:location ~ ^/upload/.*\.(php|php5)${deny all;}这些配置表⾯上看起来是没什么问题的,确实在windows下可以这么说。

但是*nux就不同了,⼤家都是知道的*nux操作系统是区分⼤⼩写的,这⾥如果换成⼤写后缀名*.phP⼀类就bypasss了这⾥我说下我个⼈的解决⽅法:复制代码代码如下:<Directory "/var/www/upload"><FilesMatch "(?i:.php)"> //?是尽可能多的匹配.php的字符串,i是不区分⼤⼩写,然后冒号后⾯跟上正则表达式Order Allow,DenyDeny from all</FilesMatch></Directory>上⾯的意思就是说,/var/www/upload⽬录下所有php⽂件不区分⼤⼩写,通过order,allow,deny原则判断拒绝执⾏php⽂件,对nginx同样也是可应⽤的注:st0p专门为此正则⽤法写了⽂章,对这个正则不理解的可以参考https:///article/25673.htm另外⼀种⽅法,这个我们都⽤过复制代码代码如下:<Directory "/var/www/upload">php_admin_flag engine off</Directory>相⽐之下我还是看好的⼀种⽅法。

Apache改目录报错 You don't have permission to access

Apache改目录报错 You don't have permission to access

今天装了Apache2.4.20版本的,安装完成之后,我以后会和以前一样直接就能访问默认文件htdocs文件夹下的index.html文件,然而并没有。

浏览器访问报的一直是403 Forbidden,You don't have permission to access / on this server.网上找了一遍都说是,把1.<Directory />2.Options FollowSymLinks3.AllowOverride None4.Order deny,allow5.Deny from all6.</Directory>改成1.<Directory />2.Options FollowSymLinks3.AllowOverride None4.Order deny,allow5.Allow from all6.</Directory>就OK了,NO并不是,上面的那个是Apache2.2+里面的配置。

我的httpd.conf里面的是这样的:1.<Directory />2.AllowOverride none3.Require all denied4.</Directory>对没错就是这样的,php2.4+中是把Order deny,allow Deny from all两项合并为Require all denied的。

好那么现在我将Require all denied改为允许状态Require all granted。

然后重启Apache,还是没有用,这是为什么呢?真是气死宝宝了,经过一番折腾之后我才整明白了,记住一定记住:1.#<Directory />2.# AllowOverride none3.# Require all denied4.#</Directory>一定是要注释的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

apache 目录权限设置方法可以使用<Directory 目录路径>和</Directory>这对语句为主目录或虚拟目录设置权限,它们是一对容器语句,必须成对出现,它们之间封装的是具体的设置目录权限语句,这些语句仅对被设置目录及其子目录起作用。

下面是主配置文件中设置目录权限的例子。

<Directory "/var/www/icons">Options Indexes MultiViewsAllowOverride NoneOrder allow,denyAllow from all</Directory>(1)定义目录使用哪些特性Options Indexes MultiViewsOptions选项用于定义目录使用哪些特性,包括Indexes、MultiViews和ExecCGI 等,如表7-1所示。

表7-1 目录特性选项命令说明Indexes允许目录浏览当客户仅指定要访问的目录,但没有指定要访问目录下的哪个文件,而且目录下不存在默认文档时,Apache以超文本形式返回目录中的文件和子目录列表(虚拟目录不会出现在目录列表中),如图7-8所示MultiViews允许内容协商的多重视图MultiViews其实是Apache的一个智能特性。

当客户访问目录中一个不存在的对象时,如访问“http://192.168.16.177/icons/a”,则Apache会查找这个目录下所有a.*文件。

由于icons目录下存在a.gif文件,因此Apache会将a.gif 文件返回给客户,而不是返回出错信息AllAll包含了除MultiViews之外的所有特性,如果没有Options语句,默认为All ExecCGI允许在该目录下执行CGI脚本FollowSymLinks可以在该目录中使用符号连接Includes允许服务器端包含功能IncludesNoExec允许服务器端包含功能,但禁用执行CGI脚本让主目录允许目录浏览细心的用户可能会发现虽然在主目录设置了Indexes权限,且主目录中并不存在默认文档,但访问时并不会出现目录列表,而只出现Apache的测试页面。

解决这个问题的方法很简单,只要将位于/etc/httpd/conf.d/目录下的welcome.conf文件删除后重启Apache即可。

图7-8 Apache返回的目录列表允许目录浏览要小心一旦定义允许目录浏览,就会将Web站点的文件夹和文件名结构暴露给黑客。

目录浏览还会允许黑客浏览文件并掌握服务器配置信息,所以指定该权限往往带来安全性上的隐患。

除非有充足的理由要使用目录浏览,否则应该禁用它。

(2)设置.htaccess文件中的指令类型AllowOverride NoneAllowOverride选项用于定义位于每个目录下.htaccess(访问控制)文件中的指令类型。

基于安全和效率的原因,虽然可以通过.htaccess来设置目录的访问权限,但应尽可能地避免使用.htaccess文件,所以一般将AllowOverride设置为"None",即禁止使用.htaccess文件,而将目录权限的设置放在主配置文件httpd.conf的<Directory>和</Directory>语句之间。

(3)设置缺省的访问权限与Allow和Deny语句的处理顺序Order allow, denyOrder选项用于定义缺省的访问权限与Allow和Deny语句的处理顺序。

Allow 和Deny语句可以针对客户机的域名或IP地址进行设置,以决定哪些客户机能够访问服务器。

Order语句通常设置为以下两种值之一。

allow, deny:缺省禁止所有客户机的访问,且Allow语句在Deny语句之前被匹配。

如果某条件既匹配Deny语句又匹配Allow语句,则Deny语句会起作用(因为Deny语句覆盖了Allow语句)。

deny, allow:缺省允许所有客户机的访问,且Deny语句在Allow语句之前被匹配。

如果某条件既匹配Deny语句又匹配Allow语句,则Allow语句会起作用(因为Allow语句覆盖了Deny语句)。

下面举一些例子来说明Order、Allow和Deny语句的使用方法。

【例1】允许所有客户机的访问。

Order allow,denyAllow from all【例2】除了来自域和IP地址为192.168.16.111的客户机外,允许所有客户机的访问。

Order deny ,allowDeny from Deny from 192.168.16.111【例3】仅允许来自网络192.168.16.0/24客户机的访问。

Order allow,denyAllow from 192.168.16.0/24对比:Order deny ,allowAllow from 192.168.16.0/24这两条语句是允许所有客户机的访问。

【例4】仅允许来自网络192.168.16.0/24客户机的访问,但IP地址为192.168.16.111的客户机除外。

Order allow,denyAllow from 192.168.16.0/24Deny from 192.168.16.111 对比: Order deny ,allowAllow from 192.168.16.0/24Deny from 192.168.16.111由于Allow语句覆盖了Deny语句,因此这3条语句是允许所有客户的访问。

参考:Options FollowSymLinksAllowOverride NoneApache服务器可以针对目录进行文档的访问控制,然而访问控制可以通过两种方式来实现,一个是在设置文件 httpd.conf(或access.conf)中针对每个目录进行设置,另一个方法是在每个目录下设置访问控制文件,通常访问控制文件名字为.htaccess。

虽然使用这两个方式都能用于控制浏览器的访问,然而使用配置文件的方法要求每次改动后重新启动httpd守护进程,比较不灵活,因此主要用于配置服务器系统的整体安全控制策略,而使用每个目录下的.htaccess文件设置具体目录的访问控制更为灵活方便。

Directory语句就是用来定义目录的访问限制的,这里可以看出它的标准语法,为一个目录定义访问限制。

上例的这个设置是针对系统的根目录进行的,设置了允许符号连接的选项FollowSymLinks ,以及使用AllowOverride None表示不允许这个目录下的访问控制文件来改变这里进行的配置,这也意味着不用查看这个目录下的相应访问控制文件。

由于Apache对一个目录的访问控制设置是能够被下一级目录继承的,因此对根目录的设置将影响到它的下级目录。

注意由于AllowOverride None的设置,使得Apache服务器不需要查看根目录下的访问控制文件,也不需要查看以下各级目录下的访问控制文件,直至httpd.conf(或access.conf )中为某个目录指定了允许Alloworride,即允许查看访问控制文件。

由于Apache对目录访问控制是采用的继承方式,如果从根目录就允许查看访问控制文件,那么Apache就必须一级一级的查看访问控制文件,对系统性能会造成影响。

而缺省关闭了根目录的这个特性,就使得Apache从httpd.conf中具体指定的目录向下搜寻,减少了搜寻的级数,增加了系统性能。

因此对于系统根目录设置AllowOverride None不但对于系统安全有帮助,也有益于系统性能。

Options Indexes FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all这里定义的是系统对外发布文档的目录的访问设置,设置不同的AllowOverride选项,以定义配置文件中的目录设置和用户目录下的安全控制文件的关系,而Options选项用于定义该目录的特性。

配置文件和每个目录下的访问控制文件都可以设置访问限制,设置文件是由管理员设置的,而每个目录下的访问控制文件是由目录的属主设置的,因此管理员可以规定目录的属主是否能覆盖系统在设置文件中的设置,这就需要使用啊AllowOverride参数进行设置,通常可以设置的值为:AllowOverride的设置对每个目录访问控制文件作用的影响All 缺省值,使访问控制文件可以覆盖系统配置None 服务器忽略访问控制文件的设置Options 允许访问控制文件中可以使用Options参数定义目录的选项FileInfo 允许访问控制文件中可以使用AddType等参数设置AuthConfig 允许访问控制文件使用AuthName,AuthType等针对每个用户的认证机制,这使目录属主能用口令和用户名来保护目录 Limit 允许对访问目录的客户机的IP地址和名字进行限制每个目录具备一定属性,可以使用Options来控制这个目录下的一些访问特性设置,以下为常用的特性选项:Options设置服务器特性设置All 所有的目录特性都有效,这是缺省状态None 所有的目录特性都无效FollowSymLinks 允许使用符号连接,这将使浏览器有可能访问文档根目录(DocumentRoot)之外的文档 SymLinksIfOwnerMatch 只有符号连接的目的与符号连接本身为同一用户所拥有时,才允许访问,这个设置将增加一些安全性ExecCGI 允许这个目录下可以执行CGI程序 Indexes 允许浏览器可以生成这个目录下所有文件的索引,使得在这个目录下没有index.html(或其他索引文件)时,能向浏览器发送这个目录下的文件列表此外,上例中还使用了Order、Allow、Deny等参数,这是Limit语句中用来根据浏览器的域名和 IP地址来控制访问的一种方式。

其中Order定义处理Allow和Deny的顺序,而Allow、Deny则针对名字或IP进行访问控制设置,上例使用allowfrom all,表示允许所有的客户机访问这个目录,而不进行任何限制。

UserDir public_html当在一台Linux上运行Apache服务器时,这台计算机上的所有用户都可以有自己的网页路径,形如## AllowOverride FileInfo AuthConfig Limit# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec## Order allow,deny# Allow from all### Order deny,allow# Deny from all##这里可以看到Directory的另一个用法,即可以通过简单的模式匹配方法,针对分布在不同目录下的子目录定义访问控制权限。

相关文档
最新文档