changed fancy listing of files in download directory

improved directory structure
This commit is contained in:
lars 2006-04-20 00:35:36 +00:00
parent b4ea053a05
commit a5e73e96f6
97 changed files with 71 additions and 150 deletions

25
INSTALL
View file

@ -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
View file

@ -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/

View file

@ -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
View file

@ -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

View file

@ -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];