6th CEENet Network Technology Workshop; Budapest, Hungary, August, 2000

Exercise with the Apache v.1.3 WWW Server on the Linux

1. Start Linux OS on Your computer.

2. Preparations for Apache installation.

cd /home/is_serv1

pwd

ls -l

3. Find the Apache archive, download it and unpack.

gunzip apache_1.3.12.tar.gz

tar –xvf apache_1.3.12.tar

./configure --prefix=/home/is_serv1/serv --with-port=80

make

make install

[is_serv1@test1 serv]$ ls -al

total 48

drwxr-xr-x 12 is_serv1 is_serv1 4096 Aug 21 02:39 .

drwxrwxr-x 7 is_serv1 is_serv1 4096 Aug 18 20:48 ..

drwxr-xr-x 2 is_serv1 is_serv1 4096 Aug 21 02:39 bin

drwxr-xr-x 2 is_serv1 is_serv1 4096 Aug 21 02:39 cgi-bin

drwxr-xr-x 2 is_serv1 is_serv1 4096 Aug 21 02:39 conf

drwxr-xr-x 3 is_serv1 is_serv1 4096 Aug 21 02:39 htdocs

drwxr-xr-x 3 is_serv1 is_serv1 4096 Aug 21 02:39 icons

drwxr-xr-x 3 is_serv1 is_serv1 4096 Aug 21 02:39 include

drwxr-xr-x 2 is_serv1 is_serv1 4096 Aug 21 02:39 libexec

drwxr-xr-x 2 is_serv1 is_serv1 4096 Aug 21 02:39 logs

drwxr-xr-x 4 is_serv1 is_serv1 4096 Aug 21 02:39 man

drwxr-xr-x 2 is_serv1 is_serv1 4096 Aug 21 02:39 proxy

4. Configure the server (necessary directives)

<Directory /home/is_serv1/serv/htdocs>

Options Indexes Includes FollowSymLinks

AllowOverride All

</Directory>

5. Start, stop and restart the server.

[root@test1 serv]# ps -ef | grep httpd

root 9740 1 0 03:46 ? 00:00:00 /home/is_serv1/serv/bin/httpd

nobody 9741 9740 0 03:46 ? 00:00:00 /home/is_serv1/serv/bin/httpd

nobody 9742 9740 0 03:46 ? 00:00:00 /home/is_serv1/serv/bin/httpd

nobody 9743 9740 0 03:46 ? 00:00:00 /home/is_serv1/serv/bin/httpd

nobody 9744 9740 0 03:46 ? 00:00:00 /home/is_serv1/serv/bin/httpd

nobody 9745 9740 0 03:46 ? 00:00:00 /home/is_serv1/serv/bin/httpd

nobody 9746 9740 0 03:46 ? 00:00:00 /home/is_serv1/serv/bin/httpd

nobody 9747 9740 0 03:46 ? 00:00:00 /home/is_serv1/serv/bin/httpd

nobody 9748 9740 0 03:46 ? 00:00:00 /home/is_serv1/serv/bin/httpd

6. Modify the home (welcome) page of your server.

7. Add server side include.

<HTML>

<HEAD>

<TITLE>Welcome</TITLE>

</HEAD>

<BODY>

<H2>Welcome to the

<!--#echo var="SERVER_NAME" -->

</H2>

<HR>

This server is running just for learning purposes.

<BR>

Today is: <!--#exec cmd="/bin/date" --> or <!--#echo var="DATE_LOCAL" --><BR>

Have a nice day !

<BR>

<HR>

<I>

Last time changed on: <!--#echo var="LAST_MODIFIED" -->

</I>

</BODY>

</HTML>

8. Try to work with the authentication.

9. CGI scripts.

#!/bin/sh

echo Content-type: text/html

echo

cat << EOM

<HTML>

<HEAD>

<TITLE>Finger Gateway</TITLE>

</HEAD>

<BODY>

EOM

if [ x = x$QUERY_STRING ]; then

cat << EOM

<H1>Finger Gateway</H1>

This is a gateway to "finger". Type a user@host

combination in your browser's search dialog.<P>

<ISINDEX>

EOM

else

echo \<PRE\>

z=`echo $QUERY_STRING | sed 's/%40/@/'`

/usr/bin/finger -l "$z"

echo \</PRE\>

fi

cat << EOM

</BODY>

</HTML>

EOM

10. Virtual servers.

cd /home/is_serv1/serv

mkdir htdocs2

 

Thank you, Miroslav Milinovic and Dubravko Penezic