Saturday, 29 June 2013

APACHE SERVER CONFIGURATION STEP BY STEP

Install Apache Webserver in CentOS 6.3 & RHEL

In this how-to tutorial I’ll show you how to install Apache and host a sample website using Apache.

Scenario

In this how-to tutorial, my test scenario setup are as follows

Webserver Details:

Operating System  :  CentOS 6.3 32bit server
Hostname          :  web.example.com
IP Address        :  192.168.1.250

Client Details:

Operating System  :  CentOS 6.3 32bit Desktop
Hostname          :  client.example.com
IP Address        :  192.168.1.251
 
I already have a DNS server in my setup and i had properly configured the DNS server with both server and client details.

Server side configuration

Prerequisites:

1. Set the hostname of web server

[root@web ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=web.example.com

2. Add the webserver hostname in ‘etc/hosts’ file

[root@web ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.250   web.example.com
192.168.1.250   www.example.com

3. Install Apache

Check and remove any previously installed packages
 
[root@web ~]# rpm -qa | grep httpd
or
 
[root@web ~]# yum list installed | grep httpd
 
Now install the ‘httpd’ package
 
[root@web ~]# yum install httpd* -y

4. Configure Apache

[root@web ~]# vi /etc/httpd/conf/httpd.conf 
## line no 262 - Set the server admin mail id which is used to receive mail generated by apache ##
ServerAdmin root@ostechnix.com
## line no 276 - Set the website name ##
ServerName www.ostechnix.com:80
## line no 292 - Set the web pages folder ##
DocumentRoot "/var/www/html"
## line no 402 - Sent the index or home page of the website ##
DirectoryIndex ostechnix.html

5. Create a sample index or home page

Create the index or home page html file in the ‘/var/www/html/’ directory
 
[root@web ~]# vi /var/www/html/example.html 
<html>
<body bgcolor=blue>
        <h1> Welcome to EXAMPLE Website </h1> 
</body>
</html>

6. Allow webserver through firewall

[root@web ~]# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
 
Restart iptables to save changes
 
[root@web ~]# service iptables restart
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]

7. Start Apache web server

[root@web ~]# service httpd start
Starting httpd:                                            [  OK  ]
[root@web ~]# chkconfig httpd on

Client side Configuration

1. Add the webserver and client ip address and hostname in the ‘/etc/hosts’ file

[root@client ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.251   client.ostechnix.com
192.168.1.250   www.ostechnix.com

2. Check Apache webserver

Open the firefox in client and type http://www.example.com in the address bar. The index page of example website will open now.

No comments:

Post a Comment