Preamble Page Still Under Development
Joomla! 2.5 is the latest incarnation of the open source CMS (Content Management System) a CMS is a way of managing data behind some of the most dynamic websites on the internet.
Think of websites that host Blog sites that host the blogs of multiple bloggers.
Or travel tourism sites that host feedback from holiday makers.
Joomla! is built on a LAMP Server and while this is available on another page it is copied here to save you jumping around pages.
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.
However to have a copy of Jooomla! to play with you do need MySQL and PHP5 you will also find it easier to migrate Joomla! if you have an FTP server running and using Putty to log into the RPi with SSH to set things up.
I recomend the FTP server vsftpd (there's a faf setting this up but I will guide you through this).
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 said I was opening up a "world of pain" for the noobs when I suggested LAMP ; I will be interested in the noob viewpoint post on the forum.
I would say "Caveat Emptor" but then it's all free so is supect it's just "Caveat"
Image The latest Wheezy (Currently 2012-12-16 then run and sort raspi-config as per your prefrences don't setup automatic start GUI also don't disable ssh if you are going to folow my method.
Remember if you get lost in this and give up re-image your SD Card and you can use it for whatever project you move on to.
I have built the project on a 4 Gig Class 4 Sandisk SD card obviouslyif you want to persue this to a bigger project then obviously a bigger card is an option and it may work on a 2Gig but thats a project for later.
Install Steps Post Raspi-config
login:pi password:raspberry #unless you have changed it sudo su apt-get update apt-get install apache2 apt-get install php5 apt-get install mysql-client mysql-server apt-get install php5-mysql php5curl apt-get install vsftpd cd /var/www pico index.html do a bit of editing to personalise the file [Ctrl][x] [y] [Enter]
figure out the IP of theRPi assigned by DHCP put that IP address into your browser LAMP achieved
Ok there's a bunch of editing to get the FTP working (but it does) it fit's on a 2GB SD card and I don't think you will get a lot of web space forJoomla! stick it on a 4GB give yourself some room.
In addition I have not got a fixed IP sorted so I can port forward with confidence and there should be room to get a No-ip patch running I run NO-IP .com on a full Ubuntu server elaswhere on my router the aim of this setup is not to run Joomla! on the RPi in anger but to run it to learn how to setup a Joomla! site.
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 4GB Class4 will do, 8GB better if you plan building a big site.
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
apt-get install php5-mysql php5-curl
This is a couple of chunks of install that allow php to interact with MySQL
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 (Lauughs 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