FreeBSD 6.2 Upgrade
(updated 11/12/2007)
We are in the process of updating our user servers from
FreeBSD 4.8-STABLE to FreeBSD 6.2-RELEASE-p1.
As of 10/24/2007, all shared server upgrades are complete. Work to update
Quickserve dedicated servers is ongoing. If you are interested in having your
QS machine upgraded, please contact
qs@pair.com.
The upgrade dates of all shared servers are available
here.
An operating system upgrade is a major
step, taken only after careful testing, building, and rebuilding of features
in the new operating system environment.
As with previous upgrades, we feel that this upgrade will bring improved
stability, security, and system performance. Nearly all of the software
packages on our servers will receive major or minor updates, as well.
Summary of New Features and Major Changes
- Background filesystem checks will help minimize downtime after a server
crash.
- Apache is upgraded to version 2.2.4, with mod_php version 5.2.4 (PHP 4.4.7
is also available as CGI).
- Perl is upgraded to version 5.8.8. Thousands of Perl modules have been
updated and/or added.
- Ruby is upgraded to version 1.8.5. Hundreds of Ruby gems have been
updated and/or added.
Upgrade Notes
These notes are intended to help guide you through any changes that might be
required by the upgrades to major system software. If you are not sure about
what to do or have any other questions, please contact us at
support@pair.com and we will be glad to
help.
General
- Telnet is disabled in this operating system build. Please use SSH
instead.
- BSD rlogin is disabled. Please use SSH instead.
- SSH protocol 1 is disabled. Please use protocol 2 when connecting with SSH
(it is the default on all modern SSH clients).
- /usr/local/bin/pgp262 (PGP 2.6.2) has been replaced by
/usr/local/bin/pgp263ia (PGP 2.6.3ia) -- /usr/local/bin/pgp is PGP version
6.5.8.
- The new version of the ImageMagick library is far less efficient than
previous versions when handling .GIF files. We recommend using other image
formats with ImageMagick, or using the PBMPLUS library instead when resizing
or converting .GIF files.
- FreeBSD's handling of #! (also known as "shebang") line options has
changed. Consider the following line:
#!/path/to/program -a -b
Under FreeBSD 4.x, the program /path/to/program would be executed
with two arguments, -a and -b. Under FreeBSD 6.x,
/path/to/program receives only one argument,
'-a -b', and is responsible for separating them itself.
Apache
The Apache Web server will be updated from 1.3.37 to 2.2.4. This should be
a seamless change in general, however some custom .htaccess
directives may need to be adjusted.
- If you are using a custom
Action handler to handle URLs for
which the requested file does not exist, a change is required. For instance, if
you were passing all requests for .gif files to the script /mygif.pl with:
Action application/x-custom-gif /mygif.pl
AddType application/x-custom-gif .gif
You must add the 'virtual' modifier to the Action line, like:
Action application/x-custom-gif /mygif.pl virtual
AddType application/x-custom-gif .gif
This is only required if the files being called don't exist in the Web space.
Without the 'virtual' modifier, Apache will return a File Not Found error in
such cases. This directive cannot be changed until after the upgrade.
- If you are using the following older syntax to specify that a file extension should be parsed for SSI (Server Side Includes):
AddType text/x-server-parsed-html .myext
please change to use this code in your .htaccess file
before the upgrade takes place on your server:
AddHandler server-parsed .myext
where "myext" is whatever extension you are defining.
For new setups after your server has been upgraded, you can also use this
syntax:
AddType text/html .myext
AddOutputFilter INCLUDES .myext
- The
MultiViews options have been made more strict. The
old behavior can be restored if necessary with:
MultiviewsMatch any
- The
ErrorHeader directive has been removed in favor of the
more general Header directive. See
this page for details on the Header directive.
- The
FancyIndexing directive has been removed and should be
replaced in .htaccess with this:
IndexOptions FancyIndexing
- The PATH_INFO environment variable now normalizes multiple slashes to
a single slash. For instance, the URL
http://example.com/cgi-bin/redirect.pl/http://pair.com/ would
previously result in a PATH_INFO of /http://pair.com but
would now be normalized to /http:/pair.com. Scripts expecting
to extract a full URL from PATH_INFO should account for this.
Most of these changes are possible and recommended before the upgrade, except
where otherwise specified.; the new Apache may reject invalid
.htaccess directives and return an error instead of serving the
requested page.
PHP
mod_php will be upgraded from version 4.3.8 to version 5.2.4. PHP 5 makes
several changes which are not backwards-compatible with PHP 4. We are also
making some PHP configuration changes in conjunction with the upgrade, for
enhanced security.
- If you are using a PHP source code decoder such as ionCube or
SourceGuardian, you may need to download a new version of it. Most such
source code decoders are specific to the versions of both PHP (changing from
4.3.10 to 5.2.4) and FreeBSD (changing from 4.8 to 6.2). If you need to
continue using PHP 4 for your decoder, please see the instructions further
below.
- If you have written your own PHP code, please review the
migration guide on
the official PHP Web site for information on the changes that have been
made.
- Listed below are some popular PHP programs and the minimum versions
required for PHP 5 compatibility.
- WordPress - 2.1 or higher
- GeekLog - 1.4 or higher
- VBulletin - 3.5 or higher
- Drupal - 4.7.5 or higher
- For other programs, please contact the vendor to see if an upgrade is
required for PHP 5 compatibility.
- The XSLT extension has been removed from PHP as-of PHP 5. You can use PHP 4 as a CGI to use these functions, or update to the new
XSL
- The Recode extension is no longer available due to conflicts with MySQL. You can use PHP 4 as a CGI to use these functions.
- Use of the PDFLib library in PHP now requires a license from PDFlib GmbH.
Unlicensed use will result in a watermark being placed on generated PDF files.
You can contact PDFlib GmbH via their Web site.
If you need to continue using PHP 4 for your applications, it is available as
a CGI program. You can follow these instructions ahead of time to switch over
to using PHP 4 via CGI:
If you have previously been using this technique to run PHP 5 as a CGI, you
will be able to remove those lines from .htaccess and begin using the
Apache module.
PHP version 3 is no longer available. Files with .php3 extensions will now
be parsed by PHP 5 by default.
Perl
Perl 5.8.8 replaces Perl 5.8.3 and 5.8.0. If your scripts call Perl at one of
these locations:
/usr/local/bin/perl5.8.3
/usr/local/bin/perl5.8.0
Please change it ahead of the upgrade to:
Perl 5.6.2 replaces Perl 5.6.1. Please note that Perl 5.6 will have only the
core Perl modules that come in the distribution. We strongly recommend
switching to Perl 5.8 ahead of the upgrade.
Perl 4 is no longer available. It was superseded by Perl 5 many years ago, is
unsupported, and suffers from security vulnerabilities and other bugs.
Please update your code to use Perl 5 ahead of the upgrade.
Module notes:
- The module DBD::SQLite is now compiled with SQLite version 3. If you are
using this module with existing SQLite databases, you should use
DBD::SQLite2 instead.
Other
Notes and caveats will be posted here throughout the upgrade process. Please
check back later for more information.
pair Networks appreciates your business! We are striving to provide
the best possible Web hosting.