diff --git a/3-faq-howto/_title.md b/3-faq-howto/_title.md index ac6d01dd..7c1636fe 100644 --- a/3-faq-howto/_title.md +++ b/3-faq-howto/_title.md @@ -1 +1 @@ -Frequently Asked Questions and Howto documents +Frequently Asked Questions diff --git a/3-faq-howto/why.append.timestamp.in.maildir.path.md b/3-faq-howto/why.append.timestamp.in.maildir.path.md new file mode 100644 index 00000000..5f22ce85 --- /dev/null +++ b/3-faq-howto/why.append.timestamp.in.maildir.path.md @@ -0,0 +1,30 @@ +# Why append timestamp in maildir path + +iRedMail will append timestamp in maildir path by default, here's why. + +Depends on the tools/scripts you used to create mail accounts, it's tunable +in scripts shipped within iRedMail and iRedAdmin (file `settings.py`, variable +`MAILDIR_APPEND_TIMESTAMP = True` or `False'). + +Deleting mail accounts with iRedAdmin will not remove the mailboxes on file +system, so that you can keep user's mailbox for some time. + +Think about this situation: + +* Employee Michael Jordan has email address mj@domain.ltd. Without timestamp +in maildir path, the maildir path of his mailbox looks like +`/var/vmail/vmail1/domain.ltd/mj/`. + +* Michael left company, and your company deleted his mail account. With +iRedAdmin, it just deletes mail accounts stored in LDAP/SQL server, not delete +his mailbox on file system (`var/vmail/vmail1/domain.ltd/mj`). + +* A new talent joined in, his name is Mike Jackson, and he want to use +`mj@domain.ltd` since `mj@` is not used by others. And you created it for him. +Without timestamp in maildir path, the maildir path of Mike's mailbox is the +same as Michael's `/var/vmail/vmail1/domain.ltd/mj/`. + +iRedAdmin doesn't remove the mailboxes on file system, so Mike will see all +emails in Michael's mailbox if Michael didn't delete them. To avoid this, we +append a timestamp in maildir path to make sure all users will be assigned +a unique maildir paths. diff --git a/4-howto/_title.md b/4-howto/_title.md new file mode 100644 index 00000000..ea2ab6a2 --- /dev/null +++ b/4-howto/_title.md @@ -0,0 +1 @@ +How to diff --git a/3-faq-howto/allow.user.to.send.email.without.authentication.md b/4-howto/allow.user.to.send.email.without.authentication.md similarity index 100% rename from 3-faq-howto/allow.user.to.send.email.without.authentication.md rename to 4-howto/allow.user.to.send.email.without.authentication.md diff --git a/3-faq-howto/amavisd.no.x-spam.headers.md b/4-howto/amavisd.no.x-spam.headers.md similarity index 100% rename from 3-faq-howto/amavisd.no.x-spam.headers.md rename to 4-howto/amavisd.no.x-spam.headers.md diff --git a/3-faq-howto/completely.disable.amavisd.clamav.spamassassin.md b/4-howto/completely.disable.amavisd.clamav.spamassassin.md similarity index 100% rename from 3-faq-howto/completely.disable.amavisd.clamav.spamassassin.md rename to 4-howto/completely.disable.amavisd.clamav.spamassassin.md diff --git a/3-faq-howto/disable.spam.virus.scanning.for.outgoing.mails.md b/4-howto/disable.spam.virus.scanning.for.outgoing.mails.md similarity index 100% rename from 3-faq-howto/disable.spam.virus.scanning.for.outgoing.mails.md rename to 4-howto/disable.spam.virus.scanning.for.outgoing.mails.md diff --git a/3-faq-howto/howto.configure.thunderbird.for.iredmail.md b/4-howto/howto.configure.thunderbird.for.iredmail.md similarity index 100% rename from 3-faq-howto/howto.configure.thunderbird.for.iredmail.md rename to 4-howto/howto.configure.thunderbird.for.iredmail.md diff --git a/3-faq-howto/howto.enable.smtps.service.md b/4-howto/howto.enable.smtps.service.md similarity index 100% rename from 3-faq-howto/howto.enable.smtps.service.md rename to 4-howto/howto.enable.smtps.service.md diff --git a/3-faq-howto/pipe.incoming.email.for.certain.user.to.external.script.md b/4-howto/pipe.incoming.email.for.certain.user.to.external.script.md similarity index 100% rename from 3-faq-howto/pipe.incoming.email.for.certain.user.to.external.script.md rename to 4-howto/pipe.incoming.email.for.certain.user.to.external.script.md diff --git a/3-faq-howto/recalculate.mailbox.quota.md b/4-howto/recalculate.mailbox.quota.md similarity index 100% rename from 3-faq-howto/recalculate.mailbox.quota.md rename to 4-howto/recalculate.mailbox.quota.md diff --git a/3-faq-howto/store.spamassassin.bayes.in.sql.md b/4-howto/store.spamassassin.bayes.in.sql.md similarity index 100% rename from 3-faq-howto/store.spamassassin.bayes.in.sql.md rename to 4-howto/store.spamassassin.bayes.in.sql.md diff --git a/3-faq-howto/unattended.iredmail.installation.md b/4-howto/unattended.iredmail.installation.md similarity index 100% rename from 3-faq-howto/unattended.iredmail.installation.md rename to 4-howto/unattended.iredmail.installation.md diff --git a/4-backup-restore/_title.md b/5-backup-restore/_title.md similarity index 100% rename from 4-backup-restore/_title.md rename to 5-backup-restore/_title.md diff --git a/4-backup-restore/migrate.to.new.iredmail.server.md b/5-backup-restore/migrate.to.new.iredmail.server.md similarity index 100% rename from 4-backup-restore/migrate.to.new.iredmail.server.md rename to 5-backup-restore/migrate.to.new.iredmail.server.md diff --git a/5-troubleshooting/_title.md b/9-troubleshooting/_title.md similarity index 100% rename from 5-troubleshooting/_title.md rename to 9-troubleshooting/_title.md diff --git a/5-troubleshooting/turn.on.debug.mode.in.dovecot.md b/9-troubleshooting/turn.on.debug.mode.in.dovecot.md similarity index 100% rename from 5-troubleshooting/turn.on.debug.mode.in.dovecot.md rename to 9-troubleshooting/turn.on.debug.mode.in.dovecot.md diff --git a/URLs.md b/URLs.md index 31a0a6b3..29bd810a 100644 --- a/URLs.md +++ b/URLs.md @@ -1,11 +1,7 @@ = wiki FAQ = - - - - -http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Ignore.Trash.Folder.in.Quota http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/why.iredmail.append.timestamp.in.maildir.path +http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Ignore.Trash.Folder.in.Quota http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/LDAP/Add.Mail.Forwarding.Address http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/LDAP/Add.Mail.Forwarding.Address http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/LDAP/Add.Maillist.with.phpLDAPadmin diff --git a/convert.sh b/convert.sh index 2fd5d420..0b30f02e 100644 --- a/convert.sh +++ b/convert.sh @@ -31,10 +31,10 @@ strip_name_prefix() # Get directories of chapters all_chapter_dirs="$(find . -d 1 -type d -iname '[0-9]*' | sort)" -echo "* Found chapters:" -for dl in ${all_chapter_dirs}; do - echo " - $dl" -done +#echo "* Found chapters:" +#for dl in ${all_chapter_dirs}; do +# echo " - $dl" +#done # Get chapter info # - title: _title.md @@ -97,7 +97,7 @@ done #cd ${OUTPUT_DIR} # Generate index.html -${CMD_CONVERT} ${INDEX_MD} ${OUTPUT_DIR} css='./css/markdown.css' +${CMD_CONVERT} ${INDEX_MD} ${OUTPUT_DIR} css='./css/markdown.css' title="iRedMail Documentations" # Cleanup -rm -f ${INDEX_MD} +#rm -f ${INDEX_MD} diff --git a/html/backup-restore/migrate.to.new.iredmail.server.html b/html/backup-restore/migrate.to.new.iredmail.server.html deleted file mode 100644 index e79f6beb..00000000 --- a/html/backup-restore/migrate.to.new.iredmail.server.html +++ /dev/null @@ -1,133 +0,0 @@ - -
- -WARNING
: Please try it on a test server first. if it works well, then try it on product server.
Since new iRedMail server will install same components as old server, you can choose what data you want to migrate. Most important data are:
-mailaddr
, policy
, users
, wblist
.maddr
, msgs
, msgrcpt
. Quarantined emails are stored in quarantine
, it requires other 3 tables. If you don't have any quarantined emails, it's safe to delete all records in these 4 tables.WARNING: Do not restore database mysql
exported from old server, it contains SQL usernames/passwords for Roundcube/Amavisd/Policyd/Cluebringer used on old server. New iRedMail server has the same SQL usernames, but different passwords. So please do not restore it.
Since iRedMail-0.8.7, iRedMail enforces secure POP3/IMAP/SMTP connections. -Mail client programs must issue 'STARTTLS' command before authentication, -so please update your mail client programs you must change your mail client -programs (e.g. Outlook, Thunderbird) to use TLS connection.
-587
with STARTTLS
(or TLS
).143
with STARTTLS
(or TLS
).110
with STARTTLS
(or TLS
).Addition notes:
-If you want to enable smtp authentication on port 25
(again, not
-recommended), please comment out Postfix parameter smtpd_tls_auth_only = yes
-in its config file /etc/postfix/main.cf
.
if you want to enable SMTPS (SMTP over SSL, port 465
) to support legency
-mail clients, please follow this tutorial: (How to enable SMTPS service)[./faq-howto/howto.enable.smtps.service].
Steps to migrate LDAP mail accounts:
-Normally, LDAP data can be exported into LDIF format. Here's backup/export script: http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Backup
-Note: - There might be some changes in LDAP schema, please find scripts in below URL to apply all required changes: https://bitbucket.org/zhb/iredmail/src/default/extra/update/ - You can find all upgrade tutorials of iRedMail here: http://www.iredmail.org/doc.html#upgrade_tutorial
-All mail accounts are stored in database vmail
by default, to migrate mail
-accounts, you can simply export this database on old server, then import it
-on new server.
IMPORTANT NOTE: iRedMail-0.8.7 drops several SQL columns, so before you -import backup SQL database, please add them first. It's safe to drop them -after you imported old database on new server.
-mysql> USE vmail;
-
-mysql> ALTER TABLE mailbox ADD COLUMN bytes BIGINT(20) NOT NULL DEFAULT 0;
-mysql> ALTER TABLE mailbox ADD COLUMN messages BIGINT(20) NOT NULL DEFAULT 0;
-
-mysql> ALTER TABLE domain ADD COLUMN defaultlanguage VARCHAR(5) NOT NULL DEFAULT 'en_US';
-mysql> ALTER TABLE domain ADD COLUMN defaultuserquota BIGINT(20) NOT NULL DEFAULT '1024';
-mysql> ALTER TABLE domain ADD COLUMN defaultuseraliases TEXT;
-mysql> ALTER TABLE domain ADD COLUMN disableddomainprofiles VARCHAR(255) NOT NULL DEFAULT '';
-mysql> ALTER TABLE domain ADD COLUMN disableduserprofiles VARCHAR(255) NOT NULL DEFAULT '';
-mysql> ALTER TABLE domain ADD COLUMN defaultpasswordscheme VARCHAR(10) NOT NULL DEFAULT '';
-mysql> ALTER TABLE domain ADD COLUMN minpasswordlength INT(10) NOT NULL DEFAULT 0;
-mysql> ALTER TABLE domain ADD COLUMN maxpasswordlength INT(10) NOT NULL DEFAULT 0;
-
-mysql> ALTER TABLE alias ADD COLUMN islist TINYINT(1) NOT NULL DEFAULT 0;
-
-
-After imported backup SQL databases, please execute below commands to mark -mail alias accounts and drop above newly created columns:
-mysql> USE vmail;
-mysql> UPDATE alias SET islist=1 WHERE address NOT IN (SELECT username FROM mailbox);
-mysql> UPDATE alias SET islist=0 WHERE address=domain; -- domain catch-all account
-
--- Store values into new column: domain.settings and drop them
-mysql> UPDATE domain SET settings='';
-mysql> UPDATE domain SET settings=CONCAT(settings, IF(defaultlanguage IS NULL OR defaultlanguage='', '', CONCAT('default_language:', defaultlanguage, ';')));
-mysql> UPDATE domain SET settings=CONCAT(settings, IF(defaultuserquota IS NULL OR defaultuserquota=0, '', CONCAT('default_user_quota:', defaultuserquota, ';')));
-mysql> UPDATE domain SET settings=CONCAT(settings, IF(defaultuseraliases IS NULL OR defaultuseraliases='', '', CONCAT('default_groups:', defaultuseraliases, ';')));
-mysql> UPDATE domain SET settings=CONCAT(settings, IF(minpasswordlength IS NULL OR minpasswordlength=0, '', CONCAT('min_passwd_length:', minpasswordlength, ';')));
-mysql> UPDATE domain SET settings=CONCAT(settings, IF(maxpasswordlength IS NULL OR maxpasswordlength=0, '', CONCAT('max_passwd_length:', maxpasswordlength, ';')));
-mysql> UPDATE domain SET settings=CONCAT(settings, IF(disableddomainprofiles IS NULL OR disableddomainprofiles='', '', CONCAT('disabled_domain_profiles:', disableddomainprofiles, ';')));
-mysql> UPDATE domain SET settings=CONCAT(settings, IF(disableduserprofiles IS NULL OR disableduserprofiles='', '', CONCAT('disabled_user_profiles:', disableduserprofiles, ';')));
-
-mysql> ALTER TABLE domain DROP defaultlanguage;
-mysql> ALTER TABLE domain DROP defaultuserquota;
-mysql> ALTER TABLE domain DROP defaultuseraliases;
-mysql> ALTER TABLE domain DROP minpasswordlength;
-mysql> ALTER TABLE domain DROP maxpasswordlength;
-mysql> ALTER TABLE domain DROP disableddomainprofiles;
-mysql> ALTER TABLE domain DROP disableduserprofiles;
-
-
-IMPORTANT NOTE: There might be some changes in SQL structure, please read -all upgrade tutorials for your current iRedMail release, then apply SQL -structure related changes. For example: -http://www.iredmail.org/wiki/index.php?title=Upgrade/iRedMail/0.7.4-0.8.0#Add_internal_service_required_by_Doveadm_2
-vmail
, group is vmail
.0700
.WARNING: please make sure maildir path stored in SQL/LDAP matches the mailbox -path on file system, so that mail clients can find imported emails.
-