Using only iTunes, you can create a 30 seconds ringtone from any MP3 file on your PC/Mac as long as it is not DRM protected (copy protection).
1) Open the MP3 song in iTunes. Listen to it and write down the start and stop time of the portion (make sure it's 30 seconds or less) for your ringtone.
2) In iTunes, right click on the song and select 'Get Info', go to 'Options' tab and key in the start and stop time. Click 'Ok' and play the song to preview your ringtone :)
3) With the song selected, Go to 'Advance' -> 'Create AAC version'. This will create a copy of the ringtone portion just below the original song. Right click on it, select 'Show in Windows Explorer' or 'Show in Finder' to see the actual file in harddisk, copy the file to desktop. You may go back and delete the ringtone in iTunes.
4) In desktop, change the file extension of this file from .m4a to .m4r. Double click on it to add it into your iTunes' Ringtones section.
5) Finally, connect your iPhone and sync your ringtone! Make sure 'Sync Ringtones' is checked.
6) In iPhone, your new ringtone can be seen in Settings -> Sounds -> Ringtone -> under 'Custom' section. If you can't see it, try restarting your iPhone. Good luck!
PS: Remember to reset the start and stop time in Step 2 after you're done, otherwise your original song will still be 30 seconds long :)