How can I exactly use both the rpc API of Bitcoin and the rpc API of Bitcoin cash on the same server or machine? I've looked for an exactly answer but I really couldn't find it.
So can someone let me know the why of doing what I'm asking correctly?
if you don't have Bitcoin-core and bitcoin cash already installed alongside, follow my answer in here to install Bitcoin-cash alongside Bitcoin-core.

It's so important creating a different username than bitcoin username because bitcoin and bitcoin cash use the same directory.

Now login to Bitcoin username and edit this file ~/.bitcoin/bitcoin.conf

so it becomes like that:

rpcuser=myusername
rpcpassword=myRPCpa$$word
daemon=1
server=1
rpcport=5345


in here we are using different RPC port to bitcoin core. to know more about bitcoin config see this website.

Now, do the same thing to Bitcoin-cash, and everything should work as it supposed to be. 

if you have a firewall enabled, don't forget to allow chosen ports.