This tutorial will walk you through the technique for hand-sewing a perfect medieval buttonhole appropriate for use on European 14th and 15th century clothing (and probably 13th century clothing — there were buttons then too.)
You will need a sturdy piece of fabric or better yet, two pieces laid together, in silk, wool, or linen (or combination thereof, to simulate garment and lining fabrics).
You will also need snips, a needle with an eye large enough to fit embroidery floss through, and some embroidery floss. (See this blog post for my recommendations on floss for buttonholes.)
The sewing of a good medieval-style buttonhole takes practice. I recommend that you sew a number of them on practice fabric before attempting them on your actual garment.
Another tip: sew your buttonholes from the bottom to the top when they are placed on the center-front opening. That way, if the first one is a little dodgy, it will be less noticeable. For sleeve buttonholes, I recommend sewing from the cuff inward, to ensure proper placement of the holes. If your placement goes off, better that it occur at the inside end, than at the cuff.