Please note that User Registration has been temporarily disabled due to a recent increase in automated registrations. If anyone needs an account, please request one here: RequestAccount. Thanks for your patience!--Wmat (talk)
Please email User:Wmat if you experience any issues with the Request Account form.

Raspberry Joomla!

From eLinux.org
Revision as of 13:03, 11 January 2013 by JimJKla (Talk | contribs)

Jump to: navigation, search

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.

List of things you require minimum

Hardware

  1. RaspberryPi
  2. 4G Class4 SD Card (others will do but you do not actually need anything better than this)
  3. Power for your RPi
  4. A setup network connection to your router (Wireless or RJ45 10BaseT)
  5. A Computer with a connection to the internet (for getting software) preferably via the same router as the RPi

Software (note only Windows and Linux recomendations I just don't know Mac options)

  1. A copy of Joomla! 2.5 available here | Joomla! Download page
  2. A copy of a free ssh client (recomend putty) | Putty download page.
  3. A copy of a free FTP client (recomend CoreFTP LE or Filezilla)(not essential but useful if you are not running from a Linux Computer)
  4. Some means of imageing your SD Card (Win32DiskImager or dd)(Note I use Win32DiskImager)
  5. Wheezy 2012-12-16
  6. LAMP install (instuctions further down this page)
  7. php5 extensions for MySQL (instuctions further down this page)
  8. vsftpd (not essential but useful if you are not running from a Linux Computer)


Joomla! is built on a LAMP Server and while installing 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.

Image Wheezy

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.

sort raspi-config

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

sudo su

Make yourself root the super user for the duration of this session.

apt-get update

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

cd /var/www

Change Directory to /var/www Note the slash direction, the leading slash and the space after cd

pico index.html

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.

[Ctrl][x]

Command to exit pico

[y]

confirmation

[Enter]

execute command as Picard would say "Make it so"

What to do next

Well now you are going to need to grab a couple of tools that are going to make your life easier.

Your going to need a ssh client for Windows and Linux I reccomend Putty theres some eqivilent for the MAC I suppose I will have to look this up later if someone knows before can you add that edit here.

As for FTP (File Transfer Protocol)Windows use either CoreFTP LE (FTP client) free for home use or Filezilla if you are using Linux you do not need an FTP instalation stick your SD card into a card reader in your Linux computer and when the time comes use a drag and drop copy to the Joomla! stuff to the apropreate folder.

MAC (I have no idea)

I (personally) have found it easier for this project to run my Raspberry Headless (No monitor,keyboard,mouse) and logged in remotely using Putty. This means I can do everything from one screen one keyboard one mouse. I am using a WiFi connection but it works just as well with a wired ethernet.

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.

Now when it comes to setting up and using putty and the ssh link to your RPi there is a lot more information on using Putty on this page RPi A Method for ssh blind login.

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 and it's hardware fierewall if it has one.

LAMP achieved!

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.

My No-IP runs on my big (Lauughs out loud 80GB) Ubuntu server.

Port forwarding is something very Router/Hub specific but if you do manage it then your LAMP and your Joomla! instalation will shine on the Internet

It is unlikely to be bright at this time but shine it will. However this is about getting a Joomla! instalation to learn Joomla! not as a final solution.

FTP

Ok there is some editing of Linux files to get the FTP working (but it does I got it working with FileZilla and with CoreFTP LE )actually using FTP to transfer files between the PC and the Raspberry has an issue in that there is no root login you access the root (super user using the sudo function)but all yu do is upload to the /home/pi folder and move the stuff around either by logging in with ssh or by booting the pi to command line.

You need to locate the config file for vsftpd this is located in /etc folder in your RaspberryPi file structure the file you need to edit is the vsftpd.conf file the default file has 34 different settings you can change nearly all with impunity nearly all of this editing consists of removing the hash mark (#) from the start of the line changing the line from a comment to something that is active.

vsftpd which stands for "Very Secure FTP Daemon" it largely sets up as anonymous FTP to allow anonymous connections to download from your FTP Server.

But as our aim is to upload from ourselves inside our router space we need to change vsftpd so we can upload.

I know if I work through the vsftpd.conf so that I end up with these lines as shown

listen=YES
anonymous_enable=YES
write_enable=YES
anon_upload_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

Then I am able to use CoreFTP from my PC to login

VsftpdCore setup.png

The Site name is something you choose and just becomes a shortcut lable for the saved settings

Obviously use the IP address your router has given to your RPi

Login pi

Password raspberry (unless you have changed it)

Your core window should look something like this

VsftpdCoreWindow.png

Upload

Now this is all well and good but you now need somthing to upload namely the Joomla! instalation (TO BE CONTINUED)

Make a Backup

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