|
|
|
#
|
|
|
|
# Postfix Admin
|
|
|
|
# Licensed under GPL for more info check LICENSE.TXT
|
|
|
|
#
|
|
|
|
|
|
|
|
# This is the complete MySQL database structure for Postfix Admin.
|
|
|
|
# If you are installing from scratch you can use this file otherwise you
|
|
|
|
# need to use the TABLE_CHANGES.TXT or TABLE_BACKUP_MX.TXT that comes with Postfix Admin.
|
|
|
|
# You can find these in DOCUMENTS/
|
|
|
|
|
|
|
|
#
|
|
|
|
# There are 2 entries for a database user in the file.
|
|
|
|
# One you can use for Postfix and one for Postfix Admin.
|
|
|
|
#
|
|
|
|
# If you run this file twice (2x) you will get an error on the user creation in MySQL.
|
|
|
|
# To go around this you can either comment the lines below "USE MySQL" until "USE postfix".
|
|
|
|
# Or you can remove the users from the database and run it again.
|
|
|
|
#
|
|
|
|
# You can create the database from the shell with:
|
|
|
|
#
|
|
|
|
# mysql -u root [-p] < DATABASE_MYSQL.TXT
|
|
|
|
|
|
|
|
#
|
|
|
|
# Postfix / MySQL
|
|
|
|
#
|
|
|
|
|
|
|
|
USE mysql;
|
|
|
|
CREATE DATABASE IF NOT EXISTS postfix;
|
|
|
|
# Postfix user & password
|
|
|
|
#INSERT INTO user (Host, User, Password) VALUES ('localhost','postfix',password('postfix'));
|
|
|
|
# Postfix Admin user & password
|
|
|
|
#INSERT INTO user (Host, User, Password) VALUES ('localhost','postfixadmin',password('postfixadmin'));
|
|
|
|
# Priviledges
|
|
|
|
#INSERT INTO db (Host, Db, User, Select_priv) VALUES ('localhost','postfix','postfix','Y');
|
|
|
|
#INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv) VALUES ('localhost', 'postfix', 'postfixadmin', 'Y', 'Y', 'Y', 'Y');
|
|
|
|
FLUSH PRIVILEGES;
|
|
|
|
GRANT USAGE ON postfix.* TO postfix@localhost;
|
|
|
|
GRANT SELECT, INSERT, DELETE, UPDATE ON postfix.* TO postfix@localhost;
|
|
|
|
GRANT USAGE ON postfix.* TO postfixadmin@localhost;
|
|
|
|
GRANT SELECT, INSERT, DELETE, UPDATE ON postfix.* TO postfixadmin@localhost;
|
|
|
|
USE postfix;
|
|
|
|
|
|
|
|
#
|
|
|
|
# Table structure for table admin
|
|
|
|
#
|
|
|
|
CREATE TABLE `admin` (
|
|
|
|
`username` varchar(255) NOT NULL default '',
|
|
|
|
`password` 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',
|
|
|
|
`active` tinyint(1) NOT NULL default '1',
|
|
|
|
PRIMARY KEY (`username`)
|
|
|
|
) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Admins';
|
|
|
|
|
|
|
|
#
|
|
|
|
# Table structure for table alias
|
|
|
|
#
|
|
|
|
CREATE TABLE `alias` (
|
|
|
|
`address` varchar(255) NOT NULL default '',
|
|
|
|
`goto` text NOT NULL,
|
|
|
|
`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',
|
|
|
|
`active` tinyint(1) NOT NULL default '1',
|
|
|
|
PRIMARY KEY (`address`)
|
|
|
|
) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Aliases';
|
|
|
|
|
|
|
|
#
|
|
|
|
# Table structure for table domain
|
|
|
|
#
|
|
|
|
CREATE TABLE `domain` (
|
|
|
|
`domain` varchar(255) NOT NULL default '',
|
|
|
|
`description` varchar(255) NOT NULL default '',
|
|
|
|
`aliases` int(10) NOT NULL default '0',
|
|
|
|
`mailboxes` int(10) NOT NULL default '0',
|
|
|
|
`maxquota` int(10) NOT NULL default '0',
|
|
|
|
`quota` int(10) NOT NULL default '0',
|
|
|
|
`transport` varchar(255) 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`)
|
|
|
|
) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Domains';
|
|
|
|
|
|
|
|
#
|
|
|
|
# Table structure for table domain_admins
|
|
|
|
#
|
|
|
|
CREATE TABLE `domain_admins` (
|
|
|
|
`username` varchar(255) NOT NULL default '',
|
|
|
|
`domain` varchar(255) NOT NULL default '',
|
|
|
|
`created` datetime NOT NULL default '0000-00-00 00:00:00',
|
|
|
|
`active` tinyint(1) NOT NULL default '1',
|
|
|
|
KEY username (`username`)
|
|
|
|
) TYPE=MyISAM 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) NOT NULL default '',
|
|
|
|
`domain` varchar(255) NOT NULL default '',
|
|
|
|
`action` varchar(255) NOT NULL default '',
|
|
|
|
`data` varchar(255) NOT NULL default '',
|
|
|
|
KEY timestamp (`timestamp`)
|
|
|
|
) TYPE=MyISAM 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',
|
|
|
|
`active` tinyint(1) NOT NULL default '1',
|
|
|
|
PRIMARY KEY (`username`)
|
|
|
|
) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Mailboxes';
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Vacation stuff ...
|
|
|
|
#
|
|
|
|
DROP TABLE IF EXISTS vacation;
|
|
|
|
DROP TABLE IF EXISTS vacation_notification;
|
|
|
|
CREATE TABLE vacation (
|
|
|
|
email varchar(255) NOT NULL default '',
|
|
|
|
subject varchar(255) NOT NULL default '',
|
|
|
|
body text NOT NULL,
|
|
|
|
cache text NOT NULL,
|
|
|
|
domain varchar(255) NOT NULL default '',
|
|
|
|
created datetime NOT NULL default '0000-00-00 00:00:00',
|
|
|
|
active tinyint(4) NOT NULL default '1',
|
|
|
|
PRIMARY KEY (email),
|
|
|
|
KEY email (email)
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci TYPE=InnoDB COMMENT='Postfix Admin - Virtual Vacation' ;
|
|
|
|
|
|
|
|
# vacation_notification table
|
|
|
|
|
|
|
|
CREATE TABLE vacation_notification (
|
|
|
|
on_vacation varchar(255) NOT NULL,
|
|
|
|
notified varchar(255) NOT NULL,
|
|
|
|
notified_at timestamp NOT NULL default now(),
|
|
|
|
CONSTRAINT vacation_notification_pkey PRIMARY KEY(on_vacation, notified),
|
|
|
|
FOREIGN KEY (on_vacation) REFERENCES vacation(email) ON DELETE CASCADE
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci TYPE=InnoDB COMMENT='Postfix Admin - Virtual Vacation Notifications';
|
|
|
|
|