It's quite frustrating how in Stronghold 2 units cannot travel over water. However by using the Shallow Water trick, this very quickly becomes a reality! For ease of use however, just like with bridges over canyons, I strongly recommend creating shallow water near the start of your map. This is not because it necessarily causes any difficulties later on, but just rather that it is easier to plan out your map by doing this first.
You may wonder first of all what the benefit of this tutorial is since you can create shallow water with the passable water icon. The simple benefit of using this tutorial over only the passable water icon is that this tutorial prevents additional bugs or potentially unwanted behaviour, such as troops walking through the middle of forests. Another point to note is that although troops will walk through shallow water, peasants will not.
First of all, place a section of raised terrain at any height you would like.
Next, you should place water on it. Note that since Sea can only be placed on the valley floor, this will only work with river.
Here, you want to go back to the terrain menu. Select the lowest terrain height (the valley floor) and select the passable water icon (left of the grid icon). Now lower the terrain you want troops to walk over, and you should be left with your river floating in mid-air:
Now place water anywhere on the map, and your river will fall to the valley floor. You can delete this afterwards, but this is the only way to make it drop to ground level.
Now create the rest of your map as normal!