12 Mbd over 45 km with a single wavelength with multi-mode fiber will just not happen, due to the physics of light propagation.
Really, really good multimode (OM4/OM5) fiber (that's mainly about consistent geometry) has some 3 GHz·km bandwidth-distance-product at 850 nm, and something like 500 MHz·km at 1300 nm. That means that after 45 km, you get 500/45 MHz in useful bandwidth (before dispersion distorts your receive signal too much). That's actually ca 12 MHz, but you need to account for the fact that your data symbol train is rectangularly shaped and thus needs way more bandwidth.
Also, you get ca 0.5 dB/km of attenuation in Corning OM4 fiber, assuming you have that high quality fiber, so that's 22.5 dB over 45 km - attenuation is really not your problem, and hence, maximum light source power isn't, either.
Really, multimode fiber is the wrong choice here – as the name says, it's got multiple modes of light that can propagate, and hence, you get badly behaving modal dispersion - and dispersion makes your transmit symbols indistinguishable at the receiver.
You can probably, maybe, good luck with that, compensate for that if your receiver was a coherent receiver (which explodes the cost extremely quickly), and your transmitter has the same complexity, and you do the appropriate DSP at both ends to pre-code at the transmitter and de-disperse at the receiver. You actually will put plenty care not to put much power into the fiber – because that makes it a nonlinear medium, and then you get, atop of the dispersion, non-linear effects.