Linux Open Port 80 (HTTP Web Server Port)

Posted on in Categories , , , , , last updated February 18, 2014

I am new CentOS/RHEL 5.x/6.x user. How do I open port 80 (Apache Web Server) under Red Hat / CentOS / Fedora Linux?

The default configuration file for iptables based firewall on RHEL / CentOS / Fedora Linux is /etc/sysconfig/iptables for IPv4 based firewall. For IPv6 based firewall you need to edit /etc/sysconfig/ip6tablesfile.

Open this file using a text editor such as vi/vim or emacs:

Linux Open Port 80 (http)

# vi /etc/sysconfig/iptables
Append rule as follows rules on RHEL/CentOS version 5.x or older:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
## Open 443 port i.e. HTTPS
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

IF you are using RHEL/Centoa version 6.x or above, try:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
## Open 443 port i.e. HTTPS
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

Save and close the file. Restart iptables service, enter:
# /etc/init.d/iptables restart

See “CentOS / Redhat Iptables Firewall Configuration Tutorial” for more information.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Share this on (or read 20 comments/add one below):

20 comment

  1. Thanks for this. Being used to debian/ubuntu I’d forgotten where to go when setting up a CentOS box.

    @gabriel – you might want to try moving the rule further up in the file. I put it as the last rule but that didn’t work. Moving it further up (in particular before “-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited”) seemed to do the trick.

  2. This almost worked for me. Using -A was a problem however, because the rule needed to be insterted at the top because of other rules I had in place. If the above doesn’t work for you, use the following at the command line:

    iptables -I RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

    1. Firstly Many thank you to you all…

      Awesome…and Great community on earth and heartily thank you again for all your time and expertise.

      I have used below and it works…

      iptables -I RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

  3. This is great and worked perfectly! Thank you for posting this. I was wondering if you know the way to do the same thing from the command line (without vi) so that it can be scripted. I found on some other blog

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
    service iptables save

    but when I tried that it didn’t work and when I checked /etc/sysconfig/iptables there’s no rule for port 80 like I expected.

  4. I used the below commands to open port 443 via iptables from the command line.

    /sbin/iptables -A INPUT -m state –state NEW -p tcp –dport 443 -j ACCEPT
    /etc/init.d/iptables save
    /etc/init.d/iptables restart

    and it worked for me.

  5. Hello i connect to my server feddora

    1. vi /etc/sysconfig/iptables
    2. -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 27015 -j ACCEPT
    3. how to close them and how to save also i can’t how to back like cd what happening

    i dont know give mee a screen please how to save and exit from log beacuse i dont know how to exit i try everything exit he dosent do close ctrl + c nothing only x logout ???

  6. I Want to know step by step every words please

    1.2.3.4.5.6 steps please replay sir soon as you can step by step

    first user and pass to connect to my root server second what to do 3th 4th etc… i want to know :S:S:S

  7. The following is working fine…execute all 6 command line scripts.
    ENV: Red Hat Enterprise Linux Server release 5.3 (Tikanga)
    Opening ports 80 & 443
    =====================================
    1. iptables -A INPUT -p tcp –dport 80 -j ACCEPT
    2. iptables -A INPUT -p tcp –dport 443 -j ACCEPT
    3. service iptables save
    4. /etc/init.d/iptables restart
    5. service ip6tables stop
    6. chkconfig ip6tables off

  8. Thanks a lot!
    The following worked for me:
    add line:
    -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT
    in the file:
    /etc/sysconfig/iptables
    and then restart iptables by:
    /etc/init.d/iptables restart

  9. 1. iptables -A INPUT -p tcp –dport 80 -j ACCEPT
    2. iptables -A INPUT -p tcp –dport 443 -j ACCEPT
    3. service iptables save
    4. /etc/init.d/iptables restart
    5. service ip6tables stop
    6. chkconfig ip6tables off

Leave a Comment