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:
Step 3: FreeBSD Configure Apache
Quick facts about Apache version 2.2 under FreeBSD:
- Default HTTP port: 80
- Default HTTPS (SSL) port: 443
- Default DocumentRoot directory: /usr/local/www/apache22/data/
- Default cgi-bin directory: /usr/local/www/apache22/cgi-bin/
- Default Error Log File: /var/log/httpd-error.log
- Default Access Log File: /var/log/httpd-access.log
- Default suexec log (if compiled with suexec): /var/log/httpd-suexec.log
- Default configuration file directory:/usr/local/etc/apache22/ and /usr/local/etc/apache22/extra/
- 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
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.
🐧 7 comments so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Thanks for manual. It look very easy.
apachectl couldn’t start and port 80 isn’t opened, i’am not using or installed any firewall. how to open port 80 and running apache ?
thanks.
It Works!
Please correctly use provided utilities:
# sockstat -4lp 80
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREING ADDRESS
Then you don’t have a web server listening on ipv4 port 80. As you can see below, I have a web server listening on ipv4 port 80 as well as ipv6 port 80.
[root@midas ~]# sockstat -4lp 80
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
www httpd 94026 3 tcp46 *:80 *:*
www httpd 93984 3 tcp46 *:80 *:*
www httpd 93979 3 tcp46 *:80 *:*
www httpd 93978 3 tcp46 *:80 *:*
www httpd 93974 3 tcp46 *:80 *:*
www httpd 93960 3 tcp46 *:80 *:*
www httpd 93959 3 tcp46 *:80 *:*
www httpd 93944 3 tcp46 *:80 *:*
www httpd 93942 3 tcp46 *:80 *:*
www httpd 92633 3 tcp46 *:80 *:*
root httpd 1856 3 tcp46 *:80 *:*
[root@midas ~]#
Hi,
Would it be a good idea to change the below directories
Default DocumentRoot directory: /usr/local/www/apache22/data/
Default cgi-bin directory: /usr/local/www/apache22/cgi-bin/
to my own directory or partition
or would it be good to make symlink –