Create view gallery, with page for every image
If I understand the question properly, something like this should work...

if the url is user defined, create a field using URL. If not, the answer depends on the requirements of the URL.

1 per page: set the pager to limit 1 per page

Link:


add the link field, set to exclude from display
add the image field as normal, exclude from display
create a Global Text, with  tag, using the image field and link field as replacement patterns