diff options
Diffstat (limited to 'lib/App/Acmeman/Apache/Layout/debian.pm')
-rw-r--r-- | lib/App/Acmeman/Apache/Layout/debian.pm | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/App/Acmeman/Apache/Layout/debian.pm b/lib/App/Acmeman/Apache/Layout/debian.pm new file mode 100644 index 0000000..663883e --- /dev/null +++ b/lib/App/Acmeman/Apache/Layout/debian.pm @@ -0,0 +1,40 @@ +package App::Acmeman::Apache::Layout::debian; +use strict; +use warnings; +use Carp; +use parent 'App::Acmeman::Apache::Layout'; +use File::Basename; + +our $PRIORITY = 20; + +sub new { + my $class = shift; + my $ap = shift; + + if ($ap->server_config eq '/etc/apache2/apache2.conf') { + return $class->SUPER::new($ap, + restart_command => '/usr/sbin/service apache2 restart' + ); + } +} + +sub incdir { + for my $dir ('/etc/apache2/conf-available', '/etc/apache2/conf.d') { + return $dir if -d $dir; + } + carp 'none of the expected configuration directories found; falling back to /etc/apache2'; + return '/etc/apache2'; +} + +sub post_setup { + my ($self,$filename) = @_; + my $dir = dirname($filename); + my $name = basename($filename); + + if ($dir eq '/etc/apache2/conf-available') { + chdir('/etc/apache2/conf-enabled'); + symlink "../conf-available/$name", $name; + } +} + +1; |