The process is very simple to do. Your first step is to open the Garageband program on your Mac computer (not available for Windows or Linux). Give your ringtone a title. This will be the name that the file will be imported into iTunes with (it can always be changed though in iTunes). There is always a default track already created, the piano sound effect. Delete this by clicking on the file and hitting Apple>Delete. You now have a clear slate and are ready to import your song.
You can do this a couple ways. If you want to create a personalized file, just go into Control and select the 'show loop browser' option. Here you can drag and align looped music clips where you want and create your very own custom ringtone.
If you'd rather have a song you like already as your ringtone, it's just as easy, if not easier. There are two ways of doing this. First click Control again and click on the 'show media browser' option. Click on the Audio tab and then the iTunes folder. Here you basically click and drag over the song you wish to make into a ringtone. The other way is to open the finder menu, find the file you want and click and drag the file right into Garageband.
Once your file is imported you now are ready to select the portion of the song you want as your ringtone. The only restriction you have here is that the file can be no longer then 40 seconds long. So to select the parts you want click on the cycle button, which is located on button to the right of the play button. You will see a new bar appear above the sound file. It should be a yellow bar. Extend this so that it is 40 seconds long. You then just drag the whole yellow bar to where you want the ringtone to start. That's all you have to do.