How to host your own website on a Raspberry Pi
Requirements
Hardware:
Raspberry Pi
USB power cable
Ethernet cable and modem to connect to
HDMI cable (temporary need)
Monitor (temporary need)
USB mouse/keyboard (temporary need)
Standard SD card
SD card reader on your computer
Software:
Raspbian image - Debian based OS for Raspberry Pi
Lighttpd - lightweight webserver that is extremely easy to set up
PageKite - makes local websites or SSH servers publicly accessible in mere seconds, and works with any computer and any Internet connection.
Also you will need to buy a domain for your site. I purchased mine through hover.com, but there are many to chose from.
First you need to setup the SD card on your Raspberry Pi.
The SD card is the harddrive for the Raspberry Pi, you'll be installing Raspbian which is a derivative of Debian. If you are familar with Linux you'll be right at home.
Here is the guick start guide for Raspbian:
http://www.raspberrypi.org/quick-start-guide
Install the latest "Raspbian" SD card image from here:
http://www.raspberrypi.org/downloads
Just follow the instructions to download the image and install it on your SD card, once we actually boot the Raspberry Pi you will set it up.
Now, here is where you temporarily need to have a monitor, keyboard, and mouse that you can use to run your Raspberry Pi.
If you don't have a monitor, mouse and keyboard, you can set up your Raspberry Pi in headless mode. Here is a link to to this, although I did not utilize this method:
http://www.penguintutor.com/linux/raspberrypi-headless
Now plug in the ethernet from the Raspberry Pi to the modem, HDMI from the Raspberry Pi to the monitor, USB to your keyboard and mouse. Plug in the SD card that you
installed Raspbian and last plug in the power. Plugging in power is how you power on the Raspberry Pi. Go through the on screen setup, be sure and change the password,
turn on SSH, set the date/time and any of ther other setup options that you think you'll need. Complete the setup and pat yourself on the back, you are on your way.
Next step, setup a static IP on your router so the Raspberry Pi always has a static IP in your home network. Here is tutorial that I followed for this
step: http://www.penguintutor.com/blog/viewblog.php?blog=6306
Once you complete this come back here to continue the setup.
Good job so far. Let's use some of our Linux skills now(I'm a huge Linix fan, it's all I run on my PCs), don't worry, it won't hurt.
Open the terminal and run the following command:
sudo apt-get install lighttpd
Did you press enter at the end of that last row? You should.
Now run the command:
sudo reboot
While your rebooting here is something to read:
lighttpd is a lightweight open source webserver. It is pronounced "Lighty" and it will listen for requests on port 80, when it receives a request
it sends back the requested webpage.
Ok and we're back. So you should be rebooted now so let's check to see if lighttpd is doing it's job. Type in the IP that you assigned to your
Raspberry Pi, for instance 192.168.1.10, on your browser. You can do it on your computer or on the Raspberry Pi's browser, it's called Midori.
You should get a webpage showing that lighttpd is working. The file that is being displayed is sitting on the Raspberry Pi at /var/www/ and it's
named index.html. This folder is where you will place your website. You have created your website already right? If not, you can do that once you
have completed this setup. I used a starter page from http://www.styleshout.com/.
Ok you're doing great, we're getting near the end.
Next we are going to set up an account with PageKite. PageKite charges $36/year for an account. There are free options like Dyndns, but I have
Verizon fios and am forced to use their router, thus my Dyndns did not work well for me. If you wan to use Dyndns, you can set up a free account
that should work for you.
PageKite is easy to install, just visit their page from the Raspberry Pi and setup an account and install the software. You will be installing
the Linux version and the site walks you through all the steps. Make sure your account id is NOT the same as the site you are setting up. You will
use the site name also as a secondary pagekite. Once you have your account set up with PageKite, you will need to follow this guide to setup
PageKite to point to your own doman: https://pagekite.net/wiki/Howto/CnamePageKites/
For step 2 above, if you went with hover.com, you'll need to add a new DNS with the following format:
Hostname: www
Record Type: CNAME
Target Host: sitename.accountid.pagekite.me
Complete the CnamePageKites setup and then you are done! Your website is now live on the web! See that really wasn't very hard to do.
Here is my website: www.pillar-soft.com
this is exactly what i was looking for,
but me being the clutz i am, cant get lighttpd to install, missing dependencies
Code:
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main lighttpd armhf 1.4.31-1
404 Not Found
Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/l/lighttpd/lighttpd_1.4.31-1_armhf.deb 404 Not Found
using the sudo apt-get install
but the static ip tutorials are very good, i'll try the lighttpd install again tomorrow
With thanks
Quiggers said:
this is exactly what i was looking for,
but me being the clutz i am, cant get lighttpd to install, missing dependencies
Code:
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main lighttpd armhf 1.4.31-1
404 Not Found
Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/l/lighttpd/lighttpd_1.4.31-1_armhf.deb 404 Not Found
using the sudo apt-get install
but the static ip tutorials are very good, i'll try the lighttpd install again tomorrow
With thanks
Click to expand...
Click to collapse
Did you type exactly:
sudo apt-get install lighttpd
If your still getting that error then do:
sudo apt-get update
Then,
sudo apt-get install lighttpd
Let me know if you're successful.
Sent from my Nexus 4 using xda premium
Quiggers said:
this is exactly what i was looking for,
but me being the clutz i am, cant get lighttpd to install, missing dependencies
Code:
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main lighttpd armhf 1.4.31-1
404 Not Found
Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/l/lighttpd/lighttpd_1.4.31-1_armhf.deb 404 Not Found
using the sudo apt-get install
but the static ip tutorials are very good, i'll try the lighttpd install again tomorrow
With thanks
Click to expand...
Click to collapse
You need to do
Code:
sudo apt-get update
Also
Also try sudo apt-get install -f lighttpd
Static up setup for yoir pi is must for this to work
I wonder if it can support some light php tasks and maybe a database?
Also is there a posibility to connect 2-3 raspberry Pi and do some kind of loadbalancing. For example one could be the lighttpd server, an other server could host the files and do all the php work, while an other could by the mysql server.
Could this be done, how would you go by connecting all that together, through a router?
@marty
we have lift off
thank you
Quiggers said:
@marty
we have lift off
thank you
Click to expand...
Click to collapse
Awesome!
Sent from my Nexus 4 using xda premium
Seems a pretty simple setup, but you missed out a step.
You need to port forward port 80 on your router/modem so that your modem sends all incoming port 80 traffic to your Raspberry Pi.
Also, you should use Apache which is much faster, and the original open source web server.
@jji7skyline, on what did you base your opinion? Check this:
http://www.jeremymorgan.com/blog/programming/raspberry-pi-web-server-comparison/
mihaum said:
@jji7skyline, on what did you base your opinion? Check this:
http://www.jeremymorgan.com/blog/programming/raspberry-pi-web-server-comparison/
Click to expand...
Click to collapse
I just prefer Apache because of its wide support and speed, but maybe I was misinformed about its speed on ARM devices.
LAMP is a good package if you want PHP, MySQL and PHPmyAdmin.
what i would suggest is better go with NO-IP or similar stuff !!
they have nice ip update clients ! not only will you save money , it will make easy to manage the accounts as they have good apps for Linux !
---------- Post added at 06:27 PM ---------- Previous post was at 06:24 PM ----------
samboza said:
I wonder if it can support some light php tasks and maybe a database?
Also is there a posibility to connect 2-3 raspberry Pi and do some kind of loadbalancing. For example one could be the lighttpd server, an other server could host the files and do all the php work, while an other could by the mysql server.
Could this be done, how would you go by connecting all that together, through a router?
Click to expand...
Click to collapse
i guess yes !
You can setup ip and port forwarding to make the same make happen !
like, may be, you can set up a My sql server at lan and then setup a port forward to that r-pi and necessary stuff !!
then your man server can issue requests as necessary!!
---------- Post added at 06:29 PM ---------- Previous post was at 06:27 PM ----------
jji7skyline said:
I just prefer Apache because of its wide support and speed, but maybe I was misinformed about its speed on ARM devices.
LAMP is a good package if you want PHP, MySQL and PHPmyAdmin.
Click to expand...
Click to collapse
Have been using Apache for a damn long time ... very comfortable with the same !!
but in these recent years even i have been ranted over to use Lighttpd seems it is friendly with processor !!!
Also suggest no-ip. I use no-ip on the NexusQ site server. It cuts down on cost and you can take your server with you. I've even run it on a mobile server (read phone) that was wifi tethered to my phone while in my car. The same could be done from the RasPi as well.
Lokifish Marz said:
Also suggest no-ip. I use no-ip on the NexusQ site server. It cuts down on cost and you can take your server with you. I've even run it on a mobile server (read phone) that was wifi tethered to my phone while in my car. The same could be done from the RasPi as well.
Click to expand...
Click to collapse
Great tip! I'm sure there are more ways to tweak this guide and make it more robust.
Sent from my Nexus 7 using xda premium
Do you guys think the Raspberry Pi would be good to use as an XBMC streaming box off a remote NAS?
Anyone tried this?
puleen said:
Do you guys think the Raspberry Pi would be good to use as an XBMC streaming box off a remote NAS?
Anyone tried this?
Click to expand...
Click to collapse
I first used the Raspberry Pi for XBMC, RasBMC and it worked great. I did not use it to stream anything locally stored but I believe it would handle that just fine.
Sent from my Nexus 7 using xda premium
I've used the Pi to stream things from a share on a desktop computer and found that it worked wonderfully (as long as the connection could handle it). I've even done HD streaming with little to know issue at least streaming wise. I was using OpenElec at the time, but I imagine it's not different on Raspbmc, if anything it should work better.
Edit: I also want to note I constantly Stream things via Hulu or Youtube. These also work great as long as your connection can handle it. They can be a little slow while "loading" but once a show gets going they usually do just fine.
Wow an entire website hosted on something no bigger than my phone...EPIC
There is also the option to send your raspberry pi to http://www.edis.at/en/server/colocation/austria/raspberrypi/ instead of using your home internet connection. Higher availability and better speed. for free. I haven't used their service, though, so i can't say whether they are ok.
jji7skyline said:
I just prefer Apache because of its wide support and speed, but maybe I was misinformed about its speed on ARM devices.
LAMP is a good package if you want PHP, MySQL and PHPmyAdmin.
Click to expand...
Click to collapse
I prefer to use nginx for my servers.
Sent from my GT-S5830 using Tapatalk 2
My respect sir, very good use for a raspberry pi, I tip My hat to you
Here is a nice how-to on controlling your Raspberry Pi via Voice Control. The tutorial includes all needed scripts for voice input and output You can add any commands you would like your Pi to execute.
http://raspberrypi-hacks.com/11/control-your-raspberry-pi-via-voice-control/
The only thing you'll have to change are the servers the script is trying to connect to because I am from Germany.
I tweaked the script to run on my ubuntu laptop and it already tells me the weather but I am still struggling with the google-search API.
I would appreciate any ideas in terms of commands we could add to the script
r3zin said:
Here is a nice how-to on controlling your Raspberry Pi via Voice Control. The tutorial includes all needed scripts for voice input and output You can add any commands you would like your Pi to execute.
http://raspberrypi-hacks.com/11/control-your-raspberry-pi-via-voice-control/
The only thing you'll have to change are the servers the script is trying to connect to because I am from Germany.
I tweaked the script to run on my ubuntu laptop and it already tells me the weather but I am still struggling with the google-search API.
I would appreciate any ideas in terms of commands we could add to the script
Click to expand...
Click to collapse
This looks awesome.. Will try once I get mine
Arnav.G said:
This looks awesome.. Will try once I get mine
Click to expand...
Click to collapse
You really should! Try to command your local computer via voice, the script will work on it aswell with a few tweaks. It's pretty funny and you can impress your friends when your computer answers your questions
r3zin said:
You really should! Try to command your local computer via voice, the script will work on it aswell with a few tweaks. It's pretty funny and you can impress your friends when your computer answers your questions
Click to expand...
Click to collapse
Hehe.. I am a 8th Grader... If my school's Computer Department teachers get to know about this then I am the guy for them
Hi guys
I have created a project which consists of a main GUI interface that incorporates four games, where one of the games opens another GUI which also incorporates four other small games, and all the scripts are found in one folder, also the games are aimed towards autistic children. For the project i used python 3, with pygame for the games and Tkinter for the GUI's .
My main issue is that i would like to make the whole project run directly from the raspberry desktop, without having the user open a terminal or the python script, and having been going round in circles as how i can maybe make this happen and cannot seem to find or not looking in the right direction, my raspberry pi is running on raspbian.
I would appreciate if anyone could direct/suggest me on what would be the best thing to do or else to point me to any step by step tutorials so as to make the project easily accessible for autistic children. Thanks.
druid65 said:
Hi guys
I have created a project which consists of a main GUI interface that incorporates four games, where one of the games opens another GUI which also incorporates four other small games, and all the scripts are found in one folder, also the games are aimed towards autistic children. For the project i used python 3, with pygame for the games and Tkinter for the GUI's .
My main issue is that i would like to make the whole project run directly from the raspberry desktop, without having the user open a terminal or the python script, and having been going round in circles as how i can maybe make this happen and cannot seem to find or not looking in the right direction, my raspberry pi is running on raspbian.
I would appreciate if anyone could direct/suggest me on what would be the best thing to do or else to point me to any step by step tutorials so as to make the project easily accessible for autistic children. Thanks.
Click to expand...
Click to collapse
Make your script executable with the command:
chmod +x script_file_name
Then create a desktop icon for it by following these steps:
1. Create a "somename.desktop" file in your user's Desktop directory. (like /home/pi/Desktop)
2. The contents of the file is as follows.
[Desktop Entry]
Type=Application
Name=Somename-which-represent-your-application
Exec=/path/to/your/executable/script/file
Icon=/path/to/your/icon/file
Terminal=false
3. After this, if you double click on the icon on Desktop, the application starts automatically.
Got this from the raspberry pi forum written by the user Srinivas.
PROTA Pi is a new operating system for Raspberry Pi. Raspbian, Raspbmc, or work-alike are great but PROTA takes a different approach on the fundamentals: it installs and operates apps with a click, connects and controls electronics including GPIO of the hardware, and integrates web services with open APIs. All from a Pi that can be accessed privately or openly via internet.
PROTA OS for your Pi takes only a few steps to download and experience. Download now and receive PROTA Pi OS for free.
Download OS image from shop.myprota.com/en/download.html
Enjoy PROTA
Share your experience via blog, forum, or SNS
Let us know via [email protected]
Receive a license for free
To learn more about PROTA, visit the blog below.
thenaran.blogspot.kr/2015/01/prota-new-class-of-operating-system-for.html
PROTA Pi is the OS of potential but it needs your help.
With your aid on PROTA forum, we’ll try our best to keep you posted.
Awesome!
Very Interesting Im downloading the PI image now, I've a B+ and today ordered a Pi2 =)) Im working for a long time on a Open Project called Souliss, it works over Arduino but we've now native integration to Openhab, Im interested to create a plugin to work with Prota, I'll talk to the development comunity about it
wisperingyou said:
PROTA Pi is a new operating system for Raspberry Pi. Raspbian, Raspbmc, or work-alike are great but PROTA takes a different approach on the fundamentals: it installs and operates apps with a click, connects and controls electronics including GPIO of the hardware, and integrates web services with open APIs. All from a Pi that can be accessed privately or openly via internet.
PROTA OS for your Pi takes only a few steps to download and experience. Download now and receive PROTA Pi OS for free.
Download OS image from shop.myprota.com/en/download.html
Enjoy PROTA
Share your experience via blog, forum, or SNS
Let us know via [email protected]
Receive a license for free
To learn more about PROTA, visit the blog below.
thenaran.blogspot.kr/2015/01/prota-new-class-of-operating-system-for.html
PROTA Pi is the OS of potential but it needs your help.
With your aid on PROTA forum, we’ll try our best to keep you posted.
Click to expand...
Click to collapse
Thx for download link.
Is this dead?
There is no longer a download link, the linked page does not even exist anymore. Has this died?
kd7eir said:
There is no longer a download link, the linked page does not even exist anymore. Has this died?
Click to expand...
Click to collapse
it does. look here. it uses its own box for their "system".
updated download link
kd7eir said:
There is no longer a download link, the linked page does not even exist anymore. Has this died?
Click to expand...
Click to collapse
The project is still an ongoing project.
The download page has been updated.
prota.info/downloads
We are also preparing a new release, Prota OS +.
Please have a look at the above link.