Simple Apache Web Server

Posted on  by admin

Apache HTTP server

The apache web server is a modular application where the administrator can choose the required functionality and install different modules as per his/her requirement.

The Apache HTTP Server, an open-source web server developed by the Apache Software Foundation. The Apache server is used to host web content. It responds to requests for content from web browsers, such as Internet Explorer and Firefox.

Note : The post uses RHEL/CentOS 7 distribution to install and configure the Apache server. Although the start/stop/install commands may differ but the configuration steps are same in all the linux distribution

Installing Apache

To configure your system as a web server, begin by installing the httpd software package.

  • Apache HTTP Server. Apache HTTP Server, colloquially known as Apache or httpd.
  • Connect your Apache web server to your DB instance Next, you add content to your Apache web server that connects to your Amazon RDS DB instance. To add content to the Apache web server that connects to your DB instance While still connected to your EC2 instance, change the directory to /var/www and create a new subdirectory named inc.

Use the systemctl utility to enable the HTTP daemon to start at boot time and also to start the daemon immediately.

Configuration files

The main configuration file for Apache is /etc/httpd/conf/httpd.conf. An auxiliary directory, /etc/httpd/conf.d, also exists to store configuration files that are included in the main configuration file. Configuration files that load modules are in the /etc/httpd/conf.modules.d directory.

New apachectl subcommands in CentOS / RHEL 7

A new apachectl sub-commands are available in CentOS / RHEL 7. The following example uses the configtest subcommand to check the configuration for possible errors.

Use the graceful subcommand to reload the configuration without affecting active requests.

Configuring Apache

The main configuration file for Apache is /etc/httpd/conf/httpd.conf. Apache runs as installed, but you can modify configuration directives in this file to customize Apache for your environment. Some of these directives are described in the post below.

Testing Apache HTTP server

You can confirm that Apache is working by pointing a browser on the local system to http://localhost as shown in the picture below. You can also point a browser to http:// followed by the IP Public address of the server or the ServerName directive that you specified in the configuration file. The test page shown below confirms the functioning Apache HTTP server.

To test the display of actual content, create an HTML file named index.html in the directory specified by the DocumentRoot directive (the default directory is /var/www/html). Apache automatically displays the index.html file in this directory, if it exists.

Apache Containers

Apache containers are special configuration directives that group other directives. The containers use XML-style tags, meaning that the beginning of a container is <name> and the end is </name>. An index of all the container directives is available at http://httpd.apache.org/docs/current/sections.html. Refer the post below to get the most commonly used apache containers.

Apache Virtual Hosts

Apache supports virtual hosts, meaning that a single Apache server can respond to requests directed to multiple IP addresses or host names. Each virtual host can provide content and be configured differently.
You can configure virtual hosts in two ways:
1. IP-based Virtual Hosts (host-by-IP)
2. Name-based Virtual Hosts (host-by-name)

host-by-IP
With host-by-IP, each virtual host has its own IP address and port combination. The Apache web server responds to the IP address that the host resolves as. Host-by-IP is required for serving HTTPS requests due to restrictions in the Secure Sockets Layer (SSL) protocol.

Apache web server history

host-by-name
With host-by-name, all virtual hosts share the common IP address. Apache responds to the request by mapping the host name in the request to ServerName and ServerAlias directives in the particular virtual host’s configuration file.

Use the <VirtualHost host-name> container to implement virtual hosts. After the first VirtualHost is defined, all of the content served by Apache must also be moved into virtual hosts.

The following example is a simple name-based virtual hosts configuration:

In the article, I am going to cover how to configure apache server in Kali Linux, webserver apache in Kali Linux. Apache web server is similar methods are used in other Linux distribution. Simple commands can make an expert in using the webserver.

Originally this post is written on Jun 11, 2014, and last updated in April 2021. This article is not related to the cheap web server, web hosting, business web hosting, cloud hosting or any type of dedicated hosting service. This article defines only local webserver on Kali Linux for local Penetration testing.

A web server is a type of server, that delivers web pages to the clients as per their request. Every Web server has an IP Address and domain name for identification. Server Administrator can make local webserver setup.

You can make a simple computer to work as a web server, It may be Windows, Linux or mac. You can install any web server software on your basic system. For example Xamp, Wamp etc.

Both of these software has apache web server.

I dont want to go in depth related this topic. So come back on the topic Web server in Kali Linux.

This is time to say thanks to Kali Linux developers, who have installed already Apache webserver in Kali Linux. But by default, apache service is not running.

I will explain in this article about configuration of apache server.

How do you know you web server is running or not? what happened if server is running.

When your server is ready to deliver web pages then you can access through web browser.

Clients access the web pages through a Web browser like Google Chrome, Firefox, Safari, etc.

You need to enter URL or IP address into the address bar of the web browser and the page will be delivered by Web server scripting.

If you enter https://www.cyberpratibha.com/blog in the Address bar it will be served by Web Server.

In Kali Linux, you don’t need to set up a web server because Kali Linux has a pre-installed apache server. Hacker uses this webserver to deliver a web page containing malicious code to the victim by the help of a local webserver or by doingport forwarding.

We can trap them by using social engineering method for example Phishing. There are others who use the HTTP service in penetration testing.

it manages dedicated web server capacity to deliver pages and have web server load balancing.

Use GUIs to Start Restart Apache2 web Server in Linux

It is the easiest way to start, stop and restart the Apache2 service in GUI mode. Select Applications from the top bar of the Kali screen, next sub-menu bar will be displayed, Select Kali Linux menu, another fly-out display bar will appear, then go on the services menu, again next fly-out menu bar will display, In this bar web service can be start, stop and restart.

Once a selection happened, a command shell will open and the status of service will be displayed. When the Apache server has been started, the default page will be display by typing Attacker’s ip address in the web browser. IceWeasle is default web browser in Kali Linux distribution.

Note: GUI to start, stop, restart apache2 is not support in Kali Linux 2016.2 version.

Check the status of Apache server

Your first step to check the apache server is installed on your machine or not. Use the following command to check installed package apache2

apt list –installed apache2

In the above result, you can see apache2 installed.

Next check the status of apache web server in Kali Linux. Use the following command to do that:

Press the “q” to exit command.

You can see in the result apache service status is inactive. If the service is inactive then you can access its web pages.

For example:

Open a web browser and type localhost/127.0.0.1 then hit enter.

You will get an error “Unable to connect”.

It means the webserver is not running on your Kali Linux machine. Now your next step to start the apache server.

Start, Stop and Restart the Apache webserver in Kali Linux

It is easy to start, stop and restart Web Server using the simple command in the terminal /etc/init.d/apache2 followed by requested action (stop, start or restart). Following commands are used
#/etc/init.d/apache2 start

#/etc/init.d/apache2 stop

#/etc/init.d/apache2 restart

Another way to start, stop of restart Apache2 service by following commands

#service apache2 start

Apache Web Server Versions

#service apache2 stop

#service apache2 restart

Sample Apache Web Server Log

The Default Web Page

Once the Apache service is up and running the default (It works!) page may need to be changed, to do this make the web content that ought to be shown on the page and spare it as index.html in the /var/www/ index. Then again, the current index.html document in this area could be modified what’s more new pages might be included.

MODULE 3:- Basics of Kali Linux

If Appreciate My Work, You should consider:

Simple Apache Web Server Download

  • Join Group for Discussion Facebook Group
  • Get your own self-hosted blog with a Free Domain at ($2.96/month)
  • Buy a Coffee to Us! Make Small Contribution by Paypal
  • Support us by taking our :Online Courses
  • Contact me :[email protected]