我怎么能从LAMP的Amazon EC2上的子目录中排除mod_security?

我从来没有激活之前的mod_security或编辑虚拟主机,所以这对我来说是一个新的挑战,我试图按照本教程,但似乎网上的大多数教程没有反映我的情况。 我有一个在Ubuntu 14.04上运行Apache 2的EC2实例,我没有一个名为httpd的文件,但是在我的/etc/apache2/sites-available文件夹中,我有名为000-default.conf的文件:

 <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html <IfModule security2_module> SecRuleEngine Off </IfModule> <Directory /var/www > AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 

这是我的security2.conf位于/etc/apache2/mods-available

 <IfModule security2_module> SecDataDir /var/cache/modsecurity Include "/usr/share/modsecurity-crs/*.conf" Include "/usr/share/modsecurity-crs/activated_rules/*.conf" IncludeOptional /etc/modsecurity/*.conf </IfModule> 

我希望启用mod_security但现在我不能因为在../html文件夹(我的../html文件夹)我有Wordpress和phpMyAdmin(所以如果我删除SecRuleEngineclosures,它给了我错误权限在所有网站上被拒绝)。 从上面提到的教程中我知道我需要使用这段代码来排除特定的目录:

 <Directory "/var/www/wp-admin"> <IfModule security2_module> SecRuleEngine Off </IfModule> </Directory> 

我不明白的是:我需要在/sites-available创build一个新的.conf文件吗? 例如,它应该如何看起来像.conf文件来排除位于/usr/share/phpmyadmin phpMyAdmin目录?

[这个评论太长,所以贴出来作为答案。 希望能帮助到你]

看来你还没有configuration虚拟主机。 相反,只有一个主要的DocumentRoot,您可以使用http:// ip-address / site-folder url调用网站。

假设它的两个虚拟主机:一个在/ var / www / html / wordpress和另一个/ var / www / html / phpmyadmin。
如果您需要禁用phpmyadmin,那么在phpmyadmin的虚拟主机configuration下,添加您在后半部分陈述的行:

 <VirtualHost *:80> .. .. .. <Directory "/var/www/html/phpmyadmin"> <IfModule security2_module> SecRuleEngine Off </IfModule> </Directory> .. .. </VirtualHost> 

为了WordPress的pipe理员禁用它,在WordPress的网站的虚拟主机configuration下添加相同的:即。

 <virtualhost *:80> .. .. .. <Directory "/var/www/html/wordpress/wp-admin"> <IfModule security2_module> SecRuleEngine Off </IfModule> </Directory> .. .. </VirtualHost> 

资料来源: https : //www.digitalocean.com/community/tutorials/how-to-set-up-mod_security-with-apache-on-debian-ubuntu

如果没有VirtualHostconfiguration,那么你可以尝试在mod_securityconfiguration文件中为phpmyadmin和wp-admin添加指令: <Directory>..</Directory> :'/etc/apache2/mods-available/security2.conf “

在重新加载之前使用apachectl -ttesting语法。