For any category C and topological space X we have the notion of a C-valued presheaf on X.
What assumptions must be made about C in order that we have the notion of such a presheaf being a 'sheaf'? I understand the definition of the sheaf properties using an equalizer diagram which assumes C has products and a final object. Is this definition 'standard'?
Secondly, the definition of a sheafification of a presheaf in terms of the obvious universal property makes sense for any category C (for which the notion of sheaf makes sense). But what assumptions must be placed on C in order for such a sheafification to exist? For presheafs of sets I know the construction via the étale space of the presheaf (namely, the sheafification can be constructed as the sheaf of sections of the projection E->X of the etale space E onto X). This construction works in general right?

