RPi A Simple Wheezy LAMP install
'Over on the forum there's some that say this is an option far too advanced for a noob... If you're feeling adventurous what do you have to lose?
LAMP is an acronym that stands for LinuxApacheMySQLPHP these are the components required to run a Dynamic HTML webpage and these are the first steps to build a LAMP webserver on a RaspberryPi.
If all you want to run is a basic webpage then the update and apache2 is all you need to install. All the other stuff is extras. If however, at some later date, you want to explore the dynamic stuff you're going to need PHP and, at some point, MySQL.
If you want to explore the option of having forms on your web pages posting you e-mails of the filled in data you're going to need postfix (and the faf of setting this up).
If you want to try incorporating Java (and I have not tried this) you need tomcat.
If you're interested in trying out an FTP server you're going to need vsftpd or somthing like it. (there's a faf setting this up too)
Please do not be complacent - most of this stuff will need quite a bit of setting up but these installs will put the software in place and the default setting files ready to edit.
There's voices on the forum say I am opening up a "world of pain" for the noobs; I will be interested in the noob viewpoint.
I would say "Caveat Emptor" but then it's free so is supect it's just "Caveat"
This assumes you have a Raspberry Pi which is working (i.e you can either view it and interact with it using HDMI/Keyboard & mouse) OR you have set it up and can "SSH" into the computer.
Either way, you have to access the command line. If you're SSH'ing into the Raspberry Pi, do the following:
ssh pi@XXX.XXX.XXX.XXX (Replace XXX with the Raspberry Pi's IP address) Enter your raspberry pi's password.
Then enter the following commands (enter each line, followed by the return key. Some commands can take longer than others to complete. Some may ask you to press Y to continue.
sudo su apt-get update && apt-get upgrade apt-get install apache2 php5 mysql-client mysql-server tomcat6 vsftpd cd /var/www nano index.html
The last command allows you to edit the default and basic page. Change the contents (if you wish) and press
CTRL + O (press Y) CTRL + X
Now you can go to a web browser on another computer, and enter the Raspberry Pi's IP address as the address, and you now have a working server!
To test that PHP is working, I suggest heading back into the terminal and typing the following:
sudo nano /var/www/test.php
In this document, enter the following:
<?php phpinfo(); ?>
Again, to exit this document, do the following:
CTRL + O (press Y) CTRL + X
And again, head to your web browser, enter the Pi's IP address, followed by /test.php (i.e http://192.168.1.10/test.php)
In order to let your php scripts access mysql, you will also need to run the following
sudo apt-get install libapache2-mod-auth-mysql php5-mysql
Ok there's a load of editing to get the FTP working (but it does) and there's the stuff to get postfix sorted but it fit's on a 2GB SD card and I don't think you will get a lot of web space stick it on a 4GB give yourself some room.
In addition i've got fixed IP sorted so I can port forward with confidence and there should be room to get a No-ip patch running but thats borderline on space.
Nearly forgot Win32DiskImage read to create a new image file so you don't need to do it all again.
Here is an explination for our Noob readers.
I hope you know that this is about preparing your SD card for the coming events 2GB will do, 4GB better
This is primarily about making all of the SD card available (resizing thing) there's a wiki page of its own on this step.
login:pi password:raspberry #unless you have changed it
Yes if you changed the password when you were in raspi-config you will need to use that new password
Make yourself root the super user for the duration of this session.
Get the updates for the install program some of the later installs won't happen if you do not do this.
apt-get install apache2
Install the web host software Apache current version is 2
apt-get install php5
Install a version of PHP current version is 5
apt-get install mysql-client mysql-server
Install the MySQL stuff
At this point you have a LAMP install LinuxApacheMySQLPHP but to be fair you need some other stuff to help Below are additional packages you can install
apt-get install tomcat6
This is server side Java
apt-get install vsftpd
This is a FTP Host
Change Directory to /var/www Note the slash direction, the leading slash and the space after cd
Start the text editor pico (Alternatives vi and nano my personal pref is nano but instructions follow for pico)
do a bit of editing to personalise the file index.html in the www directory by default this is the automatically added test page for Apache2. If you type some new stuff in here then when you load the page from a browser you will know you have the right page and it's worked because you will see the text you added.
Command to exit pico
execute command as Picard would say "Make it so"
What to do next
Now you need to figure out the IP of the RPi assigned by DHCP. If you have a HDMI or Composite monitor it's on one of the last lines as you boot; if you have come to this page because you completed the blind login you will know the IP as it's the address you typed into Putty.
Type that IP address into your browser. Note, it must be on a computer attached digitally or physically to the same router as your RaspberryPi as this is your intranet, not the internet - that slight change in spelling implies you are inside the router barrier.
Ok there's a load of editing to get the FTP working (but it does I got it working with FileZilla) and there's the stuff to get postfix sorted but it fit's on a 2GB SD card and I don't think you will get a lot of web space stick it on a 4GB give yourself some room.
In addition I have got fixed IP sorted so I can port forward with confidence and there should be room to get a No-ip patch running but thats borderline on space.
My No-IP runs on my big (Laughs 80GB) Ubuntu server.
Port forwarding is something very Router/Hub specific but if you do manage it then your LAMP will shine on the Internet
It is unlikely to be bright at this time but shine it will.
Nearly forgot shut down take out your SD card and use Win32DiskImage read to create a new image file REMEMBER GIVE IT A NEW NAME so you don't need to do it all again