How to Restrict/Block IP Address in Apache Ubuntu?

In this tutorial, i am going to show you how to block or restrict IP address access in apache ubuntu server.

How to Restrict/Block IP Address in Apache Ubuntu

Follow the below given steps to restrict or block or deny IP address in apache ubuntu server; as follows:

  • Open 000-default.conf File
  • Update 000-default.conf File
  • Restart Apache Web Server
  • Test with IP Address

Open 000-default.conf File

Start your terminal and execute the following command on terminal to open 000-default.conf file; as follows:

sudo nano /etc/apache2/sites-available/000-default.conf

Update 000-default.conf File

Then add Directory tag for restricting IP address. i have added “111.111.111.111”, you can replace which ip you want to block; as follows:

<VirtualHost *:80>
  # The ServerName directive sets the request scheme, hostname and port that
  # the server uses to identify itself. This is used when creating
  # redirection URLs. In the context of virtual hosts, the ServerName
  # specifies what hostname must appear in the request's Host: header to
  # match this virtual host. For the default virtual host (this file) this
  # value is not decisive as it is used as a last resort host regardless.
  # However, you must set it for any further virtual host explicitly.
  #ServerName www.example.com
  
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html
  
  # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
  # error, crit, alert, emerg.
  # It is also possible to configure the loglevel for particular
  # modules, e.g.
  #LogLevel info ssl:warn
  
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
  
  # For most configuration files from conf-available/, which are
  # enabled or disabled at a global level, it is possible to
  # include a line for only one particular virtual host. For example the
  # following line enables the CGI configuration for this host only
  # after it has been globally disabled with "a2disconf".
  #Include conf-available/serve-cgi-bin.conf
  
  <Directory /var/www/html>
     order allow,deny
     deny from 111.111.111.111
     allow from all
  </Directory>
         
</VirtualHost>

Restart Apache Web Server

Run the following command on terminal to restart apache web server; as follows:

sudo service apache2 reload

Test with IP Address

Open browser and check your IP; as follows:

http://your_server_ip

OR

http://localhost

More Linux and Apache Tutorials

Leave a Comment