Note that this is an early draft of the FAQ - there's still a lot of work to be done. If you have suggestions for additions, then send mail to the address above. I am well aware of the problems with the poor layout of the FAQ in Voyager-NG, there's nothing I can do about that :-( (it looks fine in AWeb-II, AMosaic, MS IE4 and Netscape 2). At the moment, I am particularly interested in the following:
Cool AREXX scripts to use with the server. The Amiga's biggest advantage over other systems as far as Apache is concerned is AREXX, so let's show what the machine is capable of.
The Apache server project is completely run by volunteers,
and there is no official technical support.
A TCP/IP stack for the Amiga. AMITCP 4.0 onwards will do. Miami 2.0 will also work The TCP/IP stack must be running for Apache to function. Note that you shouldn't need to start the Apache server - the TCP/IP client will automatically start it if you get an incoming HTTP request. However, starting Apache in standalone mode is preferred! Start and control Apache with the provided apachectl script in the support directory.
The Apache files from the main site (more details below). There are also additional files required if you want to run CGI scripts etc.
A good understanding of the Amiga is essential. Web server installation is not a trivial task on any system. Some knowledge of Unix is very useful, and if you want to write your own CGI scripts, Perl, Unix shell, AREXX or C programming skills are essential.
Apache HTTP server benchmarking tool
ab is a tool for benchmarking your Apache HyperText Transfer Protocol (HTTP) server. It is designed to give you an impression on how performant is your current Apache installation. This especially shows you how much requests per time your Apache installation is capable to serve.
Apache HTTP server control interface
apachectl is a front end to the Apache HyperText Transfer Protocol (HTTP) server. It is designed to help the administrator control the functioning of the Apache
APache eXtenSion tool
apxs is a tool for building and installing extension modules for the Apache HyperText Transfer Protocol (HTTP) server. This is achieved by building a dynamic shared object (DSO) from one or more source or object files which then can be loaded into the Apache server under runtime via the LoadModule directive from mod_so. So to use this extension mechanism your platform has to support the DSO feature and your Apache httpd binary has to be built with the mod_so module. The apxs tool automatically complains if this is not the case. You can check this yourself by manually running the command 'httpd -l'
Create and update user authentication files in DBM format
Dbmmanage is used to create and update the DBM format files used to store usernames and password for basic authentication of HTTP users. Resources available from the httpd Apache web server can be restricted to just the users listed in the files created by dbmmanage. This program can only be used when the usernames are stored in a DBM file.
Create and update user authentication files
Htdigest is used to create and update the flat-files used to store usernames, realm and password for digest authentication of HTTP users. Resources available from the httpd Apache web server can be restricted to just the users listed in the files created by htdigest.
Create and update user authentication files
Htpasswd is used to create and update the flat-files used to store usernames and password for basic authentication of HTTP users. Resources available from the httpd Apache web server can be restricted to just the users listed in the files created by htpasswd. This program can only be used when the usernames are stored in a flat-file. To use a DBM database see dbmmanage.
resolve hostnames for IP-adresses in Apache logfiles
Logresolve is a post-processing program to resolve IP-adresses in Apache's access logfiles. To minimize impact on your nameserver, logresolve has its very own internal hash-table cache. This means that each IP number will only be looked up the first time it is found in the log file.
Perl program for resolving hostnames
This program probably won't work because of the fork() in it.
Script to detect phf abuse
This script can be used to detect people trying to abuse the security hole which existed in A CGI script direstributed with Apache 1.0.3 and earlier versions.
rotate Apache logs without having to kill the server
Rotatelogs is a simple program for use in conjunction with Apache's piped logfile feature which can be used like this:
TransferLog "|rotatelogs /path/to/logs/access_log 86400"
This creates the files /path/to/logs/access_log.nnnn where nnnn is the system time at which the log nominally starts (this time will always be a multiple of the rotation time, so you can synchronize cron scripts with it). At the end of each rotation time (here after 24 hours) a new log is started.
A perl script for splitting the server access logfile
This script will take a combined Web server access log file and break its contents into separate files. It assumes that the first field of each line is the virtual host identity (put there by "%v"), and that the logfiles should be named that+".log" in the current directory.
Switch User For Exec
Suexec is the "wrapper" support program for the suEXEC behaviour for Apache. It is run from within Apache automatically to switch the user when an external program has to be run under a different user. For more information about suEXEC see the document `Apache suEXEC Support' under http://www.apache.org/docs/suexec.html
Several other people have emailed their server addresses,
but I haven't been able to log in to any of them so far, with the exception
of this one: amiga.3wis.nl. An interesting
site, but beware - it contains a lot of images.
There is also supposed to be an Amiga at www.tibb.at, but I haven't tried this one yet.
Contact the FAQ maintainer by email to: apachefaq@spinnewiel.ddns.org. Note that I will try and answer any questions asked, but I know nothing about ppp.devices or BBS systems. General Amiga questions, Unix-related things and Apache installation/configuration are more easily answered by my good self.
Join the mailing list for the Amiga Apache beta testers. Details of the list are on the main Amiga Apache.
For general information about the Apache webserver, visit the main page at www.apache.org but note that you are unlikely to find Amiga specific information here. The main Apache FAQ may be obtained from www.apache.org or from here in the UK. This document contains information about the history of the server, amd answers to some of the more common problems (like turning on SSI). And if you want to know why the server is called Apache - here's where you'll find the answer.
Apache Week is available from this website and is an essential source of information for the latest Apache news etc. They also have a fully searchable index for back issues. Again, there isn't a great deal of Amiga specific information (just one article in fact) but as more Amiga users get the Apache server installed, perhaps we can rectify that...
A book I find useful is Webmaster in a nutshell: A desktop quick reference (O'Reilly - ISBN 1-56592-229-8) which details all of the directives available in the server configuration files. There are also quick references to using HTML, Perl and Javascript - indispensible! Another good book to have if you are not familiar with Unix is something like Unix for Dummies - if you don't know what I'm referring to by mentioning chmod, then you would be advised to get a book such as this.
Configuration of Miami to use the Apache server is very straightforward:
Ensure you have typed in a valid IP address for your machine.
Database:
Under services, add an extra entry as follows:
Name: http ID: 80
Protocol: tcp
Under hosts, you may need to add an extra
entry as follows: IP address: 127.0.0.1
Name: localhost
(the IP address 127.0.0.1 loops back to your own
machine, i.e. the localhost).
Under networks, add the following: Name:
loop ID: 127
Aliases: loopback
Under INETD, add: Service: http
Socket: stream Protocol: tcp
Wait: nowait User: root
Server: apache:httpd
(if you have installed the Apache httpd executable
file elsewhere, change the server location! Mine is in an assign called
apache:, yours might not be.)
Users: you might need to add a user, as Apache
didn't seem to work without this. I added user: brett,
and under Home dir, added root.
Groups: as with users, you might need
to add something here - I added a group called brettgroup,
and made brett a user.
That's everything for the Miami side of things. Make sure you save these settings, or you'll have to retype it all.
To make sure it works, start Miami (you don't need
to connect to the WWW - just ensure the Miami program is running), fire
up an Amiga browser (any will do) and assuming you have configured Apache,
if you type http://127.0.0.1 or http://localhost/,
you should get a response from Apache.
getpeername: Socket operation on non-socket getsockname: Socket operation on non-socket Error getting local address
- Jeff Shepherd