Maybe it is useful. For the mainnet you can follow the steps to install the geth client "Full Node on the Ethereum Mainnet" https://github.com/ethereum/go-ethereum. And on the command line, when starting the client geth, add txpool to the --http.api section (or the deprecated --rpcapi depending on the geth version).
This will allow you to access ...
How do I connect my web application to my locally hosted geth node?
You don't. You need to provide a public Ethereum node to your users yourself or with a service like Infura.
Here is a service provider list:
I don't know what was the case in the past but nowadays Infura seems to be pretty reliable when it comes to retrieving old Logs produced by events.
In fact, with the script below you will be able to retrieve the only Log(and probably the first one ever created) in block 52029, which was mined on Aug-08-2015
var Web3 = require('web3');
var web3 = new Web3(new ...