App-Acmeman

 view release on metacpan or  search on metacpan

lib/App/Acmeman/Apache/Layout/slackware.pm  view on Meta::CPAN

		     }
	           ])
	or do {
	    debug(1, "can't parse apache configuration: $Apache::Admin::Config::ERROR");
	    return;
    };

    my $need_macro_module = !$self->apache_modules('macro');
    my $letsencrypt_macro_loaded = grep {
	$_->value =~ /^letsencrypt(?:challenge|reference|ssl)/i
    } $app->select('section', 'Macro');

    debug(3, "Need macro module? ".($need_macro_module?'yes':'no'));
    debug(3, "Need letsencrypt macro? ".
          ($letsencrypt_macro_loaded==0
	   ? 'yes'
	   : ($letsencrypt_macro_loaded==3
	      ? 'no' : 'perhaps')));

    my $last_loadmodule;
    my $stop_search;

lib/App/Acmeman/Source/Apache.pm  view on Meta::CPAN

	    unless ($self->mkpath($dir)) {
		return 0;
	    }
	}

	$self->layout->pre_setup;

	open(my $fd, '>', $filename)
	    or croak "can't open \"$filename\" for writing: $!";
	print $fd <<EOT;
<Macro LetsEncryptChallenge>
    Alias /.well-known/acme-challenge $challenge_dir
    <Directory $challenge_dir>
        Options None
        Require all granted
    </Directory>
    <IfModule mod_rewrite.c>
        RewriteEngine On
	RewriteRule /.well-known/acme-challenge - [L]
    </IfModule>
</Macro>

<Macro LetsEncryptReference \$domain>
    Use LetsEncryptChallenge
    Alias /.dummy/\$domain /dev/null
</Macro>

<Macro LetsEncryptSSL \$domain>
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLHonorCipherOrder on
    SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:E...
    SSLCertificateFile $acme_dir/\$domain/cert.pem
    SSLCertificateKeyFile $acme_dir/\$domain/privkey.pem
    SSLCACertificateFile $acme_dir/$App::Acmeman::letsencrypt_root_cert_basename
</Macro>

<Macro LetsEncryptServer \$domain>
    ServerName \$domain
    Use LetsEncryptSSL \$domain
</Macro>

EOT
;
	close $fd;
	error("created file \"$filename\"", prefix => 'note');
	
	$self->layout->post_setup($filename);
    }

    my $pfx = "please,";



( run in 0.298 second using v1.01-cache-2.11-cpan-fd5d4e115d8 )