Merge branch 'master' of ssh://hsh04-source@hsh04.hostsharing.net/home/doms/source.hostsharing.net/source/hsadmin.git

This commit is contained in:
Purodha Blissenbach 2012-09-20 20:25:17 +02:00
commit 502ff83910
5 changed files with 34 additions and 41 deletions

View File

@ -311,7 +311,7 @@ public class DomainProcessorFactory implements EntityProcessorFactory {
}
Processor domSetupProcessor = new CompoundProcessor(
createDomainDirectoriesProcessor(dom, templateVars),
new CreateFileProcessor(selectVHostTemplate(dom), templateVars, "/etc/apache2/sites-available/" + domName + ".tmp", "root", "root", "644", true),
new CreateFileProcessor(selectVHostTemplate(dom), templateVars, iterateMaps.iterator(), "/etc/apache2/sites-available/" + domName + ".tmp", "root", "root", "644", true),
new ShellProcessor("ls /etc/apache2/pems/" + pac + ".pem >/dev/null 2>&1 " +
"&& sed -i '/SSLCertificate.*default/d' " + "/etc/apache2/sites-available/" + domName + ".tmp" +
" && (ls /etc/apache2/pems/" + pac + ".chain.pem >/dev/null 2>&1 || sed -i '/SSLCertificateChain.*" + pac + "/d' " + "/etc/apache2/sites-available/" + domName + ".tmp )" +

View File

@ -7,7 +7,7 @@
ServerName {DOM_HOSTNAME}
ServerAlias *.{DOM_HOSTNAME}
ServerAdmin {DOM_USERNAME}@{HIVE}.hostsharing.net
ServerAdmin webmaster@{DOM_HOSTNAME}
SuexecUserGroup {DOM_USERNAME} {PAC}
@ -24,15 +24,15 @@
AllowOverride AuthConfig FileInfo Indexes Limit
</Directory>
<Location /cgi-bin/>
<Directory /home/doms/{DOM_HOSTNAME}/cgi-bin/>
SetHandler cgi-script
Options +ExecCGI -Indexes -MultiViews
</Location>
</Directory>
<Location /fastcgi-bin/>
<Directory /home/doms/{DOM_HOSTNAME}/fastcgi-bin/>
SetHandler fcgid-script
Options +ExecCGI -Indexes -MultiViews
</Location>
</Directory>
RewriteEngine On
RewriteOptions Inherit
@ -42,12 +42,14 @@
RewriteCond %{HTTP_HOST} ^(.+)\.{DOM_HOSTNAME}\.?(:80)?$ [novary]
RewriteCond /home/doms/{DOM_HOSTNAME}/subs/${tolower:%1} -d
RewriteRule ^(.*) /home/doms/{DOM_HOSTNAME}/subs/${tolower:%1}$1 [last]
<!-- BEGIN: iterate -->
RewriteCond %{REQUEST_URI} !^/cgi-bin/
RewriteCond %{REQUEST_URI} !^/fastcgi-bin/
RewriteCond %{HTTP_HOST} ^(.+)\.{DOM_HOSTNAME}\.?(:80)?$ [novary]
RewriteCond /home/doms/{DOM_HOSTNAME}/subs/${tolower:%1} !-d
RewriteRule ^(.*) - [redirect=404,last]
<!-- END: iterate -->
AddType application/x-httpd-php .php .php5 .php4 .php3
Action application/x-httpd-php /fastcgi-bin/phpstub
@ -100,12 +102,14 @@
RewriteCond %{HTTP_HOST} ^(.+)\.{DOM_HOSTNAME}\.?(:443)?$ [novary]
RewriteCond /home/doms/{DOM_HOSTNAME}/subs-ssl/${tolower:%1} -d
RewriteRule ^(.*) /home/doms/{DOM_HOSTNAME}/subs-ssl/${tolower:%1}$1 [last]
<!-- BEGIN: nosubdomainfallbackforhttps -->
RewriteCond %{REQUEST_URI} !^/cgi-bin/
RewriteCond %{REQUEST_URI} !^/fastcgi-bin/
RewriteCond %{HTTP_HOST} ^(.+)\.{DOM_HOSTNAME}\.?(:443)?$ [novary]
RewriteCond /home/doms/{DOM_HOSTNAME}/subs-ssl/${tolower:%1} !-d
RewriteRule ^(.*) - [redirect=404,last]
<!-- END: nosubdomainfallbackforhttps -->
AddType application/x-httpd-php .php .php5 .php4 .php3
Action application/x-httpd-php /fastcgi-bin/phpstub

View File

@ -7,7 +7,7 @@
ServerName {DOM_HOSTNAME}
ServerAlias *.{DOM_HOSTNAME}
ServerAdmin {DOM_USERNAME}@{HIVE}.hostsharing.net
ServerAdmin webmaster@{DOM_HOSTNAME}
SuexecUserGroup {DOM_USERNAME} {PAC}
@ -21,13 +21,13 @@
AllowOverride AuthConfig FileInfo Indexes Limit
</Directory>
<Location /cgi-bin/>
<Directory /home/doms/{DOM_HOSTNAME}/cgi-bin/>
Redirect 501 /
</Location>
</Directory>
<Location /fastcgi-bin/>
<Directory /home/doms/{DOM_HOSTNAME}/fastcgi-bin/>
Redirect 501 /
</Location>
</Directory>
RewriteEngine On
RewriteOptions Inherit
@ -35,9 +35,11 @@
RewriteCond %{HTTP_HOST} ^(.+)\.{DOM_HOSTNAME}\.?(:80)?$ [novary]
RewriteCond /home/doms/{DOM_HOSTNAME}/subs/${tolower:%1} -d
RewriteRule ^(.*) /home/doms/{DOM_HOSTNAME}/subs/${tolower:%1}$1 [last]
<!-- BEGIN: iterate --> RewriteCond %{HTTP_HOST} ^(.+)\.{DOM_HOSTNAME}\.?(:80)?$ [novary]
RewriteCond /home/doms/{DOM_HOSTNAME}/subs/${tolower:%1} !-d
RewriteRule ^(.*) - [redirect=404,last]
<!-- END: iterate -->
</VirtualHost>
@ -84,6 +86,7 @@
<!-- BEGIN: nosubdomainfallbackforhttps --> RewriteCond %{HTTP_HOST} ^(.+)\.{DOM_HOSTNAME}\.?(:443)?$ [novary]
RewriteCond /home/doms/{DOM_HOSTNAME}/subs-ssl/${tolower:%1} !-d
RewriteRule ^(.*) - [redirect=404,last]
<!-- END: nosubdomainfallbackforhttps -->
</VirtualHost>
<!-- END: main -->

View File

@ -29,13 +29,11 @@ public class PacProcessorFactory implements EntityProcessorFactory {
EntityManager em, T entity) throws ProcessorException {
Pac pac = (Pac) entity;
String pacName = pac.getName();
// String customerEMail = pac.getCustomer().getContractualContact().getEmail();
Hive hive = pac.getHive();
UnixUser unixUser = getPacAdminUser(pac);
String password = PasswordTool.generatePassword();
Map<String, String> hiveValues = fillHiveValues(hive);
List<Map<String, String>> pacValuesList = fillPacValuesList(hive, null);
// Map<String, String> emailVars = fillEMailValues(pacName, customerEMail, password);
Processor priProcessor = new CompoundProcessor(
createAddUserProc(pacName, unixUser, password),
createSetQuotaProc(pac),
@ -46,20 +44,24 @@ public class PacProcessorFactory implements EntityProcessorFactory {
createProftpdConfProc(hiveValues, pacValuesList),
createMakePacDirectoryStructure(unixUser),
createIfUp(pacName),
createHttpdVirtualProc(pacName, pacValuesList));
createHttpdVirtualProc(pacName, pacValuesList),
createAccountingRulesProc());
WaitingTasksProcessor secProcessor = new WaitingTasksProcessor(priProcessor);
// secProcessor.appendProcessor(pac.getHiveName(), createSendEMailProc(pacName, customerEMail, emailVars), "send email to customer");
return secProcessor;
}
private Processor createAccountingRulesProc() {
return new ShellProcessor("mk-iptables-rules Accounting");
}
private Processor createHttpdVirtualProc(
String pacName, List<Map<String, String>> pacValuesList) throws ProcessorException {
Processor domSetupProcessor = new CompoundProcessor(
new CreateFileProcessor("/de/hsadmin/mods/pac/httpd-virtual.jtpl", new HashMap<String, String>(), pacValuesList.iterator(), "/etc/apache2/virtual.conf.tmp", "root", "root", "644", true),
new ShellProcessor("ls /etc/apache2/pems/" + pacName + ".pem >/dev/null 2>&1 " + "&& sed -i '/SSLCertificate.*default/d' " + "/etc/apache2/apache.conf.tmp"
+ " && (ls /etc/apache2/pems/" + pacName + ".chain.pem >/dev/null 2>&1"
+ " || sed -i '/SSLCertificateChain.*" + pacName + "/d' "/etc/apache2/virtual.conf.tmp)"
+ " || sed -i '/SSLCertificate.*" + pacName"/d' " + "/etc/apache2/virtual.conf.tmp"),
+ " || sed -i '/SSLCertificateChain.*" + pacName + "/d' " + "/etc/apache2/virtual.conf.tmp)"
+ " || sed -i '/SSLCertificate.*" + pacName + "/d' " + "/etc/apache2/virtual.conf.tmp"),
new ShellProcessor("(diff -q /etc/apache2/apache.conf.tmp /etc/apache2/apache.conf"
+ " && rm /etc/apache2/apache.conf.tmp)"
+ " || invoke-rc.d apache2 reload >/dev/null 2>&1"));
@ -85,7 +87,8 @@ public class PacProcessorFactory implements EntityProcessorFactory {
createNetworkInterfacesProc(hiveValues, pacValuesList),
createSudouersProc(hiveValues, pacValuesList),
createProftpdConfProc(hiveValues, pacValuesList),
createHttpdVirtualProc(pac.getName(), pacValuesList)));
createHttpdVirtualProc(pac.getName(), pacValuesList),
createAccountingRulesProc()));
waitingProcessor.appendProcessor(pac.getHiveName(), createDelUserProc(pac.getName()), "remove packet");
return waitingProcessor;
}
@ -155,11 +158,13 @@ public class PacProcessorFactory implements EntityProcessorFactory {
String username = unixUser.getName();
return new ShellProcessor("chmod 711 " + homedir + " && " +
"su -l " + username + " -s \"/bin/bash\" -c \"mkdir -p " +
homedir + "/.bak " +
homedir + "/doms " +
homedir + "/etc " +
homedir + "/users " +
homedir + "/var " +
"\" && " +
"chmod 0700 " + homedir + "/.bak && " +
"chown httpd " + homedir + "/doms && " +
"chmod 1550 " + homedir + "/doms && " +
"chmod 2700 " + homedir + "/etc && " +
@ -168,16 +173,6 @@ public class PacProcessorFactory implements EntityProcessorFactory {
);
}
// private Processor createSendEMailProc(String pacName,
// String customerEMail, Map<String, String> emailVars) throws ProcessorException {
// return new MailerProcessor(
// customerEMail,
// "Zugangsdaten des neue Hostsharing Pakets " + pacName,
// "/de/hsadmin/mods/pac/email_new_pac_account.jtpl",
// emailVars
// );
// }
private Processor createIfUp(String pacName) {
return new ShellProcessor("ifup eth0:" + pacName);
}
@ -224,13 +219,4 @@ public class PacProcessorFactory implements EntityProcessorFactory {
return pacValuesList;
}
// private Map<String, String> fillEMailValues(String pacName,
// String customerEMail, String password) {
// Map<String, String> emailVars = new HashMap<String, String>();
// emailVars.put("PAC", pacName);
// emailVars.put("PASSWORD", password);
// emailVars.put("CUST_EMAIL", customerEMail);
// return emailVars;
// }
}