I use the stock Gmail app... open the app into any account listing your emails > Menu > More > Settings > select an account > scroll down to the bottom and select "Labels to notify" > Inbox > Ringtone > then select a ringtone.
Text messages... I use and have liked to use Go SMS Pro... when you start it the first time you might want to select the Light version, it's quick and easy... then open it > Menu > Settings > Advanced tab > Notification Settings > Default notification settings > Select ringtone... you can also display a different notification LED color and different vibrate notifications. I'm sure there are other apps out there, but I don't believe you can do that with the stock SMS app.
But you could setup the default tone as the SMS tone if you want to use the stock SMS app, and then do the Gmail setup to get a different tone for your Gmail.