App-Acmeman
view release on metacpan or search on metacpan
- Fix the "apache" source
2.01 2019-09-11
- Fix the "file" source (inverted logic was assumed)
- Implement the --version option.
2.00 2019-08-26
- Released on CPAN
- Parses entire Apache configuration. In particular, correctly
handles Include statements and expands macros (the Use statement).
1.11 2019-08-15
- Fix acmeman --setup
1.10 2019-03-15
- Support for multiple 'source' statements.
1.09 2019-03-14
To use the created certificate, create a new B<VirtualHost> block that
contains the following statement:
Use LetsEncryptServer DOMAIN
where I<DOMAIN> is the name used in the B<ServerName> statement of the plain
HTTP configuration. Copy the B<ServerAlias> statements (if any), and add the
rest of configuration statements. Note, that you need not use the
B<ServerName> statement, as it will be included when the B<LetsEncryptServer>
macro is expanded.
Example:
<VirtualHost *:80>
ServerName example.org
ServerAlias www.example.com
Use LetsEncryptChallenge
...
</VirtualHost>
inc/ExtUtils/AutoInstall.pm view on Meta::CPAN
$CPAN::Config->{$opt} = $arg;
}
local $CPAN::Config->{prerequisites_policy} = 'follow';
while (my ($pkg, $ver) = splice(@modules, 0, 2)) {
MY::preinstall($pkg, $ver) or next if defined &MY::preinstall;
print "*** Installing $pkg...\n";
my $obj = CPAN::Shell->expand(Module => $pkg);
my $success = 0;
if ($obj and defined(_version_check($obj->cpan_version, $ver))) {
my $pathname = $pkg; $pathname =~ s/::/\\W/;
foreach my $inc (grep { m/$pathname.pm/i } keys(%INC)) {
delete $INC{$inc};
}
$obj->force('install') if $args{force};
lib/App/Acmeman/Apache/Layout/slackware.pm view on Meta::CPAN
}
}
sub post_setup {
my ($self,$filename) = @_;
my $master_config_file = $self->config_file;
my $app = new Apache::Config::Preproc(
$master_config_file,
'-no-comment-grouping',
-expand => [ 'locus',
{ 'include' => [ server_root => $self->apache->server_root ] },
{ 'macro' => [
'keep' => [ qw(LetsEncryptChallenge
LetsEncryptReference
LetsEncryptSSL)
]
]
}
])
or do {
lib/App/Acmeman/Apache/Layout/slackware.pm view on Meta::CPAN
$self->apache_modules(undef);
}
sub run_commands_for_file {
my ($self, $file) = @_;
my @commands = sort { $a->{line} <=> $b->{line} } @{$self->{_edits}{$file}};
my $app = new Apache::Config::Preproc(
$file,
'-no-comment-grouping',
-expand => [ 'locus' ])
or do {
error("can't parse apache configuration file $file: $Apache::Admin::Config::ERROR");
return;
};
foreach my $node ($app->select) {
last if (!@commands);
my $line = ($node->locus->filelines(($node->locus->filenames)[0]))[0];
if ($commands[0]->{line} == $line) {
my $cmd = shift @commands;
lib/App/Acmeman/Source/Apache.pm view on Meta::CPAN
$arg =~ s{\\([\\"])}{$1}g;
}
return $arg;
}
sub examine_http_config {
my ($self, $file) = @_;
my $app = new Apache::Config::Preproc(
$file,
-expand => [ 'compact',
{ 'include' => [ server_root => $self->server_root ] },
{ 'macro' => [
'keep' => [ qw(LetsEncryptChallenge
LetsEncryptReference
LetsEncryptSSL)
]
]
}
])
or do {
lib/App/Acmeman/Source/Apache.pm view on Meta::CPAN
prefix => 'note');
}
return 1;
}
# Check if LetsEncryptSSL macro is defined
sub is_letsencryptssl_defined {
my ($self) = @_;
my $app = new Apache::Config::Preproc(
$self->layout->config_file,
-expand => [ 'compact',
{ 'include' => [ server_root => $self->server_root ] },
{ 'macro' => [
'keep' => [ qw(LetsEncryptChallenge
LetsEncryptReference
LetsEncryptSSL)
]
]
}
]);
if ($app) {
( run in 1.132 second using v1.01-cache-2.11-cpan-97f6503c9c8 )