Install Dada Mail, Command Line Interface
- Dada Mail Installation/Configuration - Command Line Interface
- Installing Dada Mail via the CLI
- Introduction to the Installation/Configuration Process
- Required Paramaters
- Optional Paramaters
- Other Paramaters
Dada Mail Installation/Configuration - Command Line Interface
Dada Mail is installed/configured using the included installer, either using the installer's web-based interface, or the command line interface.
The web-based interface works great if you are setting up and running Dada Mail in a CGI environment. Otherwise, you probably will want to use the command line interface.
Installing Dada Mail via the CLI
Download Dada Mail
The latest version of Dada Mail will be listed on:
if you are a Pro Dada subscription, you may download the most recent version of Pro Dada at:
Copy the distribution to the directory you would like to install Dada Mail under.
Uncompress the Distribution
Uncompress Dada Mail - this will create a new directory named
dada. Change into this directory:
gunzip dada_mail-v11_22_0_stable_2023-09-18.tar.gz tar -xvf dada_mail-v11_22_0_stable_2023-09-18.tar cd dada
dada directory, rename the,
installer-disabled directory to simply,
install and change into this directory. Once in the
installer directory, change the permissions of the
install.cgi script to,
mv installer-disabled installer cd installer chmod 755 install.cgi
You're now ready to run the
install.cgi install/configuration script.
To make sure permissions are set correctly, we suggest running the
install.cgi script under the same owner as will run Dada Mail (or change the ownership of the files at a later on - just don't forget!)
Introduction to the Installation/Configuration Process
install.cgi script takes care of the following jobs:
Creates the .dada_files directory structure
Dada Mail uses this directory structure to save it's configuration file, and keep its temporary files, among other things. If you use SQLite for your backend, the SQLite database will be saved here, as well.
Writes the .dada_config configuration file.
Dada Mail's global configuration file is called,
.dada_configand is itself written in Perl. Any global changes you would like to make to Dada Mail should be made in this file. The global defaults are located in
dada/DADA/Config.pm, it is not suggested that you make changes to this file.
Copies over static files
Dada Mail has a collection of static files that need to be copied over.
dada_mail_support_files. The collection of these files will be copied from the,
dada/staticdirectory of the distribution.
Verifies configuration information
The installer will try to make sure that the information you submit is correct - files can be written where you ask them to be written, the database connection works, etc.
install.cgi script does not take care of any web server configuration. If you run Dada Mail under PSGI/Plack, you will need to configure your webserver (nginx, most likely) to run Dada Mail, once you start the PSGI process.
More on running Dada Mail under PSGI/Plack:
The following parameters are required, if you're installing Dada Mail. If you are upgrading Dada Mail, there are separate options to make things easier:
Dada Mail needs a certain directory structure to keep its configuration files, temporary files, etc in. The top directory will be called, ".dada_files" and will need to be readable/writable to whatever process runs Dada Mail.
--dada_files_loc to the parent directory you would like the .dada_files directory to be created in.
The URL that will be used to access Dada Mail.
The Dada Mail Root Password you'd like to use
--support_files_dir_path should contain the absolute server path to this directory
--support_files_dir_url should contain the URL that maps to this directory
The backend you'd like to use. Can be set to use any of the following:
Uses a MySQL database
Uses a PostgreSQL database
Uses a SQLite database - good for testing/development, but most likely not something you want to use for production use.
If you set,
--backend to either,
Pg, you will also have to pass the following parameters:
The SQL server
SQL port - can be set to, "auto" to choose the default port for mysql and Pg
The name of your SQL database
Your SQL username
Your SQL password
Dada Mail defaults to, "CGI". Supported are the following:
When running Dada Mail as a CGI scripts using something like Apache and mod_cgi, most likely in a shared hosting environment. This is the default configuration, so you will not need to pass this parameter if you would like to run under CGI.
This will set up Dada Mail to run as a FastCGI script using CGI::Fast. This would be useful if you're running under Apache, but would like to run Dada Mail as a FastCGI script using mod_fastcgi or mod_fcgi.
If you want to run Dada Mail under a reverse proxy, we'd suggest instead using the PSGI deployment option instead
Use this option to run Dada Mail under PSGI/Plack. Doing so will set up Dada Mail's own "app.psgi" script inside its "dada" directory, which you can then start up and utilize however you would like using the wonders of PSGI:
sudo plackup --port 9090 --host 127.0.0.1
Takes a comma separated (no space between the comma) list of plugin/extension names.
The following plugins/extensions are supported:
This also works:
--install_plugins mailing_monitor --install_plugins change_root_password --install_plugins screen_cache
You may pass one of the following (or both), to setup and install the following WYSIWYG editors:
core5_filemanager to install the Core5 Filemanager.
--install_file_browser (and Dada Mail) only supports installing one file browser/manager at a time.
Dada Mail supports Amazon SES to send messages out, sending verification email messages and to find out your sending stats and limitations. More information on Amazon SES support:
To enable Amazon SES support you will need to pass your
Optionally, you may set the AWS Endpoint. Available endpoints are listed here:
us-eastis used by default - use the full URL listed when setting the region
Dada Mail can be configured to use all, or only part of your total Amazon SES quota. Setting this paramater will allow you to set that amount. For example, to allow Dada Mail to use only 50% of your total SES sending quota, set this paramater to the following:
An example of invoking the installer with the above parameters:
./install.cgi --program_url http://example.com/cgi-bin/dada/mail.cgi \ --dada_root_pass secret \ --dada_files_loc /home/example \ --support_files_dir_path /home/example/public_html \ --support_files_dir_url http://example.com \ --backend mysql \ --sql_server localhost \ --sql_port 3306 \ --sql_database dada_mail \ --sql_username username \ --sql_password password \ --install_plugins mailing_monitor \ --install_plugins change_root_password \ --install_plugins screen_cache \ --install_plugins log_viewer \ --install_plugins tracker \ --install_plugins multiple_subscribe \ --install_plugins blog_index \ --install_plugins change_list_shortname \ --install_wysiwyg_editors ckeditor \ --wysiwyg_editor_install_ckeditor \ --wysiwyg_editor_install_tiny_mce \ --file_browser core5_filemanager
Since the list of options is so long, it may make sense to put the entire command w/options in its own file, so that you can resuse your own recipe for installing Dada Mail in multiple locations.
If you are using the installer to upgrade from an install of dada mail you've installed beforeusing the installer, you may simply pass the,
flag, as well as the,
parameter, and the installer will install Dada Mail, based on the previous values in your global configuration.
You may then pass additional parameters, to augment the previous configuration.
./install.cgi --dada_files_loc /home/account --upgrading
Will upgrade Dada Mail, pulling the previous global config values,
./install.cgi --dada_files_loc /home/account --upgrading \ --install_wysiwyg_editors ckeditor,tiny_mce \ --install_plugins mailing_monitor,change_root_password,screen_cache
Will upgrade Dada Mail, pulling the previous global config values, as well as making sure CKeditor and TinyMCE is installed, and the three plugins listed are also installed.
You CANNOT use the,
--dada_files_dir_setup parameter with the,
--upgrading parameter. You must explicitly set the,
If performing an partial upgrade or doing some of your installation manually, you can tell Dada Mail to skip some of the tests it would usually preform, before configuring Dada Mail:
If you pass this parameter with a value of, "auto", you do not need to pass the, "--dada_files_loc" parameter provided that you're certain that the directory it automatically discovers to create the, ".dada_files" directory structure will be correct. The installer usually guesses the home directory.
By default, the installer will make sure the database you pass in, "--sql_database" doesn't already have the tables required for a Dada Mail install. If you've already set up these tables (for example, in a previous version of Dada Mail) pass this parameter with a value of, "1" to simply use the sql_* parameters you're passing, without attempting to set up the database, itself.
If you pass,
keep_dir_create_new_config, the installer will install Dada Mail, even if a already-existing,
.dada_filesdirectory is found.
If you pass this parameter,
skip_configure_dada_files, NO other parameter is really required, except,
--dada_files_loc, provided that the directory you pass in that parameter has an already-set up
.dada_filesdirectory, including a valid
.dada_configfile. When passing this parameter, this script will simply change the, "dada/DADA/Config.pm" file to point to the already-created
Displays this help doc. Use:
./install.cgi | less
(or something similar) so that the script doesn't zoom to the end.
Please file any problems at: