First off, you'll need to have full access to your server, because you need to be running a Bitcoin-node (constantly) connected to the Bitcoin Network. So a simple shared server won't cut it. You could connect to your remote Bitcoin-node. But in that case, you still need a server to run that node.
The programmer's way:
- Install and run a Bitcoin-node on your server. HOW
- Learn how to use JsonRPC in your preferred programming language.
- Use the API to program your own virtual wallet.
(basically how all online wallets more or less function)
The lazy programmer's way
- Install and run a Bitcoin-node on your server.
- Use a third-party DIY self-hosted wallet, like Coinpunk
(Note: as indicated on the website, such projects are still very beta. Careful.)