Lighttpd unter OS X installieren

Nachdem der Memcache-Daemon läuft wollte ich gerne noch die Django Installation mit einem Lighttpd Webserver bereitstellen und nicht mit dem eingebauten Python Webserver. Weil mir das Installations-Script für den Memcached so gut gefiel und ich keins für den Lighty gefunden habe, habe ich kurz selbst eins geschrieben.

#!/bin/sh

##
# Install lighttpd and dependencies smoothly on Mac OS X.
#
# USE AT YOUR OWN RISK.
#
# AUTHOR: Arne Brodowski http://www.arnebrodowski.de
#

export PATH=$PATH:/usr/local/bin
PREFIX=/usr/local

mkdir src
cd src

# Install pcre dependency
curl -O ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.1.tar.bz2
tar xfj pcre-7.1.tar.bz2
cd pcre-7.1
./configure --prefix=${PREFIX} CFLAGS=-O1 && make
sudo make install
cd ..

# Install lighttpd
curl -O http://www.lighttpd.net/download/lighttpd-1.4.18.tar.bz2
tar xfj lighttpd-1.4.18.tar.bz2
cd lighttpd-1.4.18
./configure --prefix=${PREFIX} --with-openssl --with-pcre=${PREFIX} && make
sudo make install
sudo mkdir /usr/local/etc
cd ..

# pre-create log files
sudo touch /var/log/lighttpd.access.log
sudo touch /var/log/lighttpd.error.log
sudo chown nobody /var/log/lighttpd.*

#change some default values in the config file
curl -O http://public.rcs4u.de/_arne/files/lighttpd.conf.patch
cp lighttpd-1.4.18/doc/lighttpd.conf .
patch -p1 < lighttpd.conf.patch
USERN=`whoami`
sed -e "s/\/Users\/USER\/Sites/\/Users\/$USERN\/Sites/" lighttpd.conf > lighttpd.conf.new
mv lighttpd.conf.new lighttpd.conf

sudo cp lighttpd.conf /usr/local/etc/
cd ..

echo "Installation complete. Please edit /usr/local/etc/lighttpd.conf \
to suite your needs."

Script herunterladen.

Und hier das passende Launchd-Item damit der Lighttpd beim Systemstart automatisch gestartet wird. Einfach als /Library/LaunchDaemons/net.lighttpd.plist abspeichern.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>net.lighttpd</string>
    <key>OnDemand</key>
    <false/>
    <key>Program</key>
    <string>/usr/local/sbin/lighttpd</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/sbin/lighttpd</string>
        <string>-f/usr/local/etc/lighttpd.conf</string>
        <string>-D</string>
    </array>
</dict>
</plist>

Ich hab das Ding nur auf meinem MacBook Pro unter 10.4.9 getestet, für Feedback wäre ich dankbar - einfach einen Kommentar da lassen.


Kommentare