There are multi mouse button instructions here and xorg.conf info here.
Essentially, you mess around with xinput. (Or imwheel for more options.)
First, open a Terminal. List your input devices:
# show all input devices
You'll get something like this:
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Microsoft Natural® Ergonomic Keyboard 4000 id=11 [slave pointer (2)]
⎜ ↳ Evoluent VerticalMouse 4 id=12 [slave pointer (2)]
I have an Evoluent VerticalMouse. You can see the identifier number is 12: "id=12".
I can test my mouse with:
# show all input from device with identifier number 12
xinput test 12
Now when I move my mouse or click, I get output in that terminal telling me what button I pressed. Hit Ctrl-c to end the test.
If your back/forward buttons aren't giving you output, try resetting your button map to the default with set-button-map. Note that I'm using my device name that was output by
xinput set-button-map "Evoluent VerticalMouse 4" 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Now try running
xinput test with your id. If you're getting correct button responses here, then you just need to figure out the mapping you want and update your xorg.conf. (I don't know how to do that yet.)