To run Apache from a console window, select the Apache server option from the Start menu.
Alternatively — and under Win95/98, this is all you can do — click on the MS-DOS prompt to get a DOS session window. Go to the /Program Files/Apache directory with this:
>cd "\Program Files\apache"
The Apache executable, apache.exe,is sitting here. We can start it running, to see what happens, with this:
>apache -s
You might want to automate your Apache startup by putting the necessary line into a file called go.bat. You then only need to type:
go[RETURN]
Since this is the same as for the Unix version, we will simply say
“type go
"
throughout the book when Apache is to be started, and thus save
lengthy explanations.
When we ran Apache, we received the following lines:
Apache/<version number> Syntax error on line 44 of /apache/conf/httpd.conf ServerRoot must be a valid directory
To deal with the first complaint, we looked at the file \Program Files\apache\conf \httpd.conf. This turned out to be a formidable document that, in effect, compresses all the information we try to convey in the rest of this book into a few pages. We could edit it down to something more lucid, but a sounder and more educational approach is to start from nothing and see what Apache asks for. The trouble with simply editing the configuration files as they are distributed is that the process obscures a lot of default settings. If and when someone new has to wrestle with it, he may make fearful blunders because it isn’t clear what has been changed from the defaults. We suggest that you build your Config files from the ground up. To prevent this one from getting confused with them, rename it if you want to look at it:
>ren httpd.conf *.cnk
Otherwise, delete it, and delete srm.conf and access.conf :
>del srm.conf >del access.conf
When you run Apache now, you see:
Apache/<version number> fopen: No such file or directory httpd: could not open document config file apache/conf/httpd.conf
And we can hardly blame it. Open edit :
>edit httpd.conf
and insert the line:
# new config file
The #
makes this a comment without effect, but it
gives the editor something to save. Run Apache again. We now see
something sensible:
... httpd: cannot determine local host name use ServerName to set it manually
What Apache means is that you should put a line in the httpd.conf file:
ServerName your_host_name
Now when you run Apache, you see:
>apache -s
Apache/<version number>
_
The _ here is meant to represent a blinking cursor, showing that Apache is happily running.
You will notice that throughout this book, the Config files always have the following lines:
... User webuser Group webgroup ...
These are necessary for Unix security and, happily, are ignored by the Win32 version of Apache, so we have avoided tedious explanations by leaving them in throughout. Win32 users can include them or not as they please.
You can now get out of the MS-DOS window and go back to the desktop, fire up your favorite browser, and access http://yourmachinename/. You should see a cheerful screen entitled “It Worked!,” which is actually \apache\htdocs\index.html.
When you have had enough, hit ^C in the Apache window.
Alternatively, under Windows 95 and from Apache Version 1.3.3 on, you can open another DOS session window and type:
apache -k shutdown
This does a graceful shutdown, in which Apache allows any transactions currently in process to continue to completion before it exits. In addition, using:
apache -k restart
performs a graceful restart, in which Apache rereads the configuration files while allowing transactions in progress to complete.