A person who hates or is afraid of homosexuals or treats them badly.
A person who has an extreme or irrational fear of homosexuals.
This is the meaning it's taken on now and it's not possible to reverse it. If we were to only look at the roots, 'homophobe' should mean 'an irrational fear of homogeneity' or perhaps 'a person sharing the same phobia as another person', since there's no 'sexuality' root in the word.
The definition of phobia is an extreme or irrational fear of something. So if you add "Homo" as a prefix it becomes the extreme or irrational fear of homosexuals.
I don't see how a phobia is hate. If someone hated spiders but wasn't scared of them, I wouldn't call them an arachnophobe. A better word for someone who hates a group is a bigot. Why not make the word homobigot? Seems to fit better than a phobe.
Nowadays, people take it to mean a person that hates gays. However, a phobia is an extreme and irrational fear of something, and therefore a homophobe is someone with an extreme or irrational fear of homosexuals.