Hmm. From one point of view, you can dump all the configuration into one httpd.conf file, but this would be... hard to read.
Most distros will divide up the configuration by having httpd.conf include subdirectories. You may want to look at distro-specific documentation, for example:
https://help.ubuntu.com/12.04/serverguide/httpd.html
For Ubuntu, the Apache configuration directory is /etc/apache2. The primary subdirectories for your organizational convenience are conf.d, mods-available, mods-enabled, sites-available and sites-enabled. You would keep your module configuration in the mods-available directory, and your virtualhost configurations in the sites-available directory. Note that the *-enabled directories contain symlinks to the corresponding *-available directories, so you can keep a bunch of things floating around in *-available, but only activate them by symlinking from the *-enabled directory. The master httpd.conf file will do an include of what's in the *-enabled directories.
RHEL/CentOS doesn't work that way, and leave it somewhat more up to your discretion on how to set up the /etc/httpd base directory. You can dump everything into /etc/httpd.conf; you can create a similar directory structure to Ubuntu (and modify httpd.conf to include the *-available directories that you've made), or some combination thereof.
So, you may want to check your distro's documentation first. As you'll see with the Ubuntu one, they provide links to other resources.
Best Answer
It is harmless. You can ignore it. It is a zombie process. The man page for
ps
hasSee also the Wikipedia page on Zombie process.
If you really want to get rid of it, restarting apache2 may do the trick. Rebooting the machine will certainly make it go away, but that is definitely not necessary.
This question is similar. - How can I kill a <defunct> process whose parent is init?