Table of Contents
Download the mod_evasive source file to the server
#cd /usr/local/src #wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
Extract the zip file that we downloaded to the server
#tar -xvzf mod_evasive_1.10.1.tar.gz #cd mod_evasive
To load dynamic modules to Apache, use apxs
#/usr/local/apache/bin/apxs -cia mod_evasive20.c
This will create an entry in the Apache configuration file for mod_evasive. To retain this entry after Apache rebuild/upgrade we need to run the following command. Otherwise cPanel will take out this entry from Apache configuration file after Apache rebuild/upgrade.
#/usr/local/cpanel/bin/apache_conf_distiller --update
Next is to create mod_evasive configuration file and then need to add the following configuration to it:
root@server [~]# cat /usr/local/apache/conf/mod_evasive.conf LoadModule evasive20_module modules/mod_evasive20.so DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10
Now include the file “/usr/local/apache/conf/mod_evasive.conf” in the file /usr/local/apache/conf/includes/pre_main_global.conf”
#root@server [~]# cat /usr/local/apache/conf/includes/pre_main_global.conf Include /usr/local/apache/conf/mod_evasive.conf
Then, rebuild Apache and restart it
#/scripts/rebuildhttpdconf #/etc/init.d/httpd restart
Download the mod_evasive source file to the server
#cd /usr/local/src #wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
Extract the zip file that we downloaded to the server
#tar -xvzf mod_evasive_1.10.1.tar.gz #cd mod_evasive
Now, if you attempt to build mod_evasive20.c for Apache 2.4, you’ll receive an error. That is if you run /usr/local/apache/bin/apxs -cia mod_evasive20.c you’ll get the following error:
mod_evasive20.c: In function 'access_checker': mod_evasive20.c:142: error: 'conn_rec' has no member named 'remote_ip' mod_evasive20.c:146: error: 'conn_rec' has no member named 'remote_ip' mod_evasive20.c:158: error: 'conn_rec' has no member named 'remote_ip' mod_evasive20.c:165: error: 'conn_rec' has no member named 'remote_ip' mod_evasive20.c:180: error: 'conn_rec' has no member named 'remote_ip' mod_evasive20.c:187: error: 'conn_rec' has no member named 'remote_ip' mod_evasive20.c:208: error: 'conn_rec' has no member named 'remote_ip' mod_evasive20.c:212: warning: implicit declaration of function 'getpid' mod_evasive20.c:215: error: 'conn_rec' has no member named 'remote_ip' mod_evasive20.c:221: error: 'conn_rec' has no member named 'remote_ip' mod_evasive20.c:222: error: 'conn_rec' has no member named 'remote_ip' mod_evasive20.c:228: error: 'conn_rec' has no member named 'remote_ip' apxs:Error: Command failed with rc=65536
Now, you need to follow these steps for Apache 2.4
#cp mod_evasive{20,24}.c #sed s/remote_ip/client_ip/g -i mod_evasive24.c
Now, build mod_evasive for Apache 2.4
#apxs -i -a -c mod_evasive24.c
This will create an entry in the Apache configuration file for mod_evasive as below.
#root@server [~]# grep mod_evasive /usr/local/apache/conf/httpd.conf LoadModule evasive20_module modules/mod_evasive24.so
To retain this entry after Apache rebuild/upgrade run the following command:
#/usr/local/cpanel/bin/apache_conf_distiller --update
Then, create mod_evasive configuration file and add the following configuration to it:
root@server [~]# cat /usr/local/apache/conf/mod_evasive.conf LoadModule evasive20_module modules/mod_evasive24.so DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10
Now include the file “/usr/local/apache/conf/mod_evasive.conf” in the file “/usr/local/apache/conf/includes/pre_main_global.conf”
#root@server [~]# cat /usr/local/apache/conf/includes/pre_main_global.conf Include /usr/local/apache/conf/mod_evasive.conf
Then, rebuild Apache and restart it
#/scripts/rebuildhttpdconf #/etc/init.d/httpd restart
Done!!
In today's digital landscape, timing is everything. Whether you're a social media manager, business owner, or content creator, the success…
Are you a website owner? Maintaining the website is the prime concern for any website owner. Yes, it’s equally important…
If you’ve planned to launch a WordPress website, you might get a question, “How do I log in to WordPress?”…
As the demand for virtual private servers (VPS) continues to grow, businesses and individuals are faced with a crucial decision:…
Web hosting is a large industry, as many other factors help any web hosting provider to form a company. The…