HSAdmin Backend Domains, E-Mail, Datenbanken
Peter Hormanns
2011-07-27 0b69299e7af89a3139742c865a767dae0dcf3db4
proftpd configuration
1 files modified
1 files added
98 ■■■■■ changed files
hsarback/src/de/hsadmin/mods/pac/PacProcessorFactory.java 9 ●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/pac/proftpd-conf.jtpl 89 ●●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/pac/PacProcessorFactory.java
@@ -66,6 +66,7 @@
        Processor hostsAppender = new TemplateProcessor("/de/hsadmin/mods/pac/hosts.jtpl", hiveValues, pacValuesList.iterator(), "/etc/hosts", true); 
        Processor interfacesAppender = new TemplateProcessor("/de/hsadmin/mods/pac/interfaces.jtpl", hiveValues, pacValuesList.iterator(), "/etc/network/interfaces", true); 
        Processor sudoersAppender = new TemplateProcessor("/de/hsadmin/mods/pac/sudoers.jtpl", hiveValues, pacValuesList.iterator(), "/etc/sudoers", true); 
        Processor ftpdconfAppender = new TemplateProcessor("/de/hsadmin/mods/pac/proftpd-conf.jtpl", hiveValues, pacValuesList.iterator(), "/etc/proftpd/proftpd.conf", true);
        String password = PwGenerator.generatePassword(7, flagBuilder.build(), 100, random);
        Processor newUsersProc = new ShellProcessor(
                "newusers", pacName + ":" + password  + ":"
@@ -98,7 +99,13 @@
                            "Zugangsdaten des neue Hostsharing Pakets " + pacName, 
                            template.out())
                );
            Processor priProcessor = new CompoundProcessor(newUsersProc, hostsAppender, interfacesAppender, sudoersAppender, mkdirsProc);
            Processor priProcessor = new CompoundProcessor(
                    newUsersProc,
                    hostsAppender,
                    interfacesAppender,
                    sudoersAppender,
                    ftpdconfAppender,
                    mkdirsProc);
            WaitingTasksProcessor secProcessor = new WaitingTasksProcessor(priProcessor);
            secProcessor.appendProcessor(pac.getHiveName(), emailPasswordProc, "send email to customer");
            return secProcessor;
hsarback/src/de/hsadmin/mods/pac/proftpd-conf.jtpl
New file
@@ -0,0 +1,89 @@
<!-- BEGIN: main --># This proftpd config file is generated by hsadmin.
Include                         /etc/proftpd/modules.conf
ServerName                      "Hostsharing eG"
ServerType                      standalone
DeferWelcome                    off
UseIPv6                         off
UseReverseDNS                   off
IdentLookups                    off
ShowSymlinks                    on
MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    on
AllowOverwrite                  on
RequireValidShell               off
DefaultRoot                     ~
AllowForeignAddress             on
TimeoutNoTransfer               900
TimeoutStalled                  900
TimeoutIdle                     1800
DisplayLogin                    welcome.msg
ListOptions                     "-la"
DenyFilter                      \*.*/
Port                            21
MaxInstances                    128
User                            nobody
Group                           nogroup
LoadModule mod_tls.c
TLSEngine on
TLSProtocol SSLv23 TLSv1
TLSRequired off
TLSVerifyClient off
TLSRSACertificateFile /etc/proftpd/ftp-cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ftp-key.pem
TLSCertificateChainFile /etc/proftpd/ftp-chain.pem
LogFormat default       "%h %l %u %t \"%r\" %s %b"
LogFormat auth          "%v [%P] %h %t \"%r\" %s"
LogFormat write         "%h %l %u %t \"%r\" %s %b"
DelayEngine off
PassivePorts                    60000 65534
<Directory /*>
  Umask                         022  022
  AllowOverwrite                on
</Directory>
<!-- BEGIN: iterate -->
#----------------------------------------------------------------------
# {PAC}.hostsharing.net
<VirtualHost {PAC_IP}>
        DefaultRoot             ~ {PAC}
        ServerName              "Hostsharing eG"
        AllowOverwrite          on
        AllowForeignAddress     on
        RequireValidShell       off
        <Limit LOGIN>
                Order           allow,deny
                AllowGroup      {PAC}
                DenyAll
        </Limit>
        <Anonymous /home/pacs/{PAC}/ftp>
                User    {PAC}
                Group   {PAC}
                UserAlias       anonymous {PAC}
                UserAlias       ftp {PAC}
                DirFakeUser     on ftp
                DirFakeGroup    on ftp
                DirFakeMode     000
                AuthAliasOnly   on
                <Limit WRITE>
                        DenyAll
                </Limit>
        </Anonymous>
</VirtualHost>
<!-- END: iterate -->
<!-- END: main -->