You can deploy a JSF Web application in a Web server or an application server that supports JSP. For example, Apache Tomcat, JBoss.
You can use an IDE like Eclipse to edit the generated Java classes, and use the Eclipse WTP (Web Tools Project) to edit JSF pages and face config files.