both. You need to train the body to run long distances, the only way to do so is to, well, run long distances. You also need to build up an aerobic base. To do this, you need to run for time. A long time. Like an hour to an hour and a half. If you only cover 2 kms in that time, so be it.
You also need to increase your speed. For this, you need speed training: wind sprints/Fartleks.
Further, you need to teach the body HOW to run. Best thing for this is hill training. It teaches you to lift your feet and knees, and pump your arms, while still relaxing the upper body, and 'leaning in' to the run slightly, as well as putting that 'spring' into your step off.
Finally, you need rest in order for the body to recuperate.
A friend gave me a program that has never failed me, or anyone else who has followed it. (He's one of those weirdos who thinks marathons are fun.) Here it is:
Day 1: time/distance. Run for an hour at a comfortable pace. You should be able to carry on a conversation with little effort.
Day 2: wind sprints/Fartleks. Start with sprinting 50 meters, and jogging for 150. Over time, reduce the jogging distance, and increase the sprinting distance.
Day 3: hills. If you live in Sask, try to find a long set of stairs.
Day 4: off.
Start cycle over.
Luck.