Karakas Online

3.2. Netscape roaming profiles

Figure 3-2. Netscape.

Netscape.

Netscape.



In Apache's document root (/usr/local/httpd/htdocs), create a directory that will hold the roaming data, set the owner and group to the user and group ID of the Apache server and the permissions to 700 (read, write and change permissions only for the owner):

mkdir roaming
chown wwwrun.nogroup roaming
chmod 700 roaming

In Apache's configuration file, /etc/httpd/httpd.conf, insert the following:

#
# roaming profiles
#
PerlModule Apache::Roaming
<Location /roaming>
PerlHandler Apache::Roaming->handler
PerlTypeHandler Apache::Roaming->handler_type
AuthType Basic
AuthName "Roaming User"
AuthUserFile /etc/httpd/passwd
require valid-user
PerlSetVar BaseDir /usr/local/httpd/htdocs/roaming
</Location>

This assumes that you want to store the roaming profiles in the directory /roaming under the web server's document root (/usr/local/httpd/htdocs) and that you want to store the passwords in /etc/httpd/passwd. You may choose whatever name you like for the roaming directory and whatever location and name you wish for the password file. The roaming directory has to be located under the document root though. Change the locations above aproppriately to fit your situation.

You create the password file when you create the first password using the htpasswd command:

htpasswd -cm /etc/httpd/passwd <username> 

The -c flag creates a new file, and is necessary the first time you run htpasswd. The -m flag is optional, and forces MD5 encryption of the password. Omit the -c flag for subsequent users:

htpasswd -m /etc/httpd/passwd <username>

Next, install the Apache::Roaming Perl module. Download it from the CPAN Apache module directory. Extract the files from the tar.gz archive:

tar -xzvf Apache-Roaming-0.1003.tar.gz

change to the newly created directory (in our case Apache-Roaming-0.1003) and type

perl Makefile.PL
make
make install

Answer the questions about the path of the Apache server (in my case /usr/sbin/httpd), the path of the httpd.conf file (in my case /etc/httpd/httpd.conf), the user and group ID of Apache (wwwrun and nogroup respectively, in my case - you will find those in the web server configuration file /etc/httpd/httpd.conf, as the values to the variables User and Group resp.). You may also configure the Apache::Roaming::LiPrefs module, assigning the default values you wish to preferences.

At last, you need to enable roaming in Netscape:

Tip Tip:
 

If you are having problems, check that your Apache loads the Perl module. In SuSE Linux systems, this is controlled by the extra files /etc/httpd/suse_loadmodule.conf and /etc/httpd/suse_addmodule.conf. If you recompiled Apache after an initial installation, the subsequent SuSEconfig call will not overwrite these two files. Instead it will write its own version in files with the ending .SuSEconfig (e.g. /etc/httpd/suse_addmodule.conf.SuSEconfig). You are strongly advised to check the contents of those two files and copy them to the original ones:

cp /etc/httpd/suse_loadmodule.conf.SuSEconfig /etc/httpd/suse_loadmodule.conf
cp /etc/httpd/suse_addmodule.conf.SuSEconfig /etc/httpd/suse_addmodule.conf

The reason is that you will be probably missing a line like

LoadModule perl_module /usr/lib/apache/libperl.so

in your suse_loadmodule.conf file (and a similar one in suse_addmodule.conf).