FreeBSD Install Lighttpd Web Server

by on June 30, 2007 · 8 comments· LAST UPDATED June 30, 2007

in , ,

I’ve received couple of request about running Lighttpd web server under FreeBSD:

How do I install Lighttpd web server under FreeBSD along with MySQL 5 and PHP5?

lighttpd a secure, fast, compliant and very flexible web-server which has been optimized for high-performance environments. It has a very low memory footprint compared to other webservers and takes care of cpu-load. Its advanced feature-set (FastCGI, CGI, Auth, Output-Compression, URL-Rewriting and many more) make lighttpd the perfect webserver-software for every server that is suffering load problems. Installing lighttpd is quite simple under FreeBSD operating system using ports.

Lighttpd on FreeBSD

First update your port tree by typing following commands:
# portsnap fetch
# portsnap update

Install lighttpd web server under FreeBSD

Lighttpd port is located under /usr/ports/www/lighttpd:
# cd /usr/ports/www/lighttpd
Install lighttpd:
# make
# make install
# make clean

Install MySQL server

Install MySQL server:
# cd /usr/ports/databases/mysql50-server/
# make
# make install
# make clean

Also install mysql client support
# /usr/ports/databases/mysql50-client
# make
# make install
# make clean

Finally install mysql scripts:
# cd /usr/ports/databases/mysql50-scripts
# make
# make install
# make clean

Install php5 for lighttpd

Install PHP5 scripting:
# cd /usr/ports/lang/php5
# make
# make install
# make clean

Next you must install PHP5 extensions such as GB, mysql support and so on. At least select following extensions from menu:

  • ctype: The ctype shared extension for php
  • curl: The curl shared extension for php
  • dom: The dom shared extension for php
  • gd: The gd shared extension for php
  • imap: The imap shared extension for php
  • mbstring: The mbstring shared extension for php
  • mcrypt: The mcrypt shared extension for php
  • mysql: The mysql shared extension for php
  • mysqli: The mysqli shared extension for php
  • pcre: The pcre shared extension for php
  • posix: The posix shared extension for php
  • session: The session shared extension for php
  • simplexml: The simplexml shared extension for php
  • xml: The xml shared extension for php
  • xmlreader: The xmlreader shared extension for php
  • xmlwriter: The xmlwriter shared extension for php
  • zlib: The zlib shared extension for php

Type the following command:
# cd /usr/ports/lang/php5-extensions
# make
# make install
# make clean

Auto start lighttpd and mysql service

You need to enable both services. Open /etc/rc.conf:
# vi /etc/rc.conf
Append following two lines:
mysql_enable="YES"
lighttpd_enable="YES"

Start Mysql Server Under FreeBSD

To start MySQL server, enter:
# /usr/local/etc/rc.d/mysql-server start

Start Lighttpd Server Under FreeBSD

To start Lighttpd server, enter:
# /usr/local/etc/rc.d/lighttpd start

Verify that lighttpd is running:
# netstat -nat

FreeBSD Lighttpd configuration file location

  • Config file location: /usr/local/etc/lighttpd.conf
  • Default documentation root location : /usr/local/www/data/
  • Default username and groupname : www

See also:

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 8 comments… read them below or add one }

1 CL August 11, 2008 at 3:37 am

Ok. Regarding PHP. Above there is no mention of which of the many options could or should be selected to make this work. CLI, CGI, FastCGI, etc… I’ve tried many combinations and read dozens of contradictory pages on this – without success – yet.

Reply

2 nixCraft August 11, 2008 at 6:19 am

You need to use PHP FastCGI, There is a Link at the bottom of tutorial.

Reply

3 GW September 2, 2008 at 4:28 pm

I made a temporary and partially buggy not-official port for lighttpd 1.5. More precisely it is called lighttpd-devel and contains version 1.5.0-svn2299. It can be found on:
http://gw.tnode.com/0036-LighttpdDevelopment/Files-FreeBSD/

Before you install it you must uninstall all other lighttpd installations. For the port version download, extract and use the above procedure on lighttpd-devel.port.tar.bz2. The configuration window is the only buggy thing in it, so try to select only things that work (not every option works). If you miss-configured something use “make config” to reconfigure.

Reply

4 Karthik October 2, 2009 at 6:19 pm

Hey Vivek,

I installed lighttpd and mysql
mysql works fine but i can see lighttpd when i run netstat
and i’m also unable to connect!, what could be the reason?

Reply

5 Christofer February 13, 2010 at 10:26 am

Karthik -> read the httpd log…

Reply

6 Ty April 14, 2010 at 6:23 am

Also add /var/log/lighttpd.access.log mine wouldn’t start without the three log files: lighttpd.log, lighttpd.error.log and lighttpd.access.log.

chown www:www

And all is right in the world.

Reply

7 plaid May 17, 2010 at 8:39 am

Good article, thanks

Reply

8 Profesor February 8, 2011 at 4:05 pm

thanks… useful for me… i will try to do.

Reply

Leave a Comment

Tagged as: , ,

Previous post:

Next post: