https://libremesh.org/docs/en_quick_starting_guide.html
ubnt's devices are not that expensive and may be the easy way out, unless you really want to do all the firmware testing, equipment in a water-proof enclosure etc. Plus this project is in lack of a web GUI to manage the nodes, you have to use CLI to do that, might be hard to find qualified IT workers in remote areas.
I also agree that point-to-point, or point-to-multipoint might be a better, simpler and more robust way to service the remote areas via wifi.