changed fancy listing of files in download directory
improved directory structure
This commit is contained in:
parent
b4ea053a05
commit
a5e73e96f6
25
INSTALL
25
INSTALL
|
@ -48,13 +48,14 @@ OVERVIEW:
|
||||||
accessible in your path: mv, rm
|
accessible in your path: mv, rm
|
||||||
|
|
||||||
|
|
||||||
3. Edit the ezmlmwebrc file and alter the variables to suit your
|
3. Edit the examples/ezmlmwebrc.dist file and alter the variables to suit
|
||||||
particular system.
|
your particular system.
|
||||||
|
|
||||||
Be careful about the $LIST_DIR variable. This script assumes that all
|
Be careful about the $LIST_DIR variable. This script assumes that
|
||||||
users store their mailing lists in the same sub directory of the home
|
all users store their mailing lists in the same sub directory of the
|
||||||
directory (eg ~/lists). You can override this for an individual user
|
home directory (eg ~/lists). You can override this for an individual
|
||||||
by recompiling the C wrapper to call ezmlm-web.cgi with a -d option.
|
user by recompiling the C wrapper to call ezmlm-web.cgi with a -d
|
||||||
|
option.
|
||||||
|
|
||||||
Other configurable options are documented in the ezmlmwebrc file
|
Other configurable options are documented in the ezmlmwebrc file
|
||||||
itself. I have tried to keep the amount of information that you need to
|
itself. I have tried to keep the amount of information that you need to
|
||||||
|
@ -64,9 +65,9 @@ OVERVIEW:
|
||||||
The directory containing ezmlm-web's language files should be something
|
The directory containing ezmlm-web's language files should be something
|
||||||
like '/usr/local/share/ezmlm-web/lang':
|
like '/usr/local/share/ezmlm-web/lang':
|
||||||
mkdir -p /usr/local/share/ezmlm-web
|
mkdir -p /usr/local/share/ezmlm-web
|
||||||
cp -r lang /usr/local/share/ezmlm-web
|
cp -r share/lang /usr/local/share/ezmlm-web
|
||||||
You can change this default location in the ezmlmwebrc file.
|
You can change this default location in the ezmlmwebrc file.
|
||||||
Do the same with the template directory (e.g copy it
|
Do the same with the share/template directory (e.g copy it
|
||||||
to /usr/local/share/ezmlm-web/template). Then you also have to
|
to /usr/local/share/ezmlm-web/template). Then you also have to
|
||||||
set the appropriate location in the ezmlmwebrc file.
|
set the appropriate location in the ezmlmwebrc file.
|
||||||
|
|
||||||
|
@ -82,7 +83,7 @@ OVERVIEW:
|
||||||
4. Edit the index.c file and change the path to the path of your copy
|
4. Edit the index.c file and change the path to the path of your copy
|
||||||
of ezmlm-web.cgi. Then compile this file. You can do this by issuing
|
of ezmlm-web.cgi. Then compile this file. You can do this by issuing
|
||||||
this command:
|
this command:
|
||||||
gcc -o index.cgi index.c
|
gcc -o index.cgi share/index.c
|
||||||
|
|
||||||
|
|
||||||
5. For every user/virtual host that needs to manage mailing lists, you
|
5. For every user/virtual host that needs to manage mailing lists, you
|
||||||
|
@ -131,11 +132,13 @@ OVERVIEW:
|
||||||
AuthType Basic
|
AuthType Basic
|
||||||
AuthUserFile /path/to/passwordfile
|
AuthUserFile /path/to/passwordfile
|
||||||
require valid-user # or require user username
|
require valid-user # or require user username
|
||||||
|
|
||||||
|
You may use examples/htaccess.dist as a template.
|
||||||
|
|
||||||
Again, see the ApacheWeek article for details.
|
Again, see the ApacheWeek article for details.
|
||||||
|
|
||||||
|
|
||||||
7. You should copy the stylesheet file (css/default.css) to a location
|
7. You should copy the stylesheet file (share/css/default.css) to a location
|
||||||
of your choice. It has to be accessible by an URL - maybe a place like
|
of your choice. It has to be accessible by an URL - maybe a place like
|
||||||
"/var/www/ezmlm-web.css" could be appropriate.
|
"/var/www/ezmlm-web.css" could be appropriate.
|
||||||
Now you may have to change the "HTML_CSS_FILE" setting in your
|
Now you may have to change the "HTML_CSS_FILE" setting in your
|
||||||
|
@ -151,7 +154,7 @@ OVERVIEW:
|
||||||
option correctly in ezmlmwebrc. Check it again.
|
option correctly in ezmlmwebrc. Check it again.
|
||||||
|
|
||||||
If anything failes - take a look at the web server's error log
|
If anything failes - take a look at the web server's error log
|
||||||
(e.g /var/log/apache/error.log).
|
(e.g. /var/log/apache/error.log).
|
||||||
|
|
||||||
|
|
||||||
9. If you have any problems:
|
9. If you have any problems:
|
||||||
|
|
133
README
133
README
|
@ -10,7 +10,6 @@ Contents
|
||||||
I. Copyright Stuff
|
I. Copyright Stuff
|
||||||
II. Some Background
|
II. Some Background
|
||||||
III. Requirements
|
III. Requirements
|
||||||
IV. Files
|
|
||||||
V. Notes
|
V. Notes
|
||||||
VI. Multi-level list access
|
VI. Multi-level list access
|
||||||
VII. Language Portability
|
VII. Language Portability
|
||||||
|
@ -56,45 +55,8 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
II. Some Background
|
II. Requirements
|
||||||
===================
|
================
|
||||||
[this text was written by Guy Antony Halse - the original author of ezmlm-web]
|
|
||||||
The need for ezmlm-web arose from the fact that we host many student
|
|
||||||
societies on our system. These societies usually have a virtual host for web
|
|
||||||
and email, which is administered by a computer rep from the society. These
|
|
||||||
computer reps often have little or no knowledge of Unix and so we needed a
|
|
||||||
user friendly system that would let the create and maintain mailing lists
|
|
||||||
(such as members@foo.soc.ru.ac.za, committee@foo.soc.ru.ac.za, etc).
|
|
||||||
|
|
||||||
Since I am never keen to re-invent the wheel, I had a look at Steve Peterson's
|
|
||||||
script (http://virtation.com/qmail/ml-sub), which allows people to subscribe
|
|
||||||
and unsubscribe from mailing lists using a form->email gateway. This is fine
|
|
||||||
for putting on a web page saying "here come and join our mailing list", but
|
|
||||||
doesn't really allow you to administrate a list.
|
|
||||||
|
|
||||||
Security of mailing lists was a concern, as we really didn't want
|
|
||||||
unauthorised people to be able to alter some users list. Ezmlm-web itself
|
|
||||||
implements no security checks (apart from un-tainting input) and so relies
|
|
||||||
on the web server to do this (re-inventing the wheel again :). We use an
|
|
||||||
Apache webserver, so one can control access to a directory using a .htaccess
|
|
||||||
file or in the access.conf file. ApacheWeek have a good article on doing
|
|
||||||
this at http://www.apacheweek.com/features/userauth. I also give examples
|
|
||||||
later in this document.
|
|
||||||
|
|
||||||
This version of ezmlm-web is based to a large extent on previous
|
|
||||||
versions that I have developed. It has however been totally re-written to
|
|
||||||
make use of the Mail::Ezmlm perl module I wrote. At the same time it was
|
|
||||||
updated and extended to include the new features of ezmlm-idx. It includes
|
|
||||||
many new features that have been suggested to me over the last few months,
|
|
||||||
and hopefully is now useful to a much larger group of people.
|
|
||||||
|
|
||||||
Since 02005 ezmlm-web is maintained by Lars Kruse (ezmlm-web@sumpfralle.de).
|
|
||||||
Only minor improvements had to be implemented to keep the already fully
|
|
||||||
functional ezmlm-web up to date.
|
|
||||||
|
|
||||||
|
|
||||||
III. Requirements
|
|
||||||
=================
|
|
||||||
This version of ezmlm-web requires the following;
|
This version of ezmlm-web requires the following;
|
||||||
|
|
||||||
* qmail v1.03
|
* qmail v1.03
|
||||||
|
@ -125,59 +87,8 @@ You can download clearsilver (a templating engine - it is required since
|
||||||
ezmlm-web v3.0) from http://clearsilver.net.
|
ezmlm-web v3.0) from http://clearsilver.net.
|
||||||
|
|
||||||
|
|
||||||
IV. Files
|
III. Notes
|
||||||
=========
|
==========
|
||||||
In this distribution you should find the following files;
|
|
||||||
|
|
||||||
README (optional) This file. Provides some background information.
|
|
||||||
|
|
||||||
INSTALL (optional) Notes on installation.
|
|
||||||
|
|
||||||
INSTALL.clearsilver (optional) Notes on the installation of clearsilver.
|
|
||||||
|
|
||||||
CHANGES (optional) The change history.
|
|
||||||
|
|
||||||
UPGRADING (optional) Notes on upgrading ezmlm-web from a previous version.
|
|
||||||
|
|
||||||
TODO (optional) This file is a list of things I intend doing in future
|
|
||||||
versions of ezmlm-web.
|
|
||||||
|
|
||||||
ezmlm-web.cgi (required) The ezmlm-web cgi script in perl. You will need it :)
|
|
||||||
|
|
||||||
index.c (recommended) A C wrapper to allow ezmlm-web.cgi to run
|
|
||||||
suid. Not strictly necessary if your setup allows perl scripts
|
|
||||||
to run suid, but I prefer using wrappers anyway. It needs to
|
|
||||||
be edited and compiled to suit your system. Not needed to
|
|
||||||
run ezmlm-web.
|
|
||||||
|
|
||||||
ezmlmwebrc (required) This is the configuration file for ezmlm-web.
|
|
||||||
All options are explained in this example file. You will need
|
|
||||||
this file to run ezmlm-web.
|
|
||||||
|
|
||||||
htaccess.sample (recommended) A sample Apache .htaccess file for controlling access to
|
|
||||||
the mailing lists. If you use another web server, you will
|
|
||||||
have to work this bit out for yourself.
|
|
||||||
|
|
||||||
webusers.sample (recommended) A sample webusers file for multi-level access control.
|
|
||||||
|
|
||||||
lang (directory, required) It contains the language files. You will need
|
|
||||||
at least the one, that you have choosen in "ezmlmwebrc" by
|
|
||||||
the option "HTML_LANGUAGE".
|
|
||||||
|
|
||||||
css (directory, recommended) Here you find available css stylesheet files.
|
|
||||||
Pick the one you like (for now, there is only one choice :)) and
|
|
||||||
set it up by pointing the "HTML_CSS_FILE" setting in your
|
|
||||||
"ezmlmwebrc" to an appropriate URL.
|
|
||||||
|
|
||||||
template (directory, required) The clearsilver template files in this
|
|
||||||
directory defined the layout of the web interface. You should be able
|
|
||||||
to adapt them to your needs, if you like.
|
|
||||||
|
|
||||||
spec (directory, optional) Some development specific information.
|
|
||||||
|
|
||||||
|
|
||||||
V. Notes
|
|
||||||
=========
|
|
||||||
* There is a function to delete mailing lists, but I really don't like the
|
* There is a function to delete mailing lists, but I really don't like the
|
||||||
idea. The only reason I put it in is that bvi@rucus asked for it.
|
idea. The only reason I put it in is that bvi@rucus asked for it.
|
||||||
If you set $UNSAFE_RD = 0 (the default) in the config section, the
|
If you set $UNSAFE_RD = 0 (the default) in the config section, the
|
||||||
|
@ -197,8 +108,8 @@ V. Notes
|
||||||
with this kind of setup :)
|
with this kind of setup :)
|
||||||
|
|
||||||
|
|
||||||
VI. Multi-Level Access
|
IV. Multi-Level Access
|
||||||
=======================
|
======================
|
||||||
Ezmlm-web has a multi-level access system. This depends on a file called
|
Ezmlm-web has a multi-level access system. This depends on a file called
|
||||||
webusers being present in $LIST_DIR. If the file is not present, then ANY
|
webusers being present in $LIST_DIR. If the file is not present, then ANY
|
||||||
valid user has access to all lists. If, however, this file exists a number
|
valid user has access to all lists. If, however, this file exists a number
|
||||||
|
@ -237,9 +148,9 @@ use of this option is deprecated, since the line "ALLOW_CREATE: ALL" provides
|
||||||
the same effect in a cleaner way.
|
the same effect in a cleaner way.
|
||||||
|
|
||||||
|
|
||||||
VII. Language Portablity
|
V. Language Portablity
|
||||||
=========================
|
======================
|
||||||
One of the great new features of version 2.0 is that it is essentially
|
One of the great new features since version 2.0 is that it is essentially
|
||||||
language independant. All of the fixed strings, help, etc is defined in the
|
language independant. All of the fixed strings, help, etc is defined in the
|
||||||
files of the lang directory. Of course you can change them or create a new
|
files of the lang directory. Of course you can change them or create a new
|
||||||
translation.
|
translation.
|
||||||
|
@ -256,15 +167,15 @@ Secondly, please mail me a copy (ezmlm-web@sumpfralle.de) so that I may use
|
||||||
them in any future releases of ezmlm-web.
|
them in any future releases of ezmlm-web.
|
||||||
|
|
||||||
|
|
||||||
VIII. Encrypted mailing lists
|
VI. Encrypted mailing lists
|
||||||
=============================
|
===========================
|
||||||
If you want to manage encrypted mailing lists (see
|
If you want to manage encrypted mailing lists (see
|
||||||
http://www.synacklabs.net/projects/crypt-ml/) with ezmlm-web, then you should
|
http://www.synacklabs.net/projects/crypt-ml/) with ezmlm-web, then you should
|
||||||
read README.gnupg and follow the instructions.
|
read README.gnupg and follow the instructions.
|
||||||
|
|
||||||
|
|
||||||
IX. Bugs && Bug Reports
|
VII. Bugs && Bug Reports
|
||||||
=======================
|
========================
|
||||||
I don't know of any bugs, but then this is a rewrite and a first release. It
|
I don't know of any bugs, but then this is a rewrite and a first release. It
|
||||||
has been tested reasonably well, but not exhaustively. I know it works on
|
has been tested reasonably well, but not exhaustively. I know it works on
|
||||||
FreeBSD 4.0-STABLE, FreeBSD 3.4-RELEASE, RedHat 5.1, Redhat 6.0 and Debian
|
FreeBSD 4.0-STABLE, FreeBSD 3.4-RELEASE, RedHat 5.1, Redhat 6.0 and Debian
|
||||||
|
@ -279,8 +190,8 @@ Or subscribe to the ezmlm-web mailinglist:
|
||||||
ezmlm-web-subscribe@lists.systemausfall.org
|
ezmlm-web-subscribe@lists.systemausfall.org
|
||||||
|
|
||||||
|
|
||||||
X. Acknowledgements
|
VIII. Acknowledgements
|
||||||
===================
|
======================
|
||||||
* Guy Antony Halse (guy-ezmlm@rucus.ru.ac.za) - he created ezmlm-web
|
* Guy Antony Halse (guy-ezmlm@rucus.ru.ac.za) - he created ezmlm-web
|
||||||
and maintained it till 02005
|
and maintained it till 02005
|
||||||
* Keith Burdis (keith@rucus.ru.ac.za) - For constantly bugging me (Guy) and
|
* Keith Burdis (keith@rucus.ru.ac.za) - For constantly bugging me (Guy) and
|
||||||
|
@ -304,16 +215,20 @@ X. Acknowledgements
|
||||||
interface for v3.0
|
interface for v3.0
|
||||||
|
|
||||||
|
|
||||||
XI. Availability
|
IX. Availability
|
||||||
=================
|
================
|
||||||
More information on ezmlm-web and developments to ezmlm-web can be found at:
|
More information on ezmlm-web and developments to ezmlm-web can be found at:
|
||||||
https://systemausfall.org/toolforge/ezmlm-web
|
https://systemausfall.org/toolforge/ezmlm-web/
|
||||||
|
|
||||||
The public subversion repository is at:
|
The public subversion repository is at:
|
||||||
https://svn.systemausfall.org/svn/ezmlm-web
|
https://svn.systemausfall.org/svn/ezmlm-web/
|
||||||
|
|
||||||
The website of Guy Antony Halse (the author of ezmlm-web) is still at:
|
The (inofficial) debian repository containing ezmlm-web is at:
|
||||||
|
http://systemausfall.org/toolforge/debian/
|
||||||
|
|
||||||
|
The website of Guy Antony Halse (the original author of ezmlm-web) is still at:
|
||||||
http://rucus.ru.ac.za/~guy/ezmlm/
|
http://rucus.ru.ac.za/~guy/ezmlm/
|
||||||
|
|
||||||
The old ftp-archive of ezmlm-web is still available on:
|
The old ftp-archive of ezmlm-web is still available on:
|
||||||
ftp://rucus.ru.ac.za/pub/mail/ezmlm/
|
ftp://rucus.ru.ac.za/pub/mail/ezmlm/
|
||||||
|
|
||||||
|
|
58
README.gnupg
58
README.gnupg
|
@ -9,42 +9,46 @@ Content:
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
1) Requirements
|
1) Requirements
|
||||||
To use encrypted mailing lists, you need to install gpg-ezmlm (see
|
To use encrypted mailing lists, you need to install gpg-ezmlm (see
|
||||||
http://www.synacklabs.net/projects/crypt-ml/). It is essential to use
|
http://www.synacklabs.net/projects/crypt-ml/). It is essential to use
|
||||||
at least version 0.3.4.
|
at least version 0.3.4.
|
||||||
gpg-ezmlm will handle your incoming and outgoing mails. It does not
|
gpg-ezmlm will handle your incoming and outgoing mails. It does not
|
||||||
support all the features of ezmlm-idx, but it should suffice for the
|
support all the features of ezmlm-idx, but it should suffice for the
|
||||||
specialized needs of encrypted communication for small groups.
|
specialized needs of encrypted communication for small groups.
|
||||||
|
|
||||||
Install the perl module Mail::Ezmlm::Gpg to access gpg-ezmlm. You can
|
Install the perl module Mail::Ezmlm::Gpg to access gpg-ezmlm. You can
|
||||||
downloaded it from
|
downloaded it from
|
||||||
https://systemausfall.org/toolforge/ezmlm-web/downloads/gnupg-support.
|
https://systemausfall.org/toolforge/ezmlm-web/downloads/Ezmlm-Gpg.
|
||||||
|
|
||||||
Of course, you also need gnupg (it is required by gpg-ezmlm, too).
|
Of course, you also need gnupg (it is required by gpg-ezmlm, too).
|
||||||
|
|
||||||
|
|
||||||
2) Installation
|
2) Installation
|
||||||
Follow the instructions in the README file of gpg-ezmlm.
|
Follow the instructions in the README file of gpg-ezmlm.
|
||||||
Usually it should boil down to the following commands:
|
Usually it should boil down to the following commands:
|
||||||
perl Makefile.PL
|
perl Makefile.PL
|
||||||
make
|
make
|
||||||
make install
|
make test
|
||||||
|
make install
|
||||||
|
|
||||||
|
|
||||||
3) Setup of ezmlm-web
|
3) Setup of ezmlm-web
|
||||||
The location of the encryption configuration file for ezmlm-web depends
|
The location of the encryption configuration file for ezmlm-web depends
|
||||||
on the location of your ezmlmwebrc file. ezmlm-web will just check, if
|
on the location of your ezmlmwebrc file. ezmlm-web will just check, if
|
||||||
a file prefixed with ".gnupg" exists besides ezmlmwebrc.
|
a file prefixed with ".gnupg" exists besides ezmlmwebrc.
|
||||||
In short: you have to put it into the same directory, as you placed your
|
In short: you have to put it into the same directory, as you placed your
|
||||||
ezmlmwebrc. ezmlm-web will NOT look into any other location.
|
ezmlmwebrc. ezmlm-web will NOT look into any other location.
|
||||||
|
|
||||||
To support the setup of encrypted mailing lists, you have to include the
|
To support the setup of encrypted mailing lists, you have to include the
|
||||||
following lines in your ezmlmwebrc.gnupg file.
|
following lines in your ezmlmwebrc.gnupg file.
|
||||||
use Mail::Ezmlm::Gpg;
|
use Mail::Ezmlm::Gpg;
|
||||||
GPG_SUPPRT = yes;
|
GPG_SUPPRT = yes;
|
||||||
|
|
||||||
|
You can find a documented example of the ezmlmwebrc.gnupg file in the
|
||||||
|
examples directory.
|
||||||
|
|
||||||
4) Notes
|
4) Notes
|
||||||
As soon as you installed all the necessary programs and after you did put
|
As soon as you installed all the necessary programs and after you did put
|
||||||
the ezmlmwebrc.gnupg to the right location, you will find a new link in the
|
the ezmlmwebrc.gnupg to the right location, you will find a new link in the
|
||||||
navigation bar of ezmlm-web named "Encryption".
|
navigation bar of ezmlm-web named "Encryption".
|
||||||
|
|
||||||
|
|
3
TODO
3
TODO
|
@ -7,10 +7,7 @@ restore user input after failed list_create (especially options)
|
||||||
support for:
|
support for:
|
||||||
* show subscription log
|
* show subscription log
|
||||||
* 'mailinglist' (maybe)
|
* 'mailinglist' (maybe)
|
||||||
* config directory (maybe)
|
|
||||||
* gpg-ezmlm (defenitely)
|
|
||||||
|
|
||||||
interface language switch support
|
|
||||||
choose basic/expert to disable questions
|
choose basic/expert to disable questions
|
||||||
|
|
||||||
export subscribers
|
export subscribers
|
||||||
|
|
|
@ -31,6 +31,8 @@ use English; # for dropping privileges
|
||||||
$UID = $EUID;
|
$UID = $EUID;
|
||||||
$GID = $EGID;
|
$GID = $EGID;
|
||||||
|
|
||||||
|
$VERSION = '3.2';
|
||||||
|
|
||||||
my $q = new CGI;
|
my $q = new CGI;
|
||||||
$q->import_names('Q');
|
$q->import_names('Q');
|
||||||
use vars qw[$opt_c $opt_d $opt_C];
|
use vars qw[$opt_c $opt_d $opt_C];
|
||||||
|
|
Loading…
Reference in a new issue