1.Who needs a visa?
Citizens of Bhutan and Nepal don't need visas for India. Citizens of Maldives can get visas on arrival. All others need visas, which can be obtained in Indian High Commissions, Embassies and Consulates Abroad.
2.How to get it?
It depends on the nationality of the applicant. Citizens of Poland, Mongolia, South Africa, Bangladesh and a few other countries get free visas.
Embassies & Consulates, of the country abroad and in the country
India has diplomatic representation in most countries. In case your country doesn't have an Indian diplomatic mission, you can send your passport by post to the mission that is responsible for Indian visas from citizens of your country.