Missiles are the only weapon type that use ammo, railguns and gauss cannons don't and neither do any of the energy weapons.
To make a missile supply ship (collier), you need a ship with magazines that's set as a collier by checking the collier button in the top right of the ship class design window (under tanker). Keep in mind that a collier, like any ship with a magazine, counts as a military ship, so you'll have to built it at a military shipyard, limiting you in size a bit.
Once you have a collier, you can either attach it to the same fleet as your missile ships or have it pick up and deliver ammo manually.
If you do the first you can choose the fleet in the Task Groups window and have it 'Reload Own Fleet from Colliers', which will load any appropriate missiles from the colliers in the fleet to the magazines of your missile ships. This is done instantly and you can use it freely in the middle of battle. Just keep in mind that your colliers may be squishy, depending on your design.
To use it to supply a separate fleet, you'll have to have it load its ordnance by having the appropriate missile loadout set in its class design window (the Preferred Magazine Loadout in the Ordnance/Fighters tab) then use the 'Load Ordnance from Colony' task group action on a colony that has those missiles available or by loading ammo from the colony in that collier's Individual Unit Details window (the green ship in the systems maps task bar, then the Ordnance Management tab, in Magazine Contents the top right drop-down menu choose Population, any missiles the colony that the collier is at has will be shown there). Then once you have the missiles have it use the 'Provide Ordnance Reload for' task group action on the fleet you want to supply. Make sure you have the Task Groups box checked in your Task Groups window (just under the Task Group Orders tab) to be able to see your own task groups. Alternatively you can use the Individual Unit Details window again to load each ship manually from the collier.