First, why the hell would we do that? In my case, I have to play around with some simple PHP gallery scripts at the moment, and I am not very keen on testing them instantly on our university server (I expect the sysadmins aren't very keen on that, either, I'm a complete noob on a steep learning-by-doing curve).
Note: I include some MySQL directions here, because a lot of scripts manage MySQL databases. However, e.g. for a not-too-complicated image gallery PHP alone should do the job.
Warning:
Don't follow this to configure a fully functional web server: a little knowledge is a dangerous thing - and who lets a total noob configure a web server anyway? This is just to get some practice - reduce my amount of noobness, so to say - working locally, I didn't care too much about security.
Packages to install: Either go for the full
LAMP glory (YaST->Software->Patterns>Web and LAMP server), or install by hand
apache2,
php5,
apache2_mod_php5 (if you want php4, find a repo, it's not in the official openSuSE 11 distro any more), if you want Mysql, also
mysql,
php5-mysql and probably
phpMyAdmin. For any kind of server administration,
Webmin is also not a bad idea.
To start the apache daemon: run
sudo /etc/init.d/apache2 start (at least that's where the http daemon is on my system - you need the full path because it's not in PATH). Guess the code for stopping…
Check your firewall (YaST->Security and users). The allowed services for the External zone should include nothing like 'Apache' or 'HTTP daemon'. Thus, you won't need to fiddle with access control settings, the server is only accessible from localhost (however, some good information on that subject is
here and
here).
I don't know about other distros, but on openSuSE there is a
public_html directory in your home folder. Any HTML documents you store there can be accessed on
http://localhost/~<your user name>.
This is comfy if you keep the server local. On a public server I would strongly advise against public folders in one's home directory. However, you can change that in the Apache config files: Remove the
userdir entry from the
APACHE_MODULES list in
/etc/sysconfig/apache2 (either modify the file directly or use the YaST module System->/etc/sysconfig Editor).