I finally figured out why apache and MySQL does not start when I reboot my Solaris machine even though I have placed the startup scripts in /etc/rc3.d. It will work if I place a "sleep 100" at the beginning of the S99apachectl script. Probably, the system need to wait till all the services are ready before apache and MySQL can be started.