You have to convert it to 35 seconds long and in m4r format.
You can buy from iTunes or DIY using iTunes.
1. Select a title (.mp3 or .m4a) in your iTunes Library
2. Do File > Get Info on selected title (Windows do Edit > Get Info)
3. In the dialog choose Options tab
4. Set Start Time and End Time (no more than 35 secs otherwise won't work)
5. Close dialog.
6. Now control click the title (right click) and choose Create AAC Version
7. When it is done, drag the newly create title to the desktop.
8. Delete the newly create title in iTunes.
9. Rename the title on your desktop from ringtone.m4a to ringtone.m4r
10. Drag and drop it into iTunes
Now you have a ringtone.
Make sure it is selected in iTunes for syncing with your new iPhone.