I don't mind setting it via editing a file but the thing that is a
PITA is having to redo it each time I upgrade Would it be possible to have an external config file that could also be edited via the web?
I'm against having the external config able to be edited via the web
- it's possible, yes, but it's just not part of the program itself
It makes me sleep a little more soundly at night knowing there's no
way to change the root password of Dada Mail via your web browser
I
think I commented earlier that this would be a fine side project,
that could be worked on independently of Dada Mail
Saying all that, you can have an external config file - it's how I do
all my installs - here's the How-To:
http://mojo
skazat
com/support/documentation/
Config pm html#programconfig_file_dir
$PROGRAM_CONFIG_FILE_DIR
This is how you can set all the variables located in the Config
pm
module outside of the module itself
Why would you want to do that?
It makes Dada Mail more upgradable: every time you upgrade Dada Mail
you don't have to tweak this file (or tweak it only slightly); you
just throw up the new distro and away you go! Now, Dada Mail finds
this external config file in a bunch of ways
You can implicitly set the directory it lives in by changing the
$PROGRAM_CONFIG_FILE_DIR variable that lives inside the Config
pm
module
Wherever the external config file lives, it needs to be
called
dada_config
If you don't change the $PROGRAM_CONFIG_FILE_DIR variable in the
Config
pm file, Dada Mail will try to look in your home directory for
the
dada_config file
It tries to find your home directory in
different places, one is the Environment Variable $ENV{'HOME'} and by
called the getpwuid() function as so:
getpwuid $> )[7]
The rub with these is that you usually can't get anything from the
getpwuid() function unless you run the script as the same user that
created it, ie via suEXEC or by setting the setuid bit
So, knowing this, the easiest, most suprise-unfriendly way to set
the
dada_config file directory location is to sigh set it in this
here Config
pm module
I'll leave setting the setuid bit for scripts
that use the Config
pm file decision up to you
If you don't set any of the above, Config
pm will use the same
directory that it's in as the directory to find the
dada_config
file, which I guess ain't the worst way to go about things
Anyways, an example of a dada_config file would look like this:
$PROGRAM_ROOT_PASSWORD = 'root_password'; $FILES = '/home/home_dir/dada_lists_dir'; $MAILPROG = '/usr/lib/sendmail'; $PROGRAM_URL = 'http://yoursite com/cgi-bin/dada/mail cgi';
Pretty much any variable, array or hash can be saved in
the
dada_config file, as long as it's not set inside a BEGIN{}
block, which leaves out $PROGRAM_ERROR_LOG and @AnyDBM_File::ISA
Treat
dada_config as a file that gets eval() right into Config
pm
because, well, that's what happens
Because of this, great care
should be made in where you put
dada_config
The $PROGRAM_CONFIG_FILE_DIR is located at the top of the Config
pm
file, right after the first 4 variables for easy getting-at and
fumbling
If you need to set a variable in the outside config file to '0', it
may not work
Instead, try setting it to '2'
Start a new thread, email: dadadev@dadamailproject.com
This is the developer discussion mailing list for Dada Mail.
If you are just looking for support Dada Mail, consult the message boards at:
https://forum.dadamailproject.com
Documentation for Dada Mail:
Specifically, see the Error FAQ:
https://dadamailproject.com/d/FAQ-errors.pod.html
To post to this list, send a message to:
mailto:dadadev@dadamailproject.com
All subscribers of this list may post to the list itself.
Topics that are welcome:
Dada Mail is on Github:
https://github.com/justingit/dada-mail/
If you would like to fork, branch, send over PRs, open up issues, etc.
This Privacy Policy is for this mailing list, and this mailing list only.
Email addresses collection through this mailing list are used explicitly to work within this email discussion list.
We only collect email addresses through our Closed-Loop Opt-In system.
We don't use your email address for any other purpose.
We won't be sharing your email address with any other entity.
Unsubscription can be done at any time. Please contact us at: justin@dadamailproject.com for any help regarding your subscription, including removal from the mailing list.
All mailing list messages sent from us will include a subscription removal link, which will allow you to remove yourself from this mailing list automatically, and permanently.
All consent to use your email address for any other purpose stated at the time of the mailing list subscription will also be revoked upon mailing list removal.