adding proper postinst, postrm, install domaines_types in alternc.install instead of SQL script, uninstall properly, setup name-based virtual hosts on apache2
This commit is contained in:
parent
eab44df9db
commit
f85251f707
|
@ -8,13 +8,17 @@ case "$1" in
|
|||
alternc.install || true # don't fail removal if alternc.install bails out
|
||||
|
||||
# TODO : we don't purge *-ssl vhosts or *-ssl templates, they may break the hosting ...
|
||||
;;
|
||||
if [ -e "$CONFIGFILE" -a -x "/usr/bin/mysql" ]; then
|
||||
mysql --defaults-file=${CONFIGFILE} -f -e "DELETE FROM domaines_type WHERE name IN ('vhost-ssl,'vhost-mixssl','roundcube-ssl','squirrelmail-ssl','panel-ssl','php52-ssl','php52-mixssl');"
|
||||
mysql --defaults-file=${CONFIGFILE} -f -e "UPDATE sub_domaines SET web_action='DELETE' WHERE type IN ('vhost-ssl,'vhost-mixssl','roundcube-ssl','squirrelmail-ssl','panel-ssl','php52-ssl','php52-mixssl');"
|
||||
fi
|
||||
;;
|
||||
purge)
|
||||
# but yes, at purge time we should
|
||||
#if [ -e "$CONFIGFILE" -a -x "/usr/bin/mysql" ]; then
|
||||
# mysql --defaults-file=${CONFIGFILE} -f -e "DROP TABLE IF EXISTS certificate"
|
||||
# and other purges...
|
||||
#fi
|
||||
# Purge the certificate and alias table:
|
||||
if [ -e "$CONFIGFILE" -a -x "/usr/bin/mysql" ]; then
|
||||
mysql --defaults-file=${CONFIGFILE} -f -e "DROP TABLE IF EXISTS certificate;"
|
||||
mysql --defaults-file=${CONFIGFILE} -f -e "DROP TABLE IF EXISTS certif_alias;"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
install:
|
||||
install -m 0644 -g root -o root ssl.sql $(DESTDIR)/usr/share/alternc/install/
|
||||
install -m 0755 -g root -o root alternc-ssl.install $(DESTDIR)/usr/lib/alternc/install.d/
|
||||
install -m 0755 -g root -o root alternc-ssl.install.php $(DESTDIR)/usr/lib/alternc/install.d/
|
||||
install -m 0755 -g root -o root update_ssl.php $(DESTDIR)/usr/lib/alternc/
|
||||
# incron
|
||||
install -m 0755 -g root -o root ssl_alias_manager.sh $(DESTDIR)/usr/lib/alternc/
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
#!/usr/bin/php
|
||||
<?php
|
||||
/*
|
||||
at alternc.install time, we deploy our templates
|
||||
and synchronize the required domain templates with the current install
|
||||
(do they have php52, roundcube, squirrelmail, etc.?)
|
||||
*/
|
||||
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
#!/usr/bin/php
|
||||
<?php
|
||||
/*
|
||||
at alternc.install time
|
||||
synchronize the required domain templates with the current install
|
||||
(do they have php52, roundcube, squirrelmail, etc.?)
|
||||
*/
|
||||
|
||||
if ($argv[1] == "before-reload") {
|
||||
// Bootstrap
|
||||
require_once("/usr/share/alternc/panel/class/config_nochk.php");
|
||||
|
||||
$db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
|
||||
('vhost-ssl', 'Locally hosted forcing HTTPS', 'DIRECTORY', '%SUB% IN A @@PUBLIC_IP@@', 'vhost,url,txt,defmx,defmx2,mx,mx2', 'ALL', 0, 0, 0);");
|
||||
|
||||
$db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
|
||||
('vhost-mixssl', 'Locally hosted HTTP and HTTPS', 'DIRECTORY', '%SUB% IN A @@PUBLIC_IP@@', 'vhost,url,txt,defmx,defmx2,mx,mx2', 'ALL', 0, 0, 0);");
|
||||
|
||||
$db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
|
||||
('panel-ssl', 'AlternC panel access WITH SSL', 'NONE', '%SUB% IN A @@PUBLIC_IP@@', 'ip,ipv6,cname,txt,mx,mx2,defmx,defmx2', 'ALL', 0, 0, 1);");
|
||||
|
||||
$db - query("SELECT * FROM domaines_type WHERE name='roundcube';");
|
||||
if ($db->next_record()) {
|
||||
$db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
|
||||
('roundcube-ssl', 'Roundcube Webmail access WITH SSL', 'NONE', '%SUB% IN A @@PUBLIC_IP@@', 'mx,mx2,defmx,defmx2,txt', 'ALL', 0, 0, 1;");
|
||||
} else {
|
||||
$db->query("DELETE FROM domaines_type WHERE name='roundcube-ssl';");
|
||||
$db->query("UPDATE sub_domaines SET web_action='DELETE' WHERE type='roundcube-ssl';");
|
||||
}
|
||||
|
||||
$db - query("SELECT * FROM domaines_type WHERE name='squirrelmail';");
|
||||
if ($db->next_record()) {
|
||||
$db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
|
||||
('squirrelmail-ssl', 'Squirrelmail Webmail access WITH SSL', 'NONE', '%SUB% IN A @@PUBLIC_IP@@', 'mx,mx2,defmx,defmx2,txt', 'ALL', 0, 0, 1);");
|
||||
} else {
|
||||
$db->query("DELETE FROM domaines_type WHERE name='squirrelmail-ssl';");
|
||||
$db->query("UPDATE sub_domaines SET web_action='DELETE' WHERE type='squirrelmail-ssl';");
|
||||
}
|
||||
|
||||
$db - query("SELECT * FROM domaines_type WHERE name='php52';");
|
||||
if ($db->next_record()) {
|
||||
$db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
|
||||
('php52-ssl', 'php52 forcing HTTPS', 'DIRECTORY', '%SUB% IN A @@PUBLIC_IP@@', 'vhost,url,txt,defmx,defmx2,mx,mx2', 'ALL', 0, 0, 0);");
|
||||
$db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
|
||||
('php52-mixssl', 'php52 HTTP and HTTPS', 'DIRECTORY', '%SUB% IN A @@PUBLIC_IP@@', 'vhost,url,txt,defmx,defmx2,mx,mx2', 'ALL', 0, 0, 0);");
|
||||
} else {
|
||||
$db->query("DELETE FROM domaines_type WHERE name='php52-ssl';");
|
||||
$db->query("UPDATE sub_domaines SET web_action='DELETE' WHERE type='php52-ssl';");
|
||||
$db->query("DELETE FROM domaines_type WHERE name='php52-mixssl';");
|
||||
$db->query("UPDATE sub_domaines SET web_action='DELETE' WHERE type='php52-mixssl';");
|
||||
}
|
||||
|
||||
// Enable name-based virtual hosts in Apache2 :
|
||||
$f = fopen("/etc/apache2/ports.conf", "rb");
|
||||
if (!$f) {
|
||||
echo "FATAL: there is no /etc/apache2/ports.conf ! I can't configure name-based virtual hosts\n";
|
||||
} else {
|
||||
$found = false;
|
||||
while ($s = fgets($f, 1024)) {
|
||||
if (preg_match("#NameVirtualHost.*443#", $s)) {
|
||||
$found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
fclose($f);
|
||||
if (!$found) {
|
||||
$f = fopen("/etc/apache2/ports.conf", "ab");
|
||||
fputs($f, "\n<IfModule mod_ssl.c>\n NameVirtualHost *:443\n\n</IfModule>\n");
|
||||
fclose($f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} // before-reload
|
|
@ -46,7 +46,7 @@ class m_ssl {
|
|||
|
||||
var $myDomainesTypes = array("vhost-ssl", "url-ssl", "panel-ssl", "roundcube-ssl", "squirrelmail-ssl");
|
||||
|
||||
const KEY_REPOSITORY = "/var/lib/alternc/ssl/private/";
|
||||
const KEY_REPOSITORY = "/var/lib/alternc/ssl/private";
|
||||
|
||||
// -----------------------------------------------------------------
|
||||
/**
|
||||
|
@ -387,7 +387,7 @@ class m_ssl {
|
|||
if (!in_array($type, $this->myDomainesTypes)) {
|
||||
return; // nothing to do : the type is not our to start with ;)
|
||||
}
|
||||
if ($action == "create") {
|
||||
if ($action == "postinst") {
|
||||
$err->log("ssl", "update_domain:CREATE($action,$type,$fqdn)");
|
||||
$offset = 0;
|
||||
$found = false;
|
||||
|
|
Loading…
Reference in New Issue