Héberger = Mettre ses fichiers sur un serveur.
Un serveur = une machine distante (ou non), qui traite des requêtes.
Dans ton cas, tu aura besoin d'un hébergement mutualisé, c'est à dire que vous serez plusieurs sur le serveur, avec chacun un espace disque définit et une limitation dans les ressources CPU et RAM à utiliser.
Tu dois pouvoir trouver des offres gratuites mais une solution payante reste préférable (quelques euros par mois en général).
Quant aux logiciels, je te conseil bloc note pour commencer. Parceque c'est pas avec l’auto-complétion qu'on apprend à coder.
Ensuite, en fonction de ton environnement de travail, tu trouvera diverses solutions plus aboutis (Zend Studio personnelement, Coda sous Os X, et bien d'autres).
Dans tous les cas, comme je t'ai déjà dis, monte ton projet clairement. Le serveur et l’hébergement c'est ce qui viendra en dernier lieu.