Raspberry Pi Webserver Using lighttpd
Install Components
Install lighttpd
sudo apt-get -y install lighttpd
Install PHP:
sudo apt-get -y install php5-common php5-cgi php5
Install FastCGI to handle PHP pages:
sudo apt-get -y install php5-common php5-cgi php5
Restart the lighttpd service to apply everything;
sudo apt-get -y install php5-common php5-cgi php5
Adjust Permissions
Make www-data
the new owner of the directory that serves up the Webpage:
sudo apt-get -y install php5-common php5-cgi php5
Modify the permissions to make it writeable:
sudo chmod 775 /var/www
Add the pi user to the www-data
group:
sudo usermod -a -G www-data pi
Make a symlink in pi’s home directory for easy editing of the Webpage files:
cd ~ sudo ln -s /var/www www
Now you can edit the files from ~/www
instead of going to /var/www
.
Test Functionality
The default page should now be accessible on the local network by navigating to the Pi’s IP address. Navigate to the Pi’s IP address in a browser from another device on the network.
Backup the default page and replace it with your own:
mv /var/www/index.lighttpd.html /var/www/index.lighttpd.orig
Add the following code to the file and save it as index.php :
<html>
<head>
<title>Lighttpd and PHP Installation</title>
</head>
<body>
<h1>Test Results</h1>
<p>Lighttpd is working.</p>
<p><?php phpinfo();?></p>
</body>
</html>
From here, you can create your own pages. The code above just gives you a good starting point to make certain everything is working as it should be.
Modify the port on which the page can be accessed
Edit the lighttpd config file
sudo vi /etc/lighttpd/lighttpd.conf
Modify the following line to change the default port (80):
server.port = 8080
Save the file and restart the server
sudo /etc/init.d/lighttpd restart
Now you can access the Pi using your custom port:
192.168.1.x:8080
Access By Name Instead of IP Address
Accessing the Website will be easier if you can enter a name instead of remembering the IP address. For this, we will use Bonjour to assign the .local domain. Install it and reboot:
sudo apt-get install avahi-daemon sudo reboot
Now you will be able to access your Pi’s Webpage by entering
raspberrypi.local:8080
(or whatever you renamed it to) in a Web browser.