I bet you are a wonderful person and don't know it. Can you see a counselor? They can help you improve your self esteem. There are also self help books on self esteem. You can also work on just writing down affirmations about 10 2-3 times a day to boost your mood and self esteem. For example say positive things about your self or good things that happened to you that day. Like I felt happy, I was hugged, I am intelligent , I was kissed, I saw a beautiful flower what ever makes you feel good at that moment. But you could have anxiety which may require medication The best thing is to talk to a professional or someone you trust. Biofeedback that helps with breathing and the fight and flight response to lower anxiety may help and also acupuncture may help and mediation.
Try working out and meditation,it worked for me :)
You will gain self confidence that way and you will feel more secure.
Be patient with yourself. Line upon line. Precept on precept. Experience life. Live, and enjoy your experience.