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 @@ - - - - How to migrate old iRedMail server to the latest stable release - - - - -

How to migrate old iRedMail server to the latest stable release

-
- -
-

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:

- -

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.

-

Client settings (Outlook, Thunderbird)

-

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.

- -

Addition notes:

- -

LDAP: migrate mail accounts

-

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

-

MySQL/PostgreSQL: Migrate mail accounts

-

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

-

Migrate mailboxes (Maildir format)

- -

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.

-

Migrate Roundcube webmail data

- \ No newline at end of file diff --git a/html/faq-howto/_summary.html b/html/faq-howto/_summary.html deleted file mode 100644 index f07dde3b..00000000 --- a/html/faq-howto/_summary.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - -

-

This is most frequently asked questions.

\ No newline at end of file diff --git a/html/faq-howto/use.or.migrate.password.hashes.html b/html/faq-howto/use.or.migrate.password.hashes.html deleted file mode 100644 index 63c95300..00000000 --- a/html/faq-howto/use.or.migrate.password.hashes.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - How to use or migrate password hashes - - - - -

How to use or migrate password hashes

-

Password hashes supported by iRedMail

-

iRedMail configures Postfix to use Dovecot as SASL authenticate server, so all -password schemes supported by Dovecot can be used in iRedMail. Please refer to -Dovecot wiki page -Password Schemes for more details.

-

Below password schemes are supported in iRedAdmin-Pro (which means you can add new mail user with either one):

- -

NOTE: Dovecot claims it supports SSHA512, but I didn't get it work. -Please test it first if you choose SSHA512.

-

Default password schemes used in iRedMail

- -

How to use different password hashes in iRedMail

-

For MySQL and PostgreSQL backends

-

All mail users are stored in SQL table vmail.mailbox, user password is stored -in SQL column mailbox.password. For example:

-
-sql> UPDATE mailbox SET password='$1$GfHYI7OE$vlXqMZSyJOSPXAmbXHq250' WHERE username='xx@xx';
-sql> UPDATE mailbox SET password='{SSHA}OuCrqL2yWwQIu8a9uvyOQ5V/ZKfL7LJD' WHERE username='xx@xx';
-sql> UPDATE mailbox SET password='{SSHA512}FxgXDhBVYmTqoboW+ibyyzPv/wGG7y4VJtuHWrx+wfqrs/lIH2Qxn2eA0jygXtBhMvRi7GNFmL++6aAZ0kXpcy1fxag=' WHERE username='xx@xx';
-
- - -
-sql> UPDATE mailbox SET password='{PLAIN-MD5}0d2bf3c712402f428d48fed691850bfc' WHERE username='xx@xx';
-
- - -

For LDAP backends

-

User password is stored in attribute userPassword of user object.

- -

IMPORTANT NOTE: If you want to input password hash with phpLDAPadmin, -please choose clear in the password hash list, then input password hash.

\ No newline at end of file diff --git a/html/faq-howto/why.append.timestamp.in.maildir.path.html b/html/faq-howto/why.append.timestamp.in.maildir.path.html new file mode 100644 index 00000000..b0b03d35 --- /dev/null +++ b/html/faq-howto/why.append.timestamp.in.maildir.path.html @@ -0,0 +1,38 @@ + + + + Why append timestamp in maildir path + + + + +

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:

+ +

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.

\ No newline at end of file diff --git a/html/faq-howto/allow.user.to.send.email.without.authentication.html b/html/howto/allow.user.to.send.email.without.authentication.html similarity index 100% rename from html/faq-howto/allow.user.to.send.email.without.authentication.html rename to html/howto/allow.user.to.send.email.without.authentication.html diff --git a/html/faq-howto/amavisd.no.x-spam.headers.html b/html/howto/amavisd.no.x-spam.headers.html similarity index 100% rename from html/faq-howto/amavisd.no.x-spam.headers.html rename to html/howto/amavisd.no.x-spam.headers.html diff --git a/html/faq-howto/completely.disable.amavisd.clamav.spamassassin.html b/html/howto/completely.disable.amavisd.clamav.spamassassin.html similarity index 100% rename from html/faq-howto/completely.disable.amavisd.clamav.spamassassin.html rename to html/howto/completely.disable.amavisd.clamav.spamassassin.html diff --git a/html/faq-howto/disable.spam.virus.scanning.for.outgoing.mails.html b/html/howto/disable.spam.virus.scanning.for.outgoing.mails.html similarity index 100% rename from html/faq-howto/disable.spam.virus.scanning.for.outgoing.mails.html rename to html/howto/disable.spam.virus.scanning.for.outgoing.mails.html diff --git a/html/faq-howto/howto.configure.thunderbird.for.iredmail.html b/html/howto/howto.configure.thunderbird.for.iredmail.html similarity index 100% rename from html/faq-howto/howto.configure.thunderbird.for.iredmail.html rename to html/howto/howto.configure.thunderbird.for.iredmail.html diff --git a/html/faq-howto/howto.enable.smtps.service.html b/html/howto/howto.enable.smtps.service.html similarity index 100% rename from html/faq-howto/howto.enable.smtps.service.html rename to html/howto/howto.enable.smtps.service.html diff --git a/html/faq-howto/pipe.incoming.email.for.certain.user.to.external.script.html b/html/howto/pipe.incoming.email.for.certain.user.to.external.script.html similarity index 100% rename from html/faq-howto/pipe.incoming.email.for.certain.user.to.external.script.html rename to html/howto/pipe.incoming.email.for.certain.user.to.external.script.html diff --git a/html/faq-howto/recalculate.mailbox.quota.html b/html/howto/recalculate.mailbox.quota.html similarity index 100% rename from html/faq-howto/recalculate.mailbox.quota.html rename to html/howto/recalculate.mailbox.quota.html diff --git a/html/faq-howto/store.spamassassin.bayes.in.sql.html b/html/howto/store.spamassassin.bayes.in.sql.html similarity index 100% rename from html/faq-howto/store.spamassassin.bayes.in.sql.html rename to html/howto/store.spamassassin.bayes.in.sql.html diff --git a/html/faq-howto/unattended.iredmail.installation.html b/html/howto/unattended.iredmail.installation.html similarity index 100% rename from html/faq-howto/unattended.iredmail.installation.html rename to html/howto/unattended.iredmail.installation.html diff --git a/html/index.html b/html/index.html index 7a0dc798..5c2f6780 100644 --- a/html/index.html +++ b/html/index.html @@ -1,26 +1,30 @@ - + iRedMail Documentations -

Frequently Asked Questions and Howto documents

+

Frequently Asked Questions

+

How to

+

Backup and Restore