Erinevus lehekülje "Postfix + courier + mysql" redaktsioonide vahel
1. rida: | 1. rida: | ||
+ | ===sissejuhatus=== | ||
+ | |||
+ | Mailisüsteem kipub sageli üle pea kasvama. Haldus käsureal muutub tülikaks /või tekib | ||
+ | soov kasutada paraleelselt mitut mailiserverit. Aitab näiteks lihtsalt | ||
+ | paigutada kasutajad mysql'i ning kasutada veebi administreerimisliidest. | ||
+ | |||
===install=== | ===install=== | ||
Redaktsioon: 25. märts 2007, kell 16:23
sissejuhatus
Mailisüsteem kipub sageli üle pea kasvama. Haldus käsureal muutub tülikaks /või tekib soov kasutada paraleelselt mitut mailiserverit. Aitab näiteks lihtsalt paigutada kasutajad mysql'i ning kasutada veebi administreerimisliidest.
install
paigaldame postfix tarkvara koos mysql toega selleks freebsd's
cd /usr/ports/mail/postfix && make install clean
ning vaatame ,et mysql toega.
gentoos võime kirjutada make.conf'i use reale mysql ning siis
emerge postfix
seejärel paigaldame courieri ning mysql'i
cd /usr/portsw/mail/courier-imap && make install clean
mysql install ja seadistus on kirjas [mysql install]
postfix
main.cf
queue_directory = /var/spool/postfix command_directory = /usr/local/sbin daemon_directory = /usr/local/libexec/postfix mail_owner = postfix unknown_local_recipient_reject_code = 550 debug_peer_level = 2 sendmail_path = /usr/local/sbin/sendmail newaliases_path = /usr/local/bin/newaliases mailq_path = /usr/local/bin/mailq html_directory = /usr/share/doc/postfix-2.2.10/html manpage_directory = /usr/local/man sample_directory = /usr/local/etc/postfix readme_directory = no home_mailbox = .maildir/ soft_bounce = yes myhostname = mail.example.ee mydomain = mail.example.ee unknown_local_recipient_reject_code = 550 mynetworks_style = host mail_spool_directory = /var/mail smtpd_banner = $myhostname ESMTP, NO SPAM PLEASE :D debug_peer_level = 2 config_directory = /usr/local/etc/postfix virtual_alias_maps = mysql:$config_directory/mysql_virtual_alias_maps.cf virtual_gid_maps = static:9009 virtual_mailbox_base = /home/mail virtual_mailbox_domains = mysql:$config_directory/mysql_virtual_domains_maps.cf virtual_mailbox_maps = mysql:$config_directory/mysql_virtual_mailbox_maps.cf virtual_uid_maps = static:9009 virtual_minimum_uid = 9009 virtual_uid_maps = static:9009 virtual_create_maildirsize = yes virtual_mailbox_extended = yes virtual_mailbox_limit_maps = mysql:$config_directory/mysql_virtual_mailbox_limit_maps.cf virtual_mailbox_limit_override = yes virtual_maildir_limit_message = Sorry, users quota limit has been exceeded. virtual_overquota_bounce = yes relay_domains = mysql:$config_directory/mysql_relay_domains_maps.cf setgid_group = maildrop
mysql_virtual_alias_maps.cf
user = mail password = parool hosts = localhost dbname = mail query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
mysql_relay_domains_maps.cf
user = mail password = parool hosts = localhost dbname = mail query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '1' AND active = '1'
mysql_virtual_mailbox_limit_maps.cf
user = mail password = parool hosts = localhost dbname = mail query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'
mysql_relay_domains_maps.cf
user = mail password = parool hosts = localhost dbname = mail query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '1' AND active = '1'
mysql basi seadistus
tekitame baasi mail ja tekiame sinna struktuuri võime kasutada järgnevalt äratoodud dump'i
-- phpMyAdmin SQL Dump -- version 2.9.1 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: Mar 25, 2007 at 04:17 PM -- Server version: 5.0.37 -- PHP Version: 5.2.1 -- -- Database: `mail` -- -- -------------------------------------------------------- -- -- Table structure for table `admin` --
CREATE TABLE `admin` ( `username` varchar(255) collate utf8_estonian_ci NOT NULL default , `password` varchar(255) collate utf8_estonian_ci NOT NULL default , `created` datetime NOT NULL default '0000-00-00 00:00:00', `modified` datetime NOT NULL default '0000-00-00 00:00:00', `active` tinyint(1) NOT NULL default '1', PRIMARY KEY (`username`), KEY `username` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci COMMENT='Postfix Admin - Virtual Admins'; -- -------------------------------------------------------- -- -- Table structure for table `alias` -- CREATE TABLE `alias` ( `address` varchar(255) collate utf8_estonian_ci NOT NULL default , `goto` text collate utf8_estonian_ci NOT NULL, `domain` varchar(255) collate utf8_estonian_ci NOT NULL default , `created` datetime NOT NULL default '0000-00-00 00:00:00', `modified` datetime NOT NULL default '0000-00-00 00:00:00', `active` tinyint(1) NOT NULL default '1', PRIMARY KEY (`address`), KEY `address` (`address`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci COMMENT='Postfix Admin - Virtual Aliases'; -- -------------------------------------------------------- -- -- Table structure for table `domain` -- CREATE TABLE `domain` ( `domain` varchar(255) collate utf8_estonian_ci NOT NULL default , `description` varchar(255) collate utf8_estonian_ci NOT NULL default , `aliases` int(10) NOT NULL default '0', `mailboxes` int(10) NOT NULL default '0', `maxquota` int(10) NOT NULL default '0', `transport` varchar(255) collate utf8_estonian_ci default NULL, `backupmx` tinyint(1) NOT NULL default '0', `created` datetime NOT NULL default '0000-00-00 00:00:00', `modified` datetime NOT NULL default '0000-00-00 00:00:00', `active` tinyint(1) NOT NULL default '1', PRIMARY KEY (`domain`), KEY `domain` (`domain`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci COMMENT='Postfix Admin - Virtual Domains'; -- -------------------------------------------------------- -- -- Table structure for table `domain_admins` -- CREATE TABLE `domain_admins` ( `username` varchar(255) collate utf8_estonian_ci NOT NULL default , `domain` varchar(255) collate utf8_estonian_ci NOT NULL default , `created` datetime NOT NULL default '0000-00-00 00:00:00', `active` tinyint(1) NOT NULL default '1', KEY `username` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci COMMENT='Postfix Admin - Domain Admins'; -- -------------------------------------------------------- -- -- Table structure for table `log` -- CREATE TABLE `log` ( `timestamp` datetime NOT NULL default '0000-00-00 00:00:00', `username` varchar(255) collate utf8_estonian_ci NOT NULL default , `domain` varchar(255) collate utf8_estonian_ci NOT NULL default , `action` varchar(255) collate utf8_estonian_ci NOT NULL default , `data` varchar(255) collate utf8_estonian_ci NOT NULL default , KEY `timestamp` (`timestamp`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci COMMENT='Postfix Admin - Log'; -- -------------------------------------------------------- -- -- Table structure for table `mailbox` -- CREATE TABLE `mailbox` ( `username` varchar(255) NOT NULL default , `password` varchar(255) NOT NULL default , `name` varchar(255) NOT NULL default , `maildir` varchar(255) NOT NULL default , `quota` int(10) NOT NULL default '0', `domain` varchar(255) NOT NULL default , `created` datetime NOT NULL default '0000-00-00 00:00:00', `modified` datetime NOT NULL default '0000-00-00 00:00:00', `uid` int(10) unsigned default '9009', `gid` int(10) unsigned default '9009', `active` tinyint(1) NOT NULL default '1', PRIMARY KEY (`username`), KEY `username` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=binary COMMENT='Postfix Admin - Virtual Mailboxes'; -- -------------------------------------------------------- -- -- Table structure for table `vacation` -- CREATE TABLE `vacation` ( `email` varchar(255) collate utf8_estonian_ci NOT NULL default , `subject` varchar(255) collate utf8_estonian_ci NOT NULL default , `body` text collate utf8_estonian_ci NOT NULL, `cache` text collate utf8_estonian_ci NOT NULL, `domain` varchar(255) collate utf8_estonian_ci NOT NULL default , `created` datetime NOT NULL default '0000-00-00 00:00:00', `active` tinyint(1) NOT NULL default '1', PRIMARY KEY (`email`), KEY `email` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci COMMENT='Postfix Admin - Virtual Vacation';
juhin tähelepanu sellele ,et read
mailbox tabelis
`uid` int(10) unsigned default '9009', `gid` int(10) unsigned default '9009',
pole näites lisatud ja see on omatehtud häkk kuna courieri uuem versuioon ootab vaikimisi uid/gid parameetreid samuti kuid postfixadmini käesolev versioon ei oska neid baasi kirjutada nii siis täidame selle automaatselt alati.
postfixadmin
Hangime selle http://sourceforge.net/projects/postfixadmin/
paigaldame apache ja php ning pakime postfixadmini lahti seadistame kasutana baasi mail ning testime :]