A friend gave me two old computers. Between them, they have 4 x 3GHz, 4GB of memory. Their OS is Ubuntu server with LAMP. At the minute I have one static IP, but I can get additional ones for £120/yr each.
The website is written in php using Symfony framework. I don't know what else is useful to mention.
I want to do load balancing in case a server goes down, or in case I want to add servers as the website scales.
The problem is I have no experience with this, but I have been told it can be done using software or DNS (and perhaps there are other ways too?)
If I understand your situation correctly you are connecting the servers over one static IP on your home or business location. In that case it is not possible to use DNS load balancing. DNS load balancing uses a unique IP address for each server where your site is located which are then at random distributed to clients. Because you have only one IP address, this is not an option.
What you can try to do is to configure one of the computers as a load balancing router which accepts all request from your outside IP address and then distributes the requests over the internal servers.
But personally I would think the effort you would put in wouldn't be worth it. Your weak point currently is the single internet line coming in and any downtime there can't be compensated by load balancing on the server side.