I would say, "How long have you had that camera?" "Have had" is present-perfect tense ,which is used for situations that started in the past but continue into the present. Here we are assuming that the person got the camera at some point in the past, and they still have the camera today.
"How long do you have that camera?" - This would not be correct because since it seems to be mixing two types of questions. The auxilliary verb "do" is generally used for Yes/No questions, "Do you have that camera?" Since the question begins with "How long" we are not looking for a simple yes/no answer it doesn't make sense to add the auxiliary verb "do"
It would be possible, however, to say, "How long did you have that camera?" for a situation in which the person got the camera at some point in the past, but no longer has it and the questioner wants to know the length of time when the camera acquired and when it was disposed of.
"How long are you having that camera?" and "How long have you been having that camera?" Neither of these is correct because the "ing" ending indicates a progressive or continuous verb tense. Progressive tenses are used when we want to indicate events that are happening at specific moments in time. "Are you buying that camera now?" "Were you using the camera yesterday?" "Have you been using the camera since I asked you not to?" "How long had you been using the camera when the battery died?" Since the purpose of the question is to find out the total time period that the person has been in possession of the camera, it wouldn't make sense to use the progressive tense.