change setup.php logic, adding content to README

This commit is contained in:
mischa 2022-08-21 10:29:42 +00:00
parent 15cae2e64a
commit ff9078330d
4 changed files with 102 additions and 19 deletions

View File

@ -2,3 +2,75 @@
Fork of Postfix Admin 2.1.0 (released in 2007)
Database needed to use SQL with OpenSMTPD
CREATE DATABASE IF NOT EXISTS `opensmtpd` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `opensmtpd`;
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
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='OpenSMTPD Admin - Virtual Admins';
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
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='OpenSMTPD Admin - Virtual Aliases';
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,
`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
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='OpenSMTPD Admin - Virtual Domains';
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
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='OpenSMTPD Admin - Domain Admins';
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 ''
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='OpenSMTPD Admin - Log';
Config for OpenSMTPTD, MySQL/MariaDB example:
# /etc/mail/smtpd.conf
table credentials mysql:/etc/mail/sql.conf
table domains mysql:/etc/mail/sql.conf
table userinfo mysql:/etc/mail/sql.conf
table virtuals mysql:/etc/mail/sql.conf
Connecting the database to smtpd:
# /etc/mail/sql.conf
host localhost
username opensmtpd
password RandomString
database opensmtpd
query_alias SELECT goto FROM alias WHERE address=?;
query_credentials SELECT username, password FROM mailbox WHERE username=? AND active='1';
query_domain SELECT domain FROM domain WHERE domain=? AND active='1';
query_userinfo SELECT 501, 501, maildir FROM mailbox WHERE username=? AND active='1';

View File

@ -0,0 +1,20 @@
## Virtual Vacation
Virtual Vacation is a Perl script to be used in combination with OpenSMTPD Admin.
It provides OOO, Auto Response, Vacation capabilities to virtual users.
To invoke vacation.pl add the following to your /etc/mail/smtpd.conf
filter filter-from proc-exec "vacation.pl"
When vacation.pl is located in: /usr/local/libexec/smtpd
It requires the following libraries to be installed for MariaDB:
pkg_add p5-DBI p5-DBD-MariaDB
You can run vacation.pl with the following flags:
- -l = logging of virtual vacation parsed report/filter streams and decisions
- -v = verbose (extra flag) logging of report stream
- -d = debug (extra flag) logging of filter stream

View File

@ -17,27 +17,11 @@
//
// -none-
//
if (!file_exists(realpath("./setup.php"))) {
if (file_exists(realpath("./config.inc.php"))) {
header ("Location: login.php");
exit;
} else {
print <<< EOF
<html>
<head>
<title>Welcome to OpenSMTPD Admin</title>
</head>
<body>
<img id="login_header_logo" src="images/postbox.png" />
<img id="login_header_logo" src="images/opensmtpdadmin.png" />
<h1>Welcome to OpenSMTPD Admin</h1>
It seems that you are running this version of OpenSMTPD Admin for the first time.<br />
<p />
You can now run <a href="setup.php">setup</a> to make sure that all the functions are available for OpenSMTPD Admin to run.<br />
<p />
If you still encounter any problems please check the documentation and website for more information.
<p />
</body>
</html>
EOF;
header ("Location: setup.php");
exit;
}
?>

View File

@ -25,7 +25,14 @@
<body>
<img id="login_header_logo" src="images/postbox.png" />
<img id="login_header_logo" height="30px" src="images/opensmtpdadmin.png" />
<h1>Welcome to OpenSMTPD Admin</h1>
<h2>OpenSMTPD Admin Setup Checker 1.0</h2>
It seems that you are running this version of OpenSMTPD Admin for the first time.<br />
<p />
This will tell you if all functions are available for OpenSMTPD Admin to run.<br />
<p />
If you still encounter any problems please check the documentation and website for more information.<br />
<p />
Running software:<br />
<p />
<?php