Tenon Intersystems Please see text links at bottom of page for navigation
Please see text links at bottom of page for navigation
Google
Search this site:





WebTen/WebStar to iTools 6.x Transition Guide

Many sites wish to move their content and virtual host structure from an existing WebTen (or any OS 9 based server) site to an iTools Mac OS X configuration. Contained here is the distilled experience of several successful conversions. Hopefully these experiences will be useful to those traveling the same path in the future.

In general, the process of moving to an iTools Mac OS X configuration is straightforward and generally a matter of making the old structure available within the correct directories on a new system. However, due to the differences between Mac OS 8/9 and Mac OS X the process is not as simple as it first may appear. Some of the considerations are important in that WebTen has modified traditional UNIX handling (e.g. character case and end of line handling) to be more useful in a Macintosh environment and those modifications are not present in Mac OS X.

This document assumes an operational WebTen or WebStar installation and a new iTools installation. For details on WebTen, WebStar or iTools, refer to the respective User Guides.

OS X vs OS 9

Line Breaks and Permissions

Some sites may opt to run their existing Web content (WebSites) folders from a Mac OS 8/9 volume mounted under Mac OS X . Alternatively, they may choose to copy their existing web content to Mac OS X file system. These are some issues to be aware of:

1. Scripts (perl, shell) with a Mac file type of 'TEXT' must be converted to 'BINA' under WebTen using the Unix<->Text utility found in the WebTen tenon/utilities folder, resulting in the proper line breaks in the file.

If HTML 'TEXT' files are to be edited under UNIX command line editors under Mac OS X Server, they too should be converted to 'BINA'.

Alternatively, BBEdit may be used to make the conversion by saving files with the option "UNIX Line Feeds".

2. WebTen UNIX file mode bits are not preserved when copying from the Mac OS to an HFS disk mounted under Mac OS X Server using Apple File Sharing.

3. File ownership and group are not preserved during AFP copies. An effective method for doing a file sharing copy is to log into the AFP server as owner 'www' and perform the copy under that ownership. This will set the owner under Mac OS X to 'www' which is the ownership under which Apache and WebCatalog run under Mac OS X.

Uploading Content

Use FTP to Upload Data to Mac OS X

Uploading content to iTools via ftp will ensure proper access permissions on those files. For those not wanting to get involved in the intricacies of UNIX, this is the simplest solution.

Use the Finder to Add Files to WebSites

When adding content to iTools WebSites in the finder, it is recommended that the user is logged in as root due to access restrictions of the WebSites folder. This will allow a drag and drop movement of files. If this is not possible, the Terminal.app must be used along with the sudo command:

sudo cp -R /<path to old website>/ /Library/WebServer/WebSites/<website name>/

Translation: (As the root user) (copy the contents of) (this folder) (into this folder)

For proper operation under iTools/FTP, content should have owner/group 'www/ftpguest' and should be group writable, for example:

sudo chown www:ftpguest *html

sudo chmod 664 *.html

For Perl scripts or other CGI:

sudo chmod 755 *.pl

This will allow ftpguest group members (iTools users) to upload content changes via FTP.

Using FTP to move files into the iTools web content tree is also effective in working around these permissions issues. The WU-FTP server under iTools will force the correct ownership and mode when copied to folders under the /Library/WebServer root directory.

User FTP home paths that were set up under WebTen (in content folders relative to WebSites) should already exist under iTools, i.e.create the virtual host using the iTools Admin Server with a Document Root folder corresponding (relative to WebSites) to the user's home folder to be be imported.

Uploading User and Group Databases

WebTen User/Group databases Transport Well

The Apache user and group database should be 'exported' using the Admin Server under WebTen, corrected for line breaks, and moved to the 'tenon' folder under Mac OS X. However, before 'importing' the group database, change the group name "WebTenAdmin" to "iToolsAdmin" by hand editing the export file.

WebStar User/Group databases

iTools uses a simple conversion utility to convert exported WebStar users into encrypted iTools users. It is part of the Classic Transition Utilities located on the iTools web page To use it, first convert the exported WebStar user database to unix line feeds following guidelines described in sub-section(1) of OS X vs OS 9. Then drag and drop the file onto the Drop Users application. A file named "converted_users.txt" should appear in the /Library/WebServer folder. This file can then be used to create a file suitable for import into iTools. See the iTools Users Guide for more details on importing users.

Apple CGIs and W*API Plugins

Apple CGIs and W*API Plugins Must be Rewritten

Apple CGI's and W*API plug-ins from MacOS will not operate under iTools/Mac OS X. Their functionality must be replaced by other CGI's, Apache modules, etc. A number of vendors that have built new plugin versions for Mac OS X. Contact your plugin vendor for more information.

WebTen shell, perl or other script-based CGIs should be directly transportable to iTools installations where they should be stored in the /Library/WebServer/CGI-Executables directory.

Native code (compiled "C" code under MachTen) CGI's must be recompiled under Mac OS X.

Apple CGIs will soon be supported in iTools

Tenon has plans to support Apple CGIs under iTools in the near future.

Macintosh Direct Argument

The `$' Direct Argument is a non-standard WebStar convention

URL's that make use of the Macintosh "direct argument" nomenclature must be converted to the more universal "query string" style. Following is an example of a WebCatalog URL under WebTen and iTools:

Under WebTen:

http://www.fac.org/Search.tmpl$Search?db=catalog.txt
&eqskudata=123

Under iTools:

http://www.fac.org/Search.tmpl?Command=Search&db=
catalog.txt&eqskudata=123

WebTen -> iTools Absolute File Paths

Absolute paths hardcoded in CGI's must be converted using the following guide:

/usr/local/etc/httpd -> /Library/WebServer

/usr/local/etc/httpd/cgi-bin -> /Library/WebServer
/CGI-Executables

Case Sensitivity

BEWARE: Filenames are case INsensitive on Mac OS X HFS volumes!

iTools currently includes an Apple module to ensure case sensitivity for all "Directory" directives. This should eliminate the need for special regular expressions to account for case insensitivity in filenames or urls.

Realm Protection

Transferring WebTen Realm Protections is Easy.

The Admin Server may be used to create a template or container with the realm protection.

If realm protection is to be placed on any web content residing outside of the "/Library/WebServer/WebSites" tree under iTools, the following container must be added to the apache.conf file (changing "/full/path/to/webcontent" to the actual full file path:

<Directory "/full/path/to/webcontent">
AllowOverride
None
# Setup Basic Authorization database
AuthType Basic
# User/Password databases
AuthDBMUserFile
/Library/WebServer/tenon/etc/users
# Realm/User database
AuthDBMGroupFile
/Library/WebServer/tenon/etc/groups
AuthDBMFormatNCSA On
AuthDBMAuthoritative On
</Directory>

Always flush the squid cache after hand editing realm protected directives in apache.conf.

Host Access Controls

Transferring WebTen Host Access Controls is also easy accept for case considerations.

Host based access controls placed on HFS based web content need to be protected for the casing security hole in the tenon/etc/squid.conf file. For example, to support WebCatalog, iTools restricts access to all URL's containing ".db" (except in the query string):

In apache.conf:

<Location ~ "/.*\.db($|.*\?)">
deny from all
</Location>

In squid.conf:

acl all_db urlpath_regex/.*\.db($|.*\?)
http_access deny all_db all

Moving Virtual Hosts

Moving WebTen Virtual Hosts requires a modest Hand edit due to the newer apache version.

Wholescale movement of virtual hosts configured in WebTen's tenon/apache/conf/httpd.conf file may be clipped and moved to the iTools Configuration/apache.conf file; however the Document root paths must be corrected and other minor changes must be made. An example of the same container under WebTen and iTools:

Under WebTen:

<VirtualHost 209.17.253.75:81>
ServerName www.fac.org
DocumentRoot /usr/local/etc/httpd/WebSites/www.fac.org
Options Indexes
FollowSymLinks IncludesNoExec
</VirtualHost>

Under iTools:

<VirtualHost 209.17.253.75:81>
ServerName www.fac.org
DocumentRoot /Library/WebServer/WebSites/www.fac.org
<Directory /Library/WebServer/WebSites/www.fac.org>
Options Indexes FollowSymLinks IncludesNoExec
</Directory>
NameVirtualHost 209.17.253.75
</VirtualHost>

Note the 'NameVirtualHost' directive with an IP address that matches the address in the directive.

In addition, for each IP based virtual host, the following lines must be added to the tenon/libexec/iTools.sh file (the IP address must correspond to the address in the container.:

/sbin/ifconfig en0 alias 209.17.253.75
/sbin/route add 209.17.253.75 localhost

Name Server (BIND) database files

All '.db' files and the 'named.conf' file may be moved directly from the tenon/etc/named folder under WebTen to the /etc/named folder under iTools, following the line termination guidelines described in sub-section(1) of HfS or UFS Content.


| Tenon Home | Products | Order | Contact Us | About Tenon | Register | Tech Support | Resources | Press Room | Mailing Lists |

Powered By iTools

Copyright©2013 Tenon Intersystems, 232 Anacapa Street, Suite 2A, Santa Barbara, CA 93101. All rights reserved.
Questions about our website - Contact: webmaster@tenon.com.


Tenon Home  Tenon Home  Tenon Home  Tenon Home Product Info  Tenon Ordering Contact About Register Support Resources Press Mailing Lists