The former Rangers number one reached agreement with the Turkish outfit after undergoing medical tests in
The club confirmed on its official website: "According to a club statement issued by
Speaking in an interview with BJK TV, shown on STV, McGregor said: "It's a big club, with a big tradition.
"Supposedly, they have great fans and a lot of noise in the stadium so I'm very excited.
"Every time I play, I don't like losing, which is a good thing to have.
"I'll just give my all for the team and hopefully I can do my best."
The 30-year-old had been looking for a new club after leaving Rangers when it was consigned to liquidation.
The Rangers newco, which McGregor declined to join, will dispute his right to move but the goalkeeper's former team-mates who followed the same route have been granted temporary transfer certificates by FIFA ahead of arbitration over possible compensation.
Like Rangers, Besiktas failed to meet financial criteria to gain a UEFA licence and could not take its place in this season's Europa League.
Porto has agreed to sell highly-rated duo Joao Moutinho and James Rodriguez to ambitious French club Monaco for a combined fee of 70 million euros ($93.83 million).