You have to create a file called Bitcoin.conf in the directory that is in the same place as your blockchain database. In the file, you have to include these:
server=1
rpcuser=SomeUserNameButDon'tUseThis
rpcpassword=ARandomAndSecurePasswordAndTodayIs8/7/2017
Use rpcauth.
https://github.com/bitcoin/bitcoin/tree/master/share/rpcuser
https://github.com/bitcoin/bitcoin/blob/master/contrib/debian/examples/bitcoin.conf
using the output from the script in share/rpcuser/rpcuser.py after providing a username:
./share/rpcuser/rpcuser.py alice
String to be appended to bitcoin.conf:
rpcauth=alice:f7efda5c189b999524f151318c0c86$d5b51b3beffbc02b724e5d095828e0bc8b2456e9ac8757ae3211a5d9b16a22ae
Your password:
DONT_USE_THIS_YOU_WILL_GET_ROBBED_8ak1gI25KFTvjovL3gAM967mies3E=
On client-side, you add the normal user/password pair to send commands:
rpcuser=alice
rpcpassword=DONT_USE_THIS_YOU_WILL_GET_ROBBED_8ak1gI25KFTvjovL3gAM967mies3E=
You can even add multiple entries of these to the server conf file, and client can use any of them:
rpcauth=bob:b2dd077cb54591a2f3139e69a897ac$4e71f08d48b4347cf8eff3815c0e25ae2e9a4340474079f55705f40574f4ec99