Porter, who was the Washington Nationals third base coach this season, replaces Brad Mills, who was fired last month. Tony DeFrancesco has served as interim manager.
Porter will lead the rebuilding effort of a young team that has the worst record in the majors, wrapping up its second straight 100-loss season. The Astros are in their first season under new owner Jim Crane and moving from the National League to the American League next year.
The 40-year-old Porter has previously worked as Arizona's bench coach and third base coach for the Marlins.
He played parts of three major league seasons with Texas, the Chicago Cubs and Oakland.