I have recently installed a custom ROM and cannot find the Play Store. It seems like all apps that belong to Google are missing.
How can I install the Google Apps Package (Play Store, ...) on my Android device?
Only Android devices that are licensed by the Open Handset Alliance contain the so called Google Apps. Usually people associate apps like Google Maps, Google Play Store, etc. with Android, but because of the open-source nature of Android, manufactures can sell Android devices without Google Apps and therefore avoid to pay the license fee.
At first cyanogenmod shipped its ROM with pre-installed Google Apps. In September 2009 the founder of Cyanogen received a cease and desist letter from Google, demanding that the Google Apps not be included in the team's ROMs, since the ROM could be ported to devices which are not licensed to have the Google Apps. In turn, that would bypass the requirement for the devices to be licensed. For a few days, development on the ROM ceased, there were outcries from Android users all over the Internet, and many bloggers suspected Google had just shot itself in the foot.
Eventually, an alternate method was found, whereby Google Apps are not included in the ROM proper but the Google Apps which came with a device would be backed up by the device's custom recovery or another app, and then re-installed onto the device once the new ROM was flashed. This would therefore "Google-ify" one's ROM.
First download the package corresponding to your version of android. Currently (november 2015), there are several "distributors" of Gapps available. Each typically offers a set of packages per android version, each package with more content. The apps in the packages range from a lite package with the basic apps (~100MB) to all of googles apps(200+MB). The applications themselves are untouched.
If you don't want to or cannot root your device:
You may first need to flash a custom recovery (like CWM or TWRP) using a PC tool such as Fastboot or Odin/Heimdall. This flashing in turn may require an unlocked bootloader on the phone.
Some stock recoveries will let you "update with adb". Just install adb, then adb command to install is:
adb sideload gapps.zip--assuming the package is in the adb folder and is called gapps.zip
You may also install a custom recovery like in the unrooted case. Root typically allows android apps to flash a new recovery (i.e. without a pc).
Install a ROM with the Google Framework, if it exists for your device. Though many ROM developers have followed CyanogenMod's example of separating distribution.
If you flash a Gapps ROM, it may be possible to re-flash with another non-Gapps ROM afterwards while retaining the Gapps. This assumes the android versions are compatible. Most users capable of flashing a ROM will be capable of flashing Gapps separately.
As detailed in the FAQ, download the appropriate gapp from this site
Then install it using recovery.
I wanted to add to this as there is no link to where to get the GApps. The newest group is Open Gapps. These do not work with EVERY custom ROM, but the vast majority (and those based on AOSP should work).
Open Gapps: http://opengapps.org/
This site is awesome because when loaded you get a basic UI with a couple selections that allows you to specify what you want (some packages have more google apps, others have less), they even have an option to include the Aroma Installer version which when flashed in TWRP or clockwork will actually bring up a menu system which you can tap to make selections of which apps and which settings you would like at the time of the install! Of course it is large as it includes everything, but it can be nice to be able to customize the gapps install as you are installing it (and yes it has the ability to save your selections for future installs at the end of the setup UI it will ask if you want to save your selections. If you do future installs it just opens the UI and you tap to load the saved file and done).
Open Gapps has help ?s all over and documentation on their site to help you with many questions.
Cyanogen MOD has their own version of Gapps (page lists gapps packs for every version of CM ROM from CM4+ on this page. Note that as of CM11 CM Roms can now flash Open Gapps.):
(looks like as of CM13 they have stopped their custom Gapps zips and now fully use Open Gapps).
With these 2 links you should be good to flash GApps with just about any version of Android (I can not account for a severely custom job done by someone that may not work with Open and/or CM GApps, as we know what happens when we assume in the tech world!).