"Collecting the data from GPS and send it to the Server."
I see the "and send it to the Server" part of the code. I do not see any "Collecting the data from the GPS" code.
Are you sure that you are using the right AT commands with the right arguments?
// Gets Local IP Address
Serial.println("AT+CIFSR");
delay(2000);
I don't see how sending a command to the modem GETS anything.
Are you using the Serial port to talk to the modem OR to talk to a PC? It looks to me like you are trying to use it to both. That is NOT possible.