FreeBSD Install and Configure Apache Web Server

by Vivek Gite [Last updated: October 8, 2008]

Q. How do I install and configure Apache web server under FreeBSD 7.x operating systems?

A. FreeBSD comes with various versions of Apache web servers:

=> Apache 1.3
=> Apache 2.0
=> Apache 2.1
=> Apache 2.2

Step # 1: Update FreeBSD ports collection

Type the following command to update FreeBSD ports collection:
# portsnap fetch update

Step # 2: Install Apache Web Server

Type the following commands:
# cd /usr/ports/www/apache22/
# make install clean

Select required options:

Fig.01: FreeBSD Apache v2.2 Config Options

Fig.01: FreeBSD Apache v2.2 Config Options

Step 3: FreeBSD Configure Apache

Quick facts about Apache version 2.2 under FreeBSD:

  1. Default HTTP port: 80
  2. Default HTTPS (SSL) port: 443
  3. Default DocumentRoot directory: /usr/local/www/apache22/data/
  4. Default cgi-bin directory: /usr/local/www/apache22/cgi-bin/
  5. Default Error Log File: /var/log/httpd-error.log
  6. Default Access Log File: /var/log/httpd-access.log
  7. Default suexec log (if compiled with suexec): /var/log/httpd-suexec.log
  8. Default configuration file directory:/usr/local/etc/apache22/ and /usr/local/etc/apache22/extra/
  9. Default configuration file: /usr/local/etc/apache22/httpd.conf

Turn on Apache service

Type the following command to turn on Apache22 service:
echo 'apache22_enable="YES"' >> /etc/rc.conf

Configure httpd.conf

Open httpd.conf file:
# cp /usr/local/etc/apache22/httpd.conf /root/httpd.conf.bak
# vi /usr/local/etc/apache22/httpd.conf

Bind Apache to specific IP addresses and/or ports, instead of the default. Let us bind to IP address called 202.4.2.1 and port 80:
Listen 202.4.2.1:80
Set your email address:
ServerAdmin vivek@nixcraft.com
Set servername (FQDN) such as www.nixcraft.com:
ServerName www.nixcraft.com
Save and close the file.

Start Apache server

To start Apache server v2.2, enter:
# /usr/local/etc/rc.d/apache22 start
Verify that port 80 is opened:
# sockstat -4 | grep :80

Open port 80 using PF firewall

WARNING! These examples may block access to your computer if not executed properly. If you are configuring FreeBSD and Apache first time, I strongly recommend skipping this step.

PF is OpenBSD firewall and available under FreeBSD. You need to configure pf using /etc/pf.conf file. Add following line to your /etc/pf.conf file:
pass in on $ext_if proto tcp from any to 202.4.2.1 port 80 flags S/SA synproxy state
Save and close the file. Reload pf firewall:
# /etc/rc.d/pf reload

Test your new setup

Fire a webbrowser and type your domain name such as www.nixcraft.com.

Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 0 comments… add one now }

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Tagged as: , , , , , , , , , ,

Previous post: DNS Name Resolution

Next post: Connect A Linux Server To A Windows Server 2003 or 2008 / Vista / XP Computer