Open up for registration. Keep registration open until the date of the show. Registration costs the price of the ticket. As the show comes close, for as long as there are tickets not sold, randomly select some people every day who receive a ticket. On the day of the show, refund -- with interest -- the money of the people who were never offered a ticket.
I've never understood this obsession with first come, first served for extremely limited resources. Due to technical limitations it pretty much always turns out to be a lottery anyway, and we would save both customers and sysadmins trouble by explicitly turning it into one instead.
(Back in the days when it required camping outside the ticket office, it instead unfairly favoured those with lots of time on their hands, and/or lots of money.)
(I'm assuming "fair" here means that everyone has an equal chance, uncorrelated with any other aspect of their life. A random selection is the only method that can guarantee this property.)