I'd suggest dropping any "alpha" or "beta" in the version string and treating "1.1.1" as the first public release. Use "1.1.0" as a prefix for pre-release versions and use a fourth number as your build number, like 1.1.0.123. The download page can explain the basics of this scheme so that newcomers don't assume it's a stable version.
This has the virtue of not requiring any knowledge in downstream packaging systems about the strings you'll use to denote various generations of prerelease. For example, RPM won't need to know that "1.1.rc1" comes before "1.1.0". (Building that kind of logic into every packaging system is a pain, when you consider that every upstream source names things differently.)
It also means that the public release won't be the buggy "dot-oh" that so many admins are accustomed to, but rather the dot-oh after all the known issues have been squeezed out, hence a dot-one. (Ie. it's a marketing trick to encourage adoption. ;))