changed fancy listing of files in download directory
improved directory structure
This commit is contained in:
parent
b4ea053a05
commit
a5e73e96f6
97 changed files with 71 additions and 150 deletions
25
INSTALL
25
INSTALL
|
@ -48,13 +48,14 @@ OVERVIEW:
|
|||
accessible in your path: mv, rm
|
||||
|
||||
|
||||
3. Edit the ezmlmwebrc file and alter the variables to suit your
|
||||
particular system.
|
||||
3. Edit the examples/ezmlmwebrc.dist file and alter the variables to suit
|
||||
your particular system.
|
||||
|
||||
Be careful about the $LIST_DIR variable. This script assumes that all
|
||||
users store their mailing lists in the same sub directory of the home
|
||||
directory (eg ~/lists). You can override this for an individual user
|
||||
by recompiling the C wrapper to call ezmlm-web.cgi with a -d option.
|
||||
Be careful about the $LIST_DIR variable. This script assumes that
|
||||
all users store their mailing lists in the same sub directory of the
|
||||
home directory (eg ~/lists). You can override this for an individual
|
||||
user by recompiling the C wrapper to call ezmlm-web.cgi with a -d
|
||||
option.
|
||||
|
||||
Other configurable options are documented in the ezmlmwebrc file
|
||||
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
|
||||
like '/usr/local/share/ezmlm-web/lang':
|
||||
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.
|
||||
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
|
||||
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
|
||||
of ezmlm-web.cgi. Then compile this file. You can do this by issuing
|
||||
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
|
||||
|
@ -131,11 +132,13 @@ OVERVIEW:
|
|||
AuthType Basic
|
||||
AuthUserFile /path/to/passwordfile
|
||||
require valid-user # or require user username
|
||||
|
||||
You may use examples/htaccess.dist as a template.
|
||||
|
||||
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
|
||||
"/var/www/ezmlm-web.css" could be appropriate.
|
||||
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.
|
||||
|
||||
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:
|
||||
|
|
133
README
133
README
|
@ -10,7 +10,6 @@ Contents
|
|||
I. Copyright Stuff
|
||||
II. Some Background
|
||||
III. Requirements
|
||||
IV. Files
|
||||
V. Notes
|
||||
VI. Multi-level list access
|
||||
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.
|
||||
|
||||
|
||||
II. Some Background
|
||||
===================
|
||||
[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
|
||||
=================
|
||||
II. Requirements
|
||||
================
|
||||
This version of ezmlm-web requires the following;
|
||||
|
||||
* 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.
|
||||
|
||||
|
||||
IV. Files
|
||||
=========
|
||||
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
|
||||
=========
|
||||
III. Notes
|
||||
==========
|
||||
* 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.
|
||||
If you set $UNSAFE_RD = 0 (the default) in the config section, the
|
||||
|
@ -197,8 +108,8 @@ V. Notes
|
|||
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
|
||||
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
|
||||
|
@ -237,9 +148,9 @@ use of this option is deprecated, since the line "ALLOW_CREATE: ALL" provides
|
|||
the same effect in a cleaner way.
|
||||
|
||||
|
||||
VII. Language Portablity
|
||||
=========================
|
||||
One of the great new features of version 2.0 is that it is essentially
|
||||
V. Language Portablity
|
||||
======================
|
||||
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
|
||||
files of the lang directory. Of course you can change them or create a new
|
||||
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.
|
||||
|
||||
|
||||
VIII. Encrypted mailing lists
|
||||
=============================
|
||||
VI. Encrypted mailing lists
|
||||
===========================
|
||||
If you want to manage encrypted mailing lists (see
|
||||
http://www.synacklabs.net/projects/crypt-ml/) with ezmlm-web, then you should
|
||||
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
|
||||
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
|
||||
|
@ -279,8 +190,8 @@ Or subscribe to the ezmlm-web mailinglist:
|
|||
ezmlm-web-subscribe@lists.systemausfall.org
|
||||
|
||||
|
||||
X. Acknowledgements
|
||||
===================
|
||||
VIII. Acknowledgements
|
||||
======================
|
||||
* Guy Antony Halse (guy-ezmlm@rucus.ru.ac.za) - he created ezmlm-web
|
||||
and maintained it till 02005
|
||||
* Keith Burdis (keith@rucus.ru.ac.za) - For constantly bugging me (Guy) and
|
||||
|
@ -304,16 +215,20 @@ X. Acknowledgements
|
|||
interface for v3.0
|
||||
|
||||
|
||||
XI. Availability
|
||||
=================
|
||||
IX. Availability
|
||||
================
|
||||
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:
|
||||
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/
|
||||
|
||||
The old ftp-archive of ezmlm-web is still available on:
|
||||
ftp://rucus.ru.ac.za/pub/mail/ezmlm/
|
||||
|
||||
|
|
58
README.gnupg
58
README.gnupg
|
@ -9,42 +9,46 @@ Content:
|
|||
------------------------------
|
||||
|
||||
1) Requirements
|
||||
To use encrypted mailing lists, you need to install gpg-ezmlm (see
|
||||
http://www.synacklabs.net/projects/crypt-ml/). It is essential to use
|
||||
at least version 0.3.4.
|
||||
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
|
||||
specialized needs of encrypted communication for small groups.
|
||||
To use encrypted mailing lists, you need to install gpg-ezmlm (see
|
||||
http://www.synacklabs.net/projects/crypt-ml/). It is essential to use
|
||||
at least version 0.3.4.
|
||||
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
|
||||
specialized needs of encrypted communication for small groups.
|
||||
|
||||
Install the perl module Mail::Ezmlm::Gpg to access gpg-ezmlm. You can
|
||||
downloaded it from
|
||||
https://systemausfall.org/toolforge/ezmlm-web/downloads/gnupg-support.
|
||||
Install the perl module Mail::Ezmlm::Gpg to access gpg-ezmlm. You can
|
||||
downloaded it from
|
||||
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
|
||||
Follow the instructions in the README file of gpg-ezmlm.
|
||||
Usually it should boil down to the following commands:
|
||||
perl Makefile.PL
|
||||
make
|
||||
make install
|
||||
Follow the instructions in the README file of gpg-ezmlm.
|
||||
Usually it should boil down to the following commands:
|
||||
perl Makefile.PL
|
||||
make
|
||||
make test
|
||||
make install
|
||||
|
||||
|
||||
3) Setup of ezmlm-web
|
||||
The location of the encryption configuration file for ezmlm-web depends
|
||||
on the location of your ezmlmwebrc file. ezmlm-web will just check, if
|
||||
a file prefixed with ".gnupg" exists besides ezmlmwebrc.
|
||||
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.
|
||||
The location of the encryption configuration file for ezmlm-web depends
|
||||
on the location of your ezmlmwebrc file. ezmlm-web will just check, if
|
||||
a file prefixed with ".gnupg" exists besides ezmlmwebrc.
|
||||
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.
|
||||
|
||||
To support the setup of encrypted mailing lists, you have to include the
|
||||
following lines in your ezmlmwebrc.gnupg file.
|
||||
use Mail::Ezmlm::Gpg;
|
||||
GPG_SUPPRT = yes;
|
||||
To support the setup of encrypted mailing lists, you have to include the
|
||||
following lines in your ezmlmwebrc.gnupg file.
|
||||
use Mail::Ezmlm::Gpg;
|
||||
GPG_SUPPRT = yes;
|
||||
|
||||
You can find a documented example of the ezmlmwebrc.gnupg file in the
|
||||
examples directory.
|
||||
|
||||
4) Notes
|
||||
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
|
||||
navigation bar of ezmlm-web named "Encryption".
|
||||
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
|
||||
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:
|
||||
* show subscription log
|
||||
* 'mailinglist' (maybe)
|
||||
* config directory (maybe)
|
||||
* gpg-ezmlm (defenitely)
|
||||
|
||||
interface language switch support
|
||||
choose basic/expert to disable questions
|
||||
|
||||
export subscribers
|
||||
|
|
|
@ -31,6 +31,8 @@ use English; # for dropping privileges
|
|||
$UID = $EUID;
|
||||
$GID = $EGID;
|
||||
|
||||
$VERSION = '3.2';
|
||||
|
||||
my $q = new CGI;
|
||||
$q->import_names('Q');
|
||||
use vars qw[$opt_c $opt_d $opt_C];
|
||||
|
|
Loading…
Reference in a new issue