When you do a scan for iBeacons on your Raspberry Pi, you need a script to parse out the iBeacon identifiers. My company has posted one here.
The "Locate iBeacon" app just sits there at the Locate iBeacons view with "Looking for iBeacons...". Nothing happens.
You cannot see an iBeacon on iOS unless you first tell iOS to look for its proximityUUID. In your case, you are making the Raspberry Pi trasnsmit with proximityUUID E20A39F4-73F5-4BC4-A12F-17D1AD07A961. You must configure Locate for iBeacon with this proximityUUID for it to be visible.
How can I get my iPhone 5s to advertise itself without having an app running?
Unfortunaterly, you cannot. iOS devices need an app running to make themselves send iBeacon transmissions. If you want the Raspberry Pi to be the receiver, you must have the phone user activate an app and put it in the foreground.
The alternative is to have the Raspberry Pi be the transmitter. The phone would still need an app installed to detect the Pi and measure the distance, but the app could be in the background. When iOS first detects an iBeacon, it briefly launches the app looking for iBeacons into the background, where it can do a quick distance estimate, then request permission from the user to come to the foreground to do more ranging.
Given the iOS security model, I am afraid that is the best you can do. Android is much more flexible for this use case, and an app can do full ranging in the background (although Android cannot act as a transmitter).
Full disclosure: I am Chief Engineer for Radius Networks.