[<<]Back to the main page

Upgrading

Since HTTPi is a patchwork hacker's webserver, upgrading from version to version was tricky if you made changes to the code. Hopefully this will make upgrading to future versions much more streamlined. If you made no changes at all, it'll be even easier!

There are three sections: from 1.5 and higher to whatever this version is, from 1.4 through 1.2 inclusive to whatever this version is, and from 1.0b2 and previous to whatever this version is. Find the section appropriate to you. If you experience trouble with this, please send a complete bug report with error message, OS and HTTPi versions upgrading to and from, to httpi@floodgap.com.


From 1.5 and higher to current version

This is obviously the easiest of the three upgrade paths, since the version is closest to current.

IF YOU MADE NO CHANGES TO HTTPi (in any of the *.in files, i.e., httpi.in, userfunc.in, modules.in or uservar.in): Grab your old transcript file and try to use it to reconfigure the new version:

		perl configure-script -d transcript-file
(e.g. perl configure.demonic -d transcript.0.configure.demonic), and that should do it! The new version of HTTPi will overwrite the old one, and your old settings will be preserved. Please note you will need to do this for all your HTTPi executables if you have more than one.

(If you get a version incompatibility error, sorry: you'll need to reconfigure manually. There must be a new option you'll be missing out on if you don't. To do so:

		perl configure-script
(e.g. perl configure.xinetd), like usual. You will also have to do this if you lost or deleted your transcript file.)

IF YOU MODIFIED ANY OF THE *.in FILES: You may need to follow one or several of the steps below. Then grab your old transcript file and try to reconfigure as per above. If you get a defective executable, try make revert and reconfigure to see if you can get a proper executable with the stock *.in files (this replaces *.in files with the backups in stock/). If that works, check your changes to the *.in files for incompatibilities. (If it doesn't, please report it :-)

If you are running Demonic HTTPi, kill the old parent process and then start the new executable. Make sure both parent and child terminate, which should happen automatically. inetd, xinetd, launchd and stunnel installs will, if installed to the same place, automatically be updated on the next access.

Now, read the manual to see what's changed in your HTTPi.


From 1.4 through 1.2 inclusive to current version

IF YOU MADE NO CHANGES AT ALL TO ANY *.in FILES: Run the appropriate configure script, re-select your options and reinstall. Keep the transcript file. Don't try to use the old transcript file, if you have one: it will almost certainly not work.

IF YOU MODIFIED ANY OF THE *.in FILES: You may need to follow one or several of the steps below. Then reconfigure and reinstall, and hold on to the transcript file. If you get a defective executable, try make revert and reconfigure to see if you can get a proper executable with the stock *.in files (this replaces *.in files with the backups in stock/). If that works, check your changes to the *.in files for incompatibilities. (If it doesn't, please report it :-)

If you are running Demonic HTTPi, kill the old process and then start the new executable. inetd and xinetd installs will, if installed to the same place, automatically be updated on the next access.

Now, read the manual to see what's changed in your HTTPi.


From 1.0b2 and previous to current version

This isn't as elegant, but it should still help some.

IF YOU MADE NO CHANGES AT ALL TO httpi.in: Run the appropriate configure script, re-select your options and reinstall. Keep the transcript file. Don't try to use the old transcript file, if you have one: it will almost certainly not work.

IF YOU DID MAKE CHANGES: You may need to do one or several of these steps below. Then reconfigure and reinstall, and hold on to the transcript file. If you mess up, do a make revert: as long as you haven't toasted the stock/ directory, the original distributed *.in files will be restored. If you get a defective executable, check your changes for incompatibilities, or do a make revert and reconfigure to see if you can get a proper executable at all. (If not, please report it :-)

If you are running Demonic HTTPi, kill the old process and then start the new executable. inetd and xinetd installs will, if installed to the same place, automatically be updated on the next access.

Now, read the manual to see what's changed in your HTTPi.


Cameron Kaiser