#!/usr/bin/perl -w
#
-# $Id: freeside-adduser,v 1.2 2001-10-30 11:47:54 ivan Exp $
+# $Id: freeside-adduser,v 1.3 2001-10-30 13:47:07 ivan Exp $
use strict;
-use vars qw($opt_h $opt_c);
+use vars qw($opt_h $opt_c $opt_s);
use Getopt::Std;
my $FREESIDE_CONF = "/usr/local/etc/freeside";
-getopts("ch:");
+getopts("ch:s:");
die &usage if $opt_c && ! $opt_h;
-my $secretfile = shift or die &usage;
my $user = shift or die &usage;
my @args = ( 'htpasswd' );
push @args, $opt_h, $user;
system(@args) == 0 or die "htpasswd failed: $?";
+my $secretfile = $opt_s || 'secrets';
+
open(MAPSECRETS,">>$FREESIDE_CONF/mapsecrets")
or die "can't open $FREESIDE_CONF/mapsecrets: $!";
print MAPSECRETS "$user $secretfile\n";
close MAPSECRETS or die "can't close $FREESIDE_CONF/mapsecrets: $!";
sub usage {
- die "Usage:\n\n freeside-adduser [ -h htpasswd_file [ -c ] ] secretfile username"
+ die "Usage:\n\n freeside-adduser [ -h htpasswd_file [ -c ] ] [ -s secretfile ] username"
}
=head1 NAME
=head1 SYNOPSIS
- freeside-adduser [ -h htpasswd_file [ -c ] ] secretfile username
+ freeside-adduser [ -h htpasswd_file [ -c ] ] [ -s secretfile ] username
=head1 DESCRIPTION
-c: Passed to htpasswd
+ -s: Specify an alternate secret file
+
=head1 SEE ALSO
L<htpasswd>, base Freeside documentation
make ${TEMPLATE}docs
install-docs: docs
- mv ${FREESIDE_DOCUMENT_ROOT} ${FREESIDE_DOCUMENT_ROOT}.`date +%Y%m%d%H%M%S`
+ [ -e ${FREESIDE_DOCUMENT_ROOT} ] && mv ${FREESIDE_DOCUMENT_ROOT} ${FREESIDE_DOCUMENT_ROOT}.`date +%Y%m%d%H%M%S`
cp -r ${TEMPLATE}docs ${FREESIDE_DOCUMENT_ROOT}
perl-modules:
perl -e 'use DBIx::DataSource qw( create_database ); create_database( \'${DATASOURCE}\', \'${DB_USER}\', \'${DB_PASSWORD}\' ) or die $DBIx::DataSource::errstr;'
create-config: install-perl-modules
- [ -d ${FREESIDE_CONF} ] || mkdir ${FREESIDE_CONF}
+ [ -e ${FREESIDE_CONF} ] || mv ${FREESIDE_CONF} ${FREESIDE_CONF}.`date +%Y%m%d%H%M%S`
+ mkdir ${FREESIDE_CONF}
chown freeside ${FREESIDE_CONF}
touch ${FREESIDE_CONF}/secrets
chmod 600 ${FREESIDE_CONF}/secrets
chown freeside ${FREESIDE_CONF}/secrets
- [ -d "${FREESIDE_CONF}/conf.${DATASOURCE}" ] \
- || mkdir "${FREESIDE_CONF}/conf.${DATASOURCE}"
- chown freeside "${FREESIDE_CONF}/conf.${DATASOURCE}"
+ mkdir "${FREESIDE_CONF}/conf.${DATASOURCE}"
+ cp conf/* "${FREESIDE_CONF}/conf.${DATASOURCE}"
+ chown -R freeside "${FREESIDE_CONF}/conf.${DATASOURCE}"
- [ -d "${FREESIDE_CONF}/counters.${DATASOURCE}" ] \
- || mkdir "${FREESIDE_CONF}/counters.${DATASOURCE}"
+ mkdir "${FREESIDE_CONF}/counters.${DATASOURCE}"
chown freeside "${FREESIDE_CONF}/counters.${DATASOURCE}"
- [ -d "${FREESIDE_CONF}/cache.${DATASOURCE}" ] \
- || mkdir "${FREESIDE_CONF}/cache.${DATASOURCE}"
+ mkdir "${FREESIDE_CONF}/cache.${DATASOURCE}"
chown freeside "${FREESIDE_CONF}/cache.${DATASOURCE}"
- [ -d "${FREESIDE_CONF}/export.${DATASOURCE}" ] \
- || mkdir "${FREESIDE_CONF}/export.${DATASOURCE}"
+ mkdir "${FREESIDE_CONF}/export.${DATASOURCE}"
chown freeside "${FREESIDE_CONF}/export.${DATASOURCE}"
clean:
+++ /dev/null
-Silicon Interactive Software Design
-15 Skyview Way
-Newtown, PA 18940
-
+++ /dev/null
-domain.tld
+++ /dev/null
-DBI:mysql:freeside
-freeside
-put_your_password_here
-/bin/csh
+
/bin/sh
+/bin/csh
+/bin/bash
+/bin/false
<ul>
<li>First user:<font size="-1">
<pre>$ su
-$ freeside-adduser -h /usr/local/etc/freeside/htpasswd -c /usr/local/etc/freeside/secrets <i>username</i></pre></font>
+$ freeside-adduser -c -h /usr/local/etc/freeside/htpasswd <i>username</i></pre></font>
<li>Additional users:<font size="-1">
<pre>$ su
-$ freeside-adduser -h /usr/local/etc/freeside/htpasswd /usr/local/etc/freeside/secrets <i>username</i></pre></font>
+$ freeside-adduser -h /usr/local/etc/freeside/htpasswd <i>username</i></pre></font>
</ul>
- <i>(using other auth types, add each user to your <a href="http://httpd.apache.org/docs/misc/FAQ.html#user-authentication">Apache authentication</a> yand then run: <tt>freeside-adduser /usr/local/etc/freeside/secrets <b>username</b></tt></i>
+ <i>(using other auth types, add each user to your <a href="http://httpd.apache.org/docs/misc/FAQ.html#user-authentication">Apache authentication</a> and then run: <tt>freeside-adduser <b>username</b></tt></i>
<li>As the freeside UNIX user, run <tt>bin/fs-setup <b>username</b></tt> to create the database tables, passing the username of a Freeside user you created above:
<pre>
$ su freeside