Apach Server



Ensure appropriate user and group is used: Apache by default runs under the daemon user. Apache is the most widely used web server software. Developed and maintained by Apache Software Foundation, Apache is an open source software available for free. It runs on 67% of all webservers in the world. It is fast, reliable, and secure. Learn to host your own website with Apache, a solid, well-known, and easy-to-configure web server. Apache Web Server is designed to create web servers that have the ability to host one or more HTTP-based websites. Notable features include the ability to support multiple programming languages, server-side scripting, an authentication mechanism and database support. Apache Web Server can be enhanced by manipulating the code base or adding. 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.

  1. Apache Server Status
  2. Apache Web Server Tutorial
  3. Apache Server Software

Apache HTTP server

Apach

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.

Apache Server Status

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.

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.

Apach Server

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.

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.

Apache Web Server Tutorial

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.

Apache Server Software

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