New: integrations/sogo-centos-6-iredmail-mysql.md.

This commit is contained in:
Zhang Huangbin 2014-09-19 09:17:10 +08:00
parent a7218e588f
commit c171bcb297
10 changed files with 395 additions and 2 deletions

View File

@ -1,3 +1,2 @@
syntax: glob
.DS_Store
html/*

1
5-integrations/_title.md Normal file
View File

@ -0,0 +1 @@
Third-party integrations.

View File

@ -0,0 +1,119 @@
# How to install SOGo on CentOS 6 with iRedMail (MySQL backend)
## Requirements
* A working iRedMail server on CentOS 6.
## Install SOGo
* Make sure you have EPEL repo enabled, if not, please follow [this wiki
tutorial](https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F)
to enable it.
<pre>
# yum repolist | grep -i 'epel'
epel Extra Packages for Enterprise Linux 6 - x86_64 11,109
</pre>
* Add yum repo file `/etc/yum.repos.d/sogo.repo`:
<pre>
[SOGo]
name=Inverse SOGo Repository
baseurl=http://inverse.ca/downloads/SOGo/RHEL6/$basearch
gpgcheck=0
</pre>
* Install SOGo and dependences:
<pre>
# yum install sogo sope49-gdl1-mysql
</pre>
## Create SQL database to store SOGo data
<pre>
$ mysql -u root -p
mysql> CREATE DATABASE sogo CHARSET='UTF8';
mysql> GRANT ALL ON sogo.* TO sogo@localhost IDENTIFIED BY 'password';
-- TODO
mysql> GRANT SELECT ON vmail.mailbox TO sogo@localhost;
mysql> CREATE VIEW sogo.sogo_auth (c_uid, c_name, c_password, c_cn, mail, home) AS SELECT username, username, password, name, username, maildir FROM vmail.mailbox;
</pre>
## Configure SOGo
Default SOGo config file is `/etc/sogo/sogo.conf`:
<pre>
SOGoProfileURL = "mysql://sogo:password@localhost:3306/sogo/sogo_user_profile";
OCSFolderInfoURL = "mysql://sogo:password@localhost:3306/sogo/sogo_folder_info";
OCSSessionsFolderURL = "mysql://sogo:password@localhost:3306/sogo/sogo_sessions_folder";
SOGoIMAPServer = "127.0.0.1";
SOGoMailingMechanism = smtp;
SOGoSMTPServer = 127.0.0.1;
// Enable managesieve service
SOGoSieveServer = sieve://127.0.0.1:4190;
SOGoSieveScriptsEnabled = YES;
SOGoForceExternalLoginWithEmail = YES;
SOGoAppointmentSendEMailNotifications = YES;
SOGoUserSources =
(
{
type = sql;
id = directory;
viewURL = "mysql://sogo:password@127.0.0.1:3306/sogo/sogo_view";
canAuthenticate = YES;
isAddressBook = YES;
userPasswordAlgorithm = md5;
prependPasswordScheme = YES;
//LoginFieldNames = username;
//MailFieldNames = username;
//IMAPLoginFieldName = username;
//DomainFieldName = domain;
}
);
</pre>
## How to configure client applications
### Configure Apple iCal.app for calendar
http://[host]/SOGo/dav/[user]/
## TODO
## References:
* Addition settings:
<pre>
defaults write sogod OCSEMailAlarmsFolderURL mysql://vmail:PASSWORD@localhost:3306/vmail/sogo_alarms_folder
defaults write sogod SOGoTimeZone "Europe/Berlin"
defaults write sogod SOGoAppointmentSendEMailNotifications YES
defaults write sogod SOGoFoldersSendEMailNotifications YES
defaults write sogod SOGoACLsSendEMailNotifications YES
defaults write sogod SOGoMailingMechanism smtp
defaults write sogod SOGoSMTPServer 127.0.0.1
defaults write sogod SOGoMemcachedHost 127.0.0.1
defaults write sogod SOGoDraftsFolderName Drafts
defaults write sogod SOGoSentFolderName Sent
defaults write sogod SOGoTrashFolderName Trash
defaults write sogod SOGoIMAPServer localhost
defaults write sogod SOGoPasswordChangeEnabled YES
defaults write sogod SOGoSieveScriptsEnabled YES
defaults write sogod SOGoSieveServer sieve://127.0.0.1:4190
defaults write sogod WOPort 127.0.0.1:20000
</pre>

View File

@ -15,9 +15,13 @@
* [ How to perform silent/unattended iRedMail installation](./4-howto/./4-howto/unattended.iredmail.installation.md)
* [ How to use or migrate password hashes](./4-howto/./4-howto/use.or.migrate.password.hashes.md)
# Third-party integrations.
* [ How to install SOGo on CentOS 6 with iRedMail (MySQL backend)](./5-integrations/./5-integrations/sogo-centos-6-iredmail-mysql.md)
# Backup and Restore
* [How to migrate old iRedMail server to the latest stable release](./5-backup-restore/./5-backup-restore/migrate.to.new.iredmail.server.md)
* [How to migrate old iRedMail server to the latest stable release](./7-backup-restore/./7-backup-restore/migrate.to.new.iredmail.server.md)
# Troubleshooting and Debug

View File

@ -0,0 +1,60 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> How to quarantine clean mail into SQL database</title>
<link href="../css/markdown.css" rel="stylesheet"></head>
</head>
<body>
<h1 id="how-to-quarantine-clean-mail-into-sql-database">How to quarantine clean mail into SQL database</h1>
<p>To quarantine clean mails into SQL database, please follow below steps:</p>
<h1 id="configure-amavisd-to-enable-quarantining">Configure Amavisd to enable quarantining</h1>
<ul>
<li>Edit Amavisd config file, find below settings and update them. If it doesn't exist, just add them.<ul>
<li>on Red Hat Enterprise Linux, CentOS, Scientific Linux, it's <code>/etc/amavisd/amavisd.conf</code>.</li>
<li>on Debian/Ubuntu, it's <code>/etc/amavis/conf.d/50-user</code>.</li>
<li>on FreeBSD, it's <code>/usr/local/etc/amavisd.conf</code>.</li>
<li>on OpenBSD, it's <code>/etc/amavisd.conf</code>.</li>
</ul>
</li>
</ul>
<pre>
$clean_quarantine_method = 'sql:';
$clean_quarantine_to = 'clean-quarantine';
</pre>
<ul>
<li>Find policy bank 'MYUSERS', append two lines in this policy bank:</li>
</ul>
<pre>
$policy_bank{'MYUSERS'} = {
...
clean_quarantine_method => 'sql:',
final_destiny_by_ccat => {CC_CLEAN, D_DISCARD},
}
</pre>
<ul>
<li>Make sure you have '@storage_sql_dsn' enabled. For example:</li>
</ul>
<pre>
@storage_sql_dsn = (
['DBI:mysql:database=amavisd;host=127.0.0.1;port=3306', 'amavisd', 'qAv9CYva0vHA1GCX0J9f23WJvqRzt7'],
);
</pre>
<ul>
<li>Restart Amavisd service.</li>
</ul>
<p>That's all. Now all clean emails sent by your mail users will be quarantined
into SQL database. if you have iRedAdmin-Pro, you can manage (release or delete)
quarantined emails with it.</p>
<ul>
<li>
<p>Screenshot of iRedAdmin-Pro for your reference </p>
</li>
<li>
<p><a href="http://www.iredmail.org/images/iredadmin/system_maillog_quarantined.png">View quarantined mails</a></p>
</li>
<li><a href="http://www.iredmail.org/images/iredadmin/system_maillog_quarantined_expanded.png">Expand quarantined mail to view mail headers and body</a> </li>
</ul></body></html>

View File

@ -23,6 +23,10 @@
<li><a href="howto/unattended.iredmail.installation.html"> How to perform silent/unattended iRedMail installation</a></li>
<li><a href="howto/use.or.migrate.password.hashes.html"> How to use or migrate password hashes</a></li>
</ul>
<h1 id="third-party-integrations">Third-party integrations.</h1>
<ul>
<li><a href="integrations/sogo-centos-6-iredmail-mysql.html"> How to install SOGo on CentOS 6 with iRedMail (MySQL backend)</a></li>
</ul>
<h1 id="backup-and-restore">Backup and Restore</h1>
<ul>
<li><a href="backup-restore/migrate.to.new.iredmail.server.html">How to migrate old iRedMail server to the latest stable release</a></li>

View File

@ -0,0 +1,120 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> How to install SOGo on CentOS 6 with iRedMail (MySQL backend)</title>
<link href="../css/markdown.css" rel="stylesheet"></head>
</head>
<body>
<h1 id="how-to-install-sogo-on-centos-6-with-iredmail-mysql-backend">How to install SOGo on CentOS 6 with iRedMail (MySQL backend)</h1>
<h2 id="requirements">Requirements</h2>
<ul>
<li>A working iRedMail server on CentOS 6.</li>
</ul>
<h2 id="install-sogo">Install SOGo</h2>
<ul>
<li>Make sure you have EPEL repo enabled, if not, please follow <a href="https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F">this wiki
tutorial</a>
to enable it.</li>
</ul>
<pre>
# yum repolist | grep -i 'epel'
epel Extra Packages for Enterprise Linux 6 - x86_64 11,109
</pre>
<ul>
<li>Add yum repo file <code>/etc/yum.repos.d/sogo.repo</code>:</li>
</ul>
<pre>
[SOGo]
name=Inverse SOGo Repository
baseurl=http://inverse.ca/downloads/SOGo/RHEL6/$basearch
gpgcheck=0
</pre>
<ul>
<li>Install SOGo and dependences:</li>
</ul>
<pre>
# yum install sogo sope49-gdl1-mysql
</pre>
<h2 id="create-sql-database-to-store-sogo-data">Create SQL database to store SOGo data</h2>
<pre>
$ mysql -u root -p
mysql> CREATE DATABASE sogo CHARSET='UTF8';
mysql> GRANT ALL ON sogo.* TO sogo@localhost IDENTIFIED BY 'password';
-- TODO
mysql> GRANT SELECT ON vmail.mailbox TO sogo@localhost;
mysql> CREATE VIEW sogo.sogo_auth (c_uid, c_name, c_password, c_cn, mail, home) AS SELECT username, username, password, name, username, maildir FROM vmail.mailbox;
</pre>
<h2 id="configure-sogo">Configure SOGo</h2>
<p>Default SOGo config file is <code>/etc/sogo/sogo.conf</code>:</p>
<pre>
SOGoProfileURL = "mysql://sogo:password@localhost:3306/sogo/sogo_user_profile";
OCSFolderInfoURL = "mysql://sogo:password@localhost:3306/sogo/sogo_folder_info";
OCSSessionsFolderURL = "mysql://sogo:password@localhost:3306/sogo/sogo_sessions_folder";
SOGoIMAPServer = "127.0.0.1";
SOGoMailingMechanism = smtp;
SOGoSMTPServer = 127.0.0.1;
// Enable managesieve service
SOGoSieveServer = sieve://127.0.0.1:4190;
SOGoSieveScriptsEnabled = YES;
SOGoForceExternalLoginWithEmail = YES;
SOGoAppointmentSendEMailNotifications = YES;
SOGoUserSources =
(
{
type = sql;
id = directory;
viewURL = "mysql://sogo:password@127.0.0.1:3306/sogo/sogo_view";
canAuthenticate = YES;
isAddressBook = YES;
userPasswordAlgorithm = md5;
prependPasswordScheme = YES;
//LoginFieldNames = username;
//MailFieldNames = username;
//IMAPLoginFieldName = username;
//DomainFieldName = domain;
}
);
</pre>
<h2 id="how-to-configure-client-applications">How to configure client applications</h2>
<h3 id="configure-apple-icalapp-for-calendar">Configure Apple iCal.app for calendar</h3>
<p>http://[host]/SOGo/dav/[user]/</p>
<h2 id="todo">TODO</h2>
<h2 id="references">References:</h2>
<ul>
<li>Addition settings:</li>
</ul>
<pre>
defaults write sogod OCSEMailAlarmsFolderURL mysql://vmail:PASSWORD@localhost:3306/vmail/sogo_alarms_folder
defaults write sogod SOGoTimeZone "Europe/Berlin"
defaults write sogod SOGoAppointmentSendEMailNotifications YES
defaults write sogod SOGoFoldersSendEMailNotifications YES
defaults write sogod SOGoACLsSendEMailNotifications YES
defaults write sogod SOGoMailingMechanism smtp
defaults write sogod SOGoSMTPServer 127.0.0.1
defaults write sogod SOGoMemcachedHost 127.0.0.1
defaults write sogod SOGoDraftsFolderName Drafts
defaults write sogod SOGoSentFolderName Sent
defaults write sogod SOGoTrashFolderName Trash
defaults write sogod SOGoIMAPServer localhost
defaults write sogod SOGoPasswordChangeEnabled YES
defaults write sogod SOGoSieveScriptsEnabled YES
defaults write sogod SOGoSieveServer sieve://127.0.0.1:4190
defaults write sogod WOPort 127.0.0.1:20000
</pre></body></html>

View File

@ -0,0 +1,86 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> How to install SOGo on CentOS 6 with iRedMail (MySQL backend)</title>
<link href="../css/markdown.css" rel="stylesheet"></head>
</head>
<body>
<h1 id="how-to-install-sogo-on-centos-6-with-iredmail-mysql-backend">How to install SOGo on CentOS 6 with iRedMail (MySQL backend)</h1>
<h2 id="requirements">Requirements</h2>
<ul>
<li>A working iRedMail server on CentOS 6.</li>
</ul>
<h2 id="install-sogo">Install SOGo</h2>
<ul>
<li>Make sure you have EPEL repo enabled, if not, please follow <a href="https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F">this wiki
tutorial</a>
to enable it.</li>
</ul>
<pre>
# yum repolist | grep -i 'epel'
epel Extra Packages for Enterprise Linux 6 - x86_64 11,109
</pre>
<ul>
<li>Add yum repo file <code>/etc/yum.repos.d/sogo.repo</code>:</li>
</ul>
<pre>
[SOGo]
name=Inverse SOGo Repository
baseurl=http://inverse.ca/downloads/SOGo/RHEL6/$basearch
gpgcheck=0
</pre>
<p>Install SOGo and dependences:</p>
<pre>
# yum install sogo sope49-gdl1-mysql
</pre>
<h2 id="create-sql-database-to-store-sogo-data">Create SQL database to store SOGo data</h2>
<pre>
mysql> CREATE DATABASE sogo CHARSET='UTF8';
mysql> GRANT ALL ON sogo.* TO sogo@localhost IDENTIFIED BY 'password';
-- TODO
mysql> GRANT SELECT;
mysql> CREATE VIEW sogo.sogo_auth (c_uid, c_name, c_password, c_cn, mail, home) AS SELECT username, username, password, name, username, maildir FROM vmail.mailbox;
</pre>
<h2 id="configure-sogo">Configure SOGo</h2>
<p>Default SOGo config file is <code>/etc/sogo/sogo.conf</code>:</p>
<pre>
SOGoProfileURL = "mysql://sogo:password@localhost:3306/sogo/sogo_user_profile";
OCSFolderInfoURL = "mysql://sogo:password@localhost:3306/sogo/sogo_folder_info";
OCSSessionsFolderURL = "mysql://sogo:password@localhost:3306/sogo/sogo_sessions_folder";
SOGoIMAPServer = "127.0.0.1";
SOGoSMTPServer = 127.0.0.1;
SOGoMailingMechanism = smtp;
SOGoForceExternalLoginWithEmail = YES;
SOGoAppointmentSendEMailNotifications = YES;
SOGoUserSources =
(
{
type = sql;
id = directory;
viewURL = "mysql://sogo:password@127.0.0.1:3306/sogo/sogo_view";
canAuthenticate = YES;
isAddressBook = YES;
userPasswordAlgorithm = md5;
prependPasswordScheme = YES;
//LoginFieldNames = username;
//MailFieldNames = username;
//IMAPLoginFieldName = username;
//DomainFieldName = domain;
}
);
</pre>
<h2 id="how-to-configure-client-applications">How to configure client applications</h2>
<h3 id="configure-apple-icalapp-for-calendar">Configure Apple iCal.app for calendar</h3>
<p>http://[host]/SOGo/dav/[user]/</p>
<h2 id="todo">TODO</h2></body></html>