Department of Computing Imperial College London
Q&A on the web and internet

How can I set up my own home page?
What is the department's DNS server?
What are "proxies" and "caching"?
Can I set up a Web page for a college club or society?
Is Lynx available within DoC?
When I start Mozilla it says it is still running on another machine?
Is Acrobat available, to display and print .pdf files?
Which web server does DoC run?
How can I retrieve web pages without using a browser?
Is there any software for running a local Web-based discussion?
Does our server support ASP?
Does the web server in DoC support streaming media?
Does the web server in DoC support Server Side Includes?
Do you support Java Server Pages and Java Servlets?
Can you make the web server recognise .htm files?
What's a good way to put a hit counter on a web page?
How can I ensure that my web pages created in Windows are visible?
How can I restrict access to web pages to people within IC?
How can I restrict access to web pages to DoC people?
Can our DoC web space host WAP sites?
Is there a list of groups in DoC that can be used in .htaccess files?
Can you advise me on setting up my own web CA?
Mozilla 1.3 doesn't display INTRINSIC.
JVM not installed in web browsers?
Could you install Mozilla Firebird and Thunderbird?


What are "proxies" and "caching"?

In order to speed up access to WWW pages, we try to hold the most popular ones on a caching proxy server.

The server wwwcache.doc.ic.ac.uk runs squid and junkbuster daemons. You can configure your browser to use these proxy servers by putting:

        http://www.doc.ic.ac.uk/csg/proxy-config.pac
in "Netscape > Edit > Preferences > Advanced > Proxies > Automatic proxy configuration" - or equivalent on your preferred browser. You should see an improvement in response times.

No pages involving queries (cgi etc) will be cached. Neither will pages local to Doc. We are seeking to further tune the cache - please send queries to help@doc.ic.ac.uk.

If you want an (almost) advertisement free session which still goes through the squid cache use:

        http://www.doc.ic.ac.uk/csg/proxy-config-adblock.pac
instead. Cookies are allowed though in all cases so as not to interefere with the majority of legitimate sites which use them. Not all adverts are blocked - just the many which are in the standard junkbuster block list. This can increase browsing speed as well as cleaning the page. But we leave the choice to you.

If you need to manually set the proxies (eg for Mozilla) please set them to:

Type           Proxy Host              Port
HTTP Proxy:    wwwcache.doc.ic.ac.uk   3128
FTP Proxy:     wwwcache.doc.ic.ac.uk   3128
or for junkbuster, use:
Type           Proxy Host              Port
HTTP Proxy:    wwwcache.doc.ic.ac.uk   8000
FTP Proxy:     wwwcache.doc.ic.ac.uk   3128

Under the Edit > Preferences > Advanced > Cache menu on Netscape, you can see a description of what the cache is and adjust settings. If the disk cache folder is in your home directory (or H: drive from NT) you should clear it regularly to avoid your disk space rapidly being used up as Netscape stores a local copy of all files you view! In NT it's best to direct it to C:\Temp.

Shift + Reload under Netscape will force a cache to refresh a page even if it thinks its copy is up to date.

Needless to say that these proxies only work for clients within DoC. Trying to use them from home will not work.

Can I set up a Web page for a college club or society?
Top of page

We would not normally allocate extra resources on our machines for a student society, unless it was directly connected with our department (eg: DocSoc)

You should probably contact the Union for space on their webserver (www.union.ic.ac.uk/) which is available for use by clubs and societies.

Is Lynx available within DoC?

Yes, it's available on all Linux machines. You might prefer links though, which is also installed everywhere and does a better job of rendering tables.

If you're in the batch-downloading business, wget or the Perl module LWP::Simple will be of use to you.

When I start Mozilla it says it is still running on another machine? Top of page

Mozilla creates a ilock file to indicate that it is currently running (to prevent its internal files from being corrupted due to two copies of the program trying to update them simultaneously). If Mozilla exits abnormally for some reason, then this lock file doesn't always get deleted.

To solve the problem:

Is Acrobat available, to display and print .pdf files? Top of page

The Acrobat reader is installed on all the Linux and Windows systems.

To start the reader from the Linux command line, type:

acroread filename &

On Windows it is in Start -> Programs -> Viewers.

Which web server does DoC run? Top of page

DoC runs the Apache webserver. Please check their website for specification details.

How can I retrieve web pages without using a browser?

You could use wget, a utility designed for retrieving binary documents across the web, and saving them to disk. It is non-interactive, which means it can work in the background, while the user is not logged in, unlike most web browsers (thus you may start the program and log off, letting it do its work). Analysing server responses, it distinguishes between correctly and incorrectly retrieved documents, and retries retrieving them as many times as necessary, or until a user-specified limit is reached.

Example of usage:

wget http://www.doc.ic.ac.uk/index.html
--16:47:38--  http://www.doc.ic.ac.uk:80/index.html
           => `index.html'
Connecting to www.doc.ic.ac.uk:80... connected!
HTTP request sent, awaiting response... 200 OK
Length: 12,059 [text/html]

    0K -> .......... .                                           [100%]

16:47:38 (2.88 MB/s) - `index.html' saved [12059/12059]

Please see the manual page on Linux systems for more information:

   man wget

Alternatively, the Perl module LWP::Simple is extremely useful.

Is there any software for running a local Web-based discussion?

See WebBBS. I have used their calendar program WebCal and it didn't require very much tweaking of the perl to set it up, make it look a bit nicer and add authentication. All their stuff is perl and free; you can buy support if you want.

You might also want to look at sites like the CGI Resource Index which provide a wide range of scripts.

Does our server support ASP?

The main web server does not support Active Server Pages - but we do have an ASP/IIS web server called www-asp. It currently provides ASP scripting; Perl and PHP can be provided as needed. Database access is available with either Postgres or MS SQL Server.

You can sign up for ASP.NET filespace and an SQL Server database at www-asp.doc.ic.ac.uk/RDEweb/.

What's a good way to put a hit counter on a web page?

There are a number of freely available hit counters. You will find a good selection at freshmeat or the CGI Resource Index or the webcom site. There seems to be a remarkable variety of techniques. Have a look, and see which ones match your needs.

What is the department's DNS server?

The main DNS server is dns0, 146.169.1.24.

146.169.1.24  - Master Server (dns0)
146.169.1.1   - Secondary server (dns1)

Does the web server in DoC support streaming media?

DoC does not support streaming media.

Does the web server in DoC support Server Side Includes?

Yes, SSI should work, assuming you either give files you want parsed the .shtml extension. Apache can look in other files for SSI commands, however you have to indicate what files you want parsing. This is done via an AddHandler in a .htaccess.

Time for an example. I have some files in /homes/paj00/public_html/blah that have the .html extension. They contain SSI directives, but at present the webserver does not recognise this fact. I do the following: (each line represents a command at the linux command shell prompt)

touch /homes/paj00/public_html/blah/.htaccess
chmod 644 /homes/paj00/public_html/blah/.htaccess

Now, using my favourite editor (Vim) I edit the file /homes/paj00/public_html/blah/.htaccess and insert the following line:

AddType text/x-server-parsed-html .html

This command simply tells the Apache webserver to look for SSI directives in .html files within and below the directory /homes/paj00/public_html/blah.

To see a live example of SSI, look at these pages, the files of which can be found in /vol/www/csg/examples/ssi.

Can you make the web server recognise .htm files?

You can set your own default page by placing a file called .htaccess in your public_html directory, with a line such as:

DirectoryIndex index.htm

How can I ensure that my web pages created in Windows are visible?

If you are creating web pages in Windows you should Start -> Run... \\fs-homes\public_html and save the files there. Files saved in this way are readable by all.

It is not the same as just putting files in the public_html folder via your H: drive. Files saved in that way are readable only by you.

How can I restrict access to web pages to people within IC?

This is much more difficult than you'd think. You can't effectively screen on a *.ic.ac.uk hostname, as so much of the college is incorrectly configured and doesn't have a name associated to the address. You can't restrict to 155.198.*, as you are cutting off a significant portion of IC which use different ranges (9 distinct allocations). The workaround I used on the ICU webserver was to list all the IC-allocated IP ranges I could find - list can be found here.

Also the DoC webserver has no way to authenticate college logins.

Ok, what about restricting access to web pages to people within DoC?

Ah, this is relatively easy. See the SSL section of our setting up my own home page guide.

Can our DoC web space host WAP sites?

Yes. I've hosted wml files on www.doc.ic.ac.uk without any problems in the past. Remember you can't open the files directly in a web browser, but if you check on one of the virtual wap browsers on the web (or use a phone...) it should work fine.

Is there a list of groups in DoC that can be used in .htaccess files?

Users are added to groups on a fairly ad-hoc basis - the section head or supervisor mails us saying "add user so-and-so to group such-and-such" and we do it. There's only one database table to contain all the user/group mappings, so there's no logical structure to the information - there are no rules saying "users in this section go in this group", or whatever.

All the current definitions are stored in /etc/passwd and /etc/group. The unified and complete user/group mapping is also available in /vol/csg/public/share/apache/group.apache which is the file the web server actually uses.

It is straightforward to see who is in which group using the group.apache file, and the 'id' tool on linux will also tell you which groups a user belongs to.

Can you advise me on setting up my own web CA?

Our certificates are not just self-signed. We do have our own Certification Authority (as evidenced by our CA-certificate, downloadable here. Some old certificates (not the web server) were signed by an older CA-certificate from 2003.

We're using the CA routines of openssl, which is installed on all the Linux machines. Expect to spend a couple of hours getting to grips with openssl- the configuration is a bit fiddly, and the commands aren't all obvious or easy to use.

Mozilla 1.3 doesn't display INTRINSIC.

If you get the error message "Access to the port number given has been disabled for security reasons" read on (this doesn't apply to the standard installed version of Mozilla which should work fine).

This is a known feature (not a bug!) of Mozilla. By default, it restricts access to some TCP port numbers because (as the warning indicates) it's a potential security risk.

Unhappily, ICT run Intrinsic on one of these ports -- TCP/1080, usually reserved for SOCKS proxies. Mozilla, by default, will not permit access to this port.

To correct the problem, there is an internal preference (sadly not accessible using the conventional Edit -> Preferences menu) which you can use to override this port restriction.

To do this, load the URL:

about:config
You should be presented with a drop down list of mozilla preferences. Right click in this window, and say New -> String in the menu that appears.

For the name of the preference, you should enter the magic string

        network.security.ports.banned.override
.. and when prompted for the value, type in
        1080
.. and that's it. From that point, you should be able to access intrinsic without errors.

JVM not installed in web browsers?

It appears to work fine on Mozilla on Linux and Mozilla on Windows in the labs. It doesn't work (known problem) on Internet Explorer on Windows, and this cannot be fixed in the short term.

(10/03/04)

Could you install Mozilla Firebird and Thunderbird?

These are now installed on Mandrake 10.2 linux by default. Older versions for Mandrake 9.1 can be found in

/vol/linux/mandrake/9.1/apps/
Please note that, as with all of the tools in that directory, they are not supported by CSG -- use at your own risk.

© CSG / 2006