Turning Raspberry Pi into a web server
I've been tinkering with Raspberry Pi for two years and it's pretty remarkable what you can build with a $35US computer. Aside from being able to create apps using bash, pearl, python, or even javascript. What I also like to include in my Raspberry Pi device is a web server. Web servers are great because they can help you install or host web apps and in our case, Lighttpd is a good choice for Raspberry Pi because of its very low memory footprint.
Here's how to install Lighttpd on Raspberry Pi.
Publishing Static Web Pages
First things first. Update your package manager called Advanced Package Tool.
sudo apt-get update && sudo apt-get upgrade
Time to install a web server so that you can publish a static web page.
Install the Lighttpd web server.
sudo apt-get install lighttpd
Add the PI user to www-data
group and set the permission flags of the /var/www
directory. This is the default document root.
sudo adduser pi www-data
sudo chown -R www-data:www-data /var/www/
sudo chmod -R 775 /var/www/
Once you're logged in and you've completed setting up a few permissions, go ahead and create your first web page.
nano /var/www/index.html
Publishing Dynamic Web Pages
PHP is a good choice for Raspberry Pi because it's easy to install and it doesn't consume a lot of resources.
Update apt-get package manager for Raspberry Pi
sudo apt-get update
Install PHP
sudo apt-get install php5-cgi
Install FastCGI module in the Lighttpd to speed things up
sudo lighty-enable-mod fastcgi
Reload lighttpd web server.
sudo /etc/init.d/lighttpd force-reload
Use nano to modify the web server config file
sudo nano /etc/lighttpd/lighttpd.conf
Enable PHP and FastCGI
fastcgi.server = (".php" => (("bin-path" => "/usr/bin/php-cgi","socket" => "/tmp/php.socket")))
Restart the web server
sudo service lighttpd restart
Test your work by adding this to the file /var/www/index.php
<?php
phpinfo();
?>
Troubleshooting Wifi
Configuring your Raspberry Pi to a wireless network is a little bit harder than going to your "Settings" on iPhone or Android. Here are a few helpful commands.
After installing a Wifi USB dongle to your USB port, use this command to find it's location.
lsusb
You can take a closer look at the Pi’s boot message with the dmesg command and see whether the WLAN stick has been initialized properly.
dmesg | less
Get the current status of your Pi’s wireless network interfaces.
iwconfig
Once your Wifi USB dongle is working properly, you'll need to search for your Wifi network.
sudo iwlist scan | grep ESSID