Install Apache HTTPD web server on Fedora 18

0

apache-httpdApache web server is the most widely used web server application in the word, it shares 63% word web server market. It supports all major distribution such as windows, Linux , Solaris and Mac operating system, it considerably has large usage on Unix platform due to the package bundled with operating system disc and also this is the default web server application for Linux operating system. Linux itself more secure, with Apache server; it has dominated world wide market. Here is the small tutorial about installing Apache web server on Fedora 18.

Installation:

1. Installing web server:

Open Terminal and switch to root user.

su

Apache web server package is available on fedora repository, install Apache server using the following command

yum install httpd

Once Apache is installed, Start Apache web server.

systemctl start httpd.service

2. Installation Overview:

Installation of Apache server creates multiple directories and files which are very much important, some important directories are listed below.

/etc/httpd Main Apache root configuration directory.
/etc/httpd/conf.d Additional Apache configuration files provided by third party software.
/etc/httpd/conf/httpd.conf Main Configuration file.
/var/lib/httpd/modules Configuration files for additional modules.( SymLink to /etc/httpd/modules)
/etc/log/httpd Contains log files ( SymLink to /etc/httpd/logs)
/var/www Main web document root directory.

3.Testing:

Open up the web browser and navigate to http://your-ip-address or http://localhost, it should show the following web page, it verifies that Apache server has been  installed properly.

Fedora Apache Test Page

Configuration:

1. Virtual Host:

VirtualHost is a virtual container that handles web request from clients, web request can be either name based (Ex. www.example.com) or ip based (Ex. http://192.168.0.10). Name based virtual host can be found everywhere, almost all the web servers uses name based virtual host which is very common in current situation. More information on virtual host can be found here.

The following comprises the virtual host, virtual hosts must contain the following directives to get it work.

<VirtualHost *:80> This ensures the Virtual Host listening on the port 80, change this to listen on other port.
ServerAdmin Mail Id of the Server administrator.
DocumentRoot Location of the web documents.
ServerName Domain name of the Virtual Host (like www.example.com).
ErrorLog Error Log location of the particular virtual host.
CustomLog Log location of the particular virtual host.
</VirtualHost> End of virtual host container.

Virtual hosts can be created either on main configuration file (/etc/httpd/conf/httpd.conf) or on additional configuration directory ( /etc/httpd/conf.d/*.conf). Creating the virtual host under the additional configuration directory is the best option because it would be best practice to be out of main config file. Here we look into Name based Virtual Host, there are some assumption to be made before creating the virtual host.

Server Name www.example.com
Ip address 192.168.0.10
DocumentRoot /var/www/example
Access Log /var/log/httpd/example.com.access.log
Error Log /var/log/httpd/example.com.error.log

Create new virtual host file under additional configuration.

vi /etc/httpd/conf.d/example.conf

Add the following, virtual host explanation given above.

 <VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot /var/www/example

ServerName www.example.com

ErrorLog logs/example.com-error_log

CustomLog logs/example.com-access_log common

</VirtualHost>

The above config file is shorter than the normal one, normal file includes directory browsing, SymLink support etc.. which are not necessary as for as beginners concerned.

2. Document upload:

Create “example” directory under “/var/www”.

mkdir /var/www/example

Place index.html document under document root mentioned above , in our case it is /var/www/example. Create index.html under document root.

echo This is WWW.Example.COM > /var/www/example/index.html

3.Host Entry:

Name based virtual host uses domain name, it requires DNS server to resolve the name. Setting up DNS server is little bit complicated as it is out of our tutorial. Host entry can be used a instead of DNS, host entry does the same work that done by DNS; as it is limited to resolve name to ip address. Host can be done by editing hosts file under /etc directory.

vi /etc/hosts

Add the following entry.

192.168.0.10 www.example.com www

Save and close it. Restart the web server to take effect on changes that we did.

systemctl restart httpd.service

4.Testing:

Open up the browser and navigate to http://www.example.com, if your setting are proper; you should get the following page. The following image verifies that server works according to our settings.

Fedora Apache Example Page

Conclusion:

The server successfully configured to serve the name based virtual host, it is very commonly used in web hosting servers. Apache web server supports plain HTML document as default document file, php support can be added by installing modules. You can also add support of secure layer (ssl) by installing ssl modules.

You might also like