For apache to start, there should be somewhere an:
/etc/init.d/rc
x.d/S
xxapache2
that symlinks to the /etc/init.d/apache2
If you don't have one of those, then it's possible that it is being started somewhere else.
The way it works AFAIK is that each directory has S
xxProcess symlinks that start the processes which are set to run in this runlevel and K
xxProcess symlinks that stop the services that should be shut down when
leaving this runlevel. When you enter a runlevel, all the kill (K*) scripts from the previous level are run in order of their number and then all the start (S*) scripts for the current runlevel are executed, also in order by their numbers.
reference:
http://www.comptechdoc.org/os/linux/...unscripts.html
There are also other scripts that affect startup such as /etc/inittab and the rc.sysinit and you can add commands into rc.local, which gets run last. If something isn't set to start in a given runlevel but it starts anyhow, it's probably somewhere in one of the main scripts, or is being started from another processes' script.
Most distros, and likely SuSE as well although I don't have experience with it, will also usually run the other scripts referenced in generic Linux documentation and if they don't exist you can create them. If that was confusing, what I mean is that if there is say no rc.local you can simply create it in the right directory and it will be used.
If you can't figure out where apache is being started from, and can't find any S
xxapache2 symlinks, try one of these searches:
Code:
grep -R apache /etc/init.d/*
grep -R httpd /etc/init.d/*
I hope that did more to help than to confuse you. I know I initially had problems wrapping my brain around it all, which may explain my preference for Slackware